diff --git a/.classpath b/.classpath
index 6da71800..6ea45b44 100644
--- a/.classpath
+++ b/.classpath
@@ -1,7 +1,6 @@
-
@@ -31,5 +30,6 @@
+
diff --git a/.gitignore b/.gitignore
index e9956083..63147709 100644
--- a/.gitignore
+++ b/.gitignore
@@ -49,6 +49,19 @@ footprint/
interiorlayout/
clientdata/quest/
+# PSWG Object Databases
+odb/building/je.info.*
+odb/creature/je.info.*
+odb/doids/je.info.*
+odb/guild/je.info.*
+odb/mails/je.info.*
+odb/oids/je.info.*
+odb/chatRooms/je.info.*
+odb/resourcehistory/je.info.*
+odb/resourceroots/je.info.*
+odb/resources/je.info.*
+odb/auction/je.info.*
+
# External tool builders
.externalToolBuilders/
@@ -199,4 +212,4 @@ pip-log.txt
#############
## PyCharm
#############
-.idea
\ No newline at end of file
+.idea
diff --git a/README.md b/README.md
index 24abfa1e..ff4c8504 100644
--- a/README.md
+++ b/README.md
@@ -12,8 +12,8 @@ The Engine(NGEngine) is a closed source library and is only licensed for use wit
Requirements for Building the Core:
========
-- JDK 7
-- An IDE like Eclipse Juno
+- JDK 8
+- A Java 8 compatible IDE like Eclipse Kepler (https://wiki.eclipse.org/JDT/Eclipse_Java_8_Support_For_Kepler)
- A valid Star Wars Galaxies Installation with the final patch
- Postgresql server (www.postgresql.org)
- TRE Explorer(http://forum.modsource.org/index.php?PHPSESSID=bf02fd8244123807f4716c1686abb59f&action=dlattach;topic=33.0;attach=49)
diff --git a/nge.cfg b/nge.cfg
index 328f9018..036d6202 100644
--- a/nge.cfg
+++ b/nge.cfg
@@ -11,3 +11,6 @@ DB.URL=localhost
DB.PASS=nge
GALAXY_ID=2
GALAXY_NAME=Local Connection
+XPMULTIPLIER=1.0
+MAXNUMBEROFCHARACTERS=2
+MOTD=Welcome to PSWG Test Center!
\ No newline at end of file
diff --git a/ngengine_public.jar b/ngengine_public.jar
index ebf3d16a..8dbc2777 100644
Binary files a/ngengine_public.jar and b/ngengine_public.jar differ
diff --git a/odb/WipeAllOdbFolders_ONLY_EXECUTE_IN_ODB_FOLDER.bat b/odb/WipeAllOdbFolders_ONLY_EXECUTE_IN_ODB_FOLDER.bat
new file mode 100644
index 00000000..ebbd9e09
--- /dev/null
+++ b/odb/WipeAllOdbFolders_ONLY_EXECUTE_IN_ODB_FOLDER.bat
@@ -0,0 +1,19 @@
+:: Odb file wiper by Charon
+:: Use at your own risk!
+:: Do NOT execute outside the odb folder
+:: because it deletes files in subfolders!
+
+@echo off
+cls
+setlocal EnableDelayedExpansion
+
+set /a count=0
+
+for /d %%d in (*) do (
+ set /a count+=1
+ @echo !count!. %%d
+ del "%%d\*.*" /s/q
+ echo. 2>%%d\placeholder.txt
+)
+setlocal DisableDelayedExpansion
+
diff --git a/odb/creature/je.info.0.1 b/odb/auction/placeholder.txt
similarity index 100%
rename from odb/creature/je.info.0.1
rename to odb/auction/placeholder.txt
diff --git a/odb/chatRooms/placeholder.txt b/odb/chatRooms/placeholder.txt
new file mode 100644
index 00000000..e69de29b
diff --git a/odb/doids/placeholder.txt b/odb/doids/placeholder.txt
new file mode 100644
index 00000000..e69de29b
diff --git a/odb/oids/placeholder.txt b/odb/oids/placeholder.txt
new file mode 100644
index 00000000..e69de29b
diff --git a/odb/resourcehistory/placeholder.txt b/odb/resourcehistory/placeholder.txt
new file mode 100644
index 00000000..e69de29b
diff --git a/odb/resourceroots/placeholder.txt b/odb/resourceroots/placeholder.txt
new file mode 100644
index 00000000..e69de29b
diff --git a/odb/resources/placeholder.txt b/odb/resources/placeholder.txt
new file mode 100644
index 00000000..e69de29b
diff --git a/options.cfg b/options.cfg
index 4f6d91ad..5a3a7f8e 100644
--- a/options.cfg
+++ b/options.cfg
@@ -1,2 +1,3 @@
LOAD.SNAPSHOT_OBJECTS=1
-LOAD.BUILDOUT_OBJECTS=1
\ No newline at end of file
+LOAD.BUILDOUT_OBJECTS=1
+LOAD.RESOURCE.SYSTEM=1
\ No newline at end of file
diff --git a/scripts/buffs/armor_break.py b/scripts/buffs/armor_break.py
index 288a2db0..f0a2f58e 100644
--- a/scripts/buffs/armor_break.py
+++ b/scripts/buffs/armor_break.py
@@ -1,12 +1,14 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
actor.addSkillMod('expertise_innate_reduction_all_player', 6 * buff.getStacks())
actor.addSkillMod('expertise_innate_reduction_all_mob', 600 * buff.getStacks())
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
actor.deductSkillMod('expertise_innate_reduction_all_mob', 600 * buff.getStacks())
actor.deductSkillMod('expertise_innate_reduction_all_player', 6 * buff.getStacks())
return
-
diff --git a/scripts/buffs/bh_armor_sprint_1.py b/scripts/buffs/bh_armor_sprint_1.py
index e9637ebd..5f39a64d 100644
--- a/scripts/buffs/bh_armor_sprint_1.py
+++ b/scripts/buffs/bh_armor_sprint_1.py
@@ -1,12 +1,15 @@
import sys
-def setup(core, actor, buff):
+def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'movement', 6)
core.skillModService.addSkillMod(actor, 'movement_resist_snare', 100)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'movement', 6)
core.skillModService.deductSkillMod(actor, 'movement_resist_snare', 100)
diff --git a/scripts/buffs/bh_cover_1.py b/scripts/buffs/bh_cover_1.py
index b3ca84ce..b68de518 100644
--- a/scripts/buffs/bh_cover_1.py
+++ b/scripts/buffs/bh_cover_1.py
@@ -1,12 +1,15 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'expertise_damage_all', 10)
core.skillModService.addSkillMod(actor, 'expertise_glancing_blow_ranged', 40)
core.skillModService.addSkillMod(actor, 'invis', 1)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'expertise_damage_all', 10)
core.skillModService.deductSkillMod(actor, 'expertise_glancing_blow_ranged', 40)
core.skillModService.deductSkillMod(actor, 'invis', 1)
diff --git a/scripts/buffs/bh_power_sprint.py b/scripts/buffs/bh_power_sprint.py
new file mode 100644
index 00000000..e7550d0d
--- /dev/null
+++ b/scripts/buffs/bh_power_sprint.py
@@ -0,0 +1,16 @@
+import sys
+
+def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
+ core.skillModService.addSkillMod(actor, 'movement', 6)
+ core.skillModService.addSkillMod(actor, 'movement_resist_snare', 100)
+
+ return
+
+def remove(core, actor, buff):
+ core.skillModService.deductSkillMod(actor, 'movement', 6)
+ core.skillModService.deductSkillMod(actor, 'movement_resist_snare', 100)
+
+ return
\ No newline at end of file
diff --git a/scripts/buffs/bh_prescience.py b/scripts/buffs/bh_prescience.py
index e09c02e5..c60417a0 100644
--- a/scripts/buffs/bh_prescience.py
+++ b/scripts/buffs/bh_prescience.py
@@ -2,7 +2,10 @@ import sys
def setup(core, actor, buff):
return
+
+def add(core, actor, buff):
+ return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
return
\ No newline at end of file
diff --git a/scripts/buffs/bh_return_fire_1.py b/scripts/buffs/bh_return_fire_1.py
index 7a0f25b4..95612d87 100644
--- a/scripts/buffs/bh_return_fire_1.py
+++ b/scripts/buffs/bh_return_fire_1.py
@@ -2,11 +2,14 @@ import sys
def setup(core, actor, buff):
buff.setDuration(buff.getDuration()+(actor.getSkillModBase('expertise_buff_duration_line_bh_return_fire')))
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'expertise_bh_return_fire_1', 1)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'expertise_bh_return_fire_1', 1)
return
\ No newline at end of file
diff --git a/scripts/buffs/bh_shields.py b/scripts/buffs/bh_shields.py
new file mode 100644
index 00000000..36115d7f
--- /dev/null
+++ b/scripts/buffs/bh_shields.py
@@ -0,0 +1,12 @@
+import sys
+
+def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
+ core.skillModService.addSkillMod(actor, 'combat_divide_damage_taken', 1)
+ return
+
+def remove(core, actor, buff):
+ core.skillModService.deductSkillMod(actor, 'combat_divide_damage_taken', 1)
+ return
\ No newline at end of file
diff --git a/scripts/buffs/bh_shields_charged.py b/scripts/buffs/bh_shields_charged.py
new file mode 100644
index 00000000..d66644af
--- /dev/null
+++ b/scripts/buffs/bh_shields_charged.py
@@ -0,0 +1,13 @@
+import sys
+
+def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
+ core.skillModService.addSkillMod(actor, 'combat_multiply_damage_given', 1)
+ return
+
+def remove(core, actor, buff):
+ core.skillModService.deductSkillMod(actor, 'combat_multiply_damage_given', 1)
+ return
+
\ No newline at end of file
diff --git a/scripts/buffs/bleeding.py b/scripts/buffs/bleeding.py
index e09c02e5..c60417a0 100644
--- a/scripts/buffs/bleeding.py
+++ b/scripts/buffs/bleeding.py
@@ -2,7 +2,10 @@ import sys
def setup(core, actor, buff):
return
+
+def add(core, actor, buff):
+ return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
return
\ No newline at end of file
diff --git a/scripts/buffs/buildabuff_inspiration.py b/scripts/buffs/buildabuff_inspiration.py
index bfcff248..35a49556 100644
--- a/scripts/buffs/buildabuff_inspiration.py
+++ b/scripts/buffs/buildabuff_inspiration.py
@@ -2,26 +2,29 @@ from resources.common import BuffBuilder
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
buffWorkshop = actor.getAttachment('buffWorkshop')
if buffWorkshop is None:
return
- buff.setDuration(3600) #1 hour
-
- for BuffBuilder in buffWorkshop:
- core.skillModService.addSkillMod(actor, BuffBuilder.getStatAffects(), BuffBuilder.getTotalAffected())
- print (' gave the skill mod ' + BuffBuilder.getStatAffects() + ' with affect of ' + str(BuffBuilder.getTotalAffected()))
- 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 removeBuff(core, actor, buff):
- for BuffBuilder in actor.getAttachment('buffWorkshop'):
- core.skillModService.deductSkillMod(actor, BuffBuilder.getStatAffects(), BuffBuilder.getTotalAffected())
- print ('removed skill mod!')
- return
-
- actor.setAttachment('buffWorkshop', 'none')
- return
\ No newline at end of file
+def remove(core, actor, buff):
+ if actor.getAttachment('buffWorkshop') is not None:
+
+ for BuffItem in actor.getAttachment('buffWorkshop'):
+ core.skillModService.deductSkillMod(actor, BuffItem.getSkillName(), BuffItem.getAffectAmount())
+
+ actor.setAttachment('buffWorkshop', None)
+ return
\ No newline at end of file
diff --git a/scripts/buffs/co_base_of_operations.py b/scripts/buffs/co_base_of_operations.py
index 894c389c..8c8eb346 100644
--- a/scripts/buffs/co_base_of_operations.py
+++ b/scripts/buffs/co_base_of_operations.py
@@ -1,11 +1,14 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'expertise_innate_protection_all', 1000)
core.skillModService.addSkillMod(actor, 'expertise_critical_niche_all', 5)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'expertise_innate_protection_all', 1000)
core.skillModService.deductSkillMod(actor, 'expertise_critical_niche_all', 5)
return
diff --git a/scripts/buffs/co_first_aid_training.py b/scripts/buffs/co_first_aid_training.py
index b0ffe0f9..8679678c 100644
--- a/scripts/buffs/co_first_aid_training.py
+++ b/scripts/buffs/co_first_aid_training.py
@@ -1,10 +1,13 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'expertise_healing_all', 20)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'expertise_healing_all', 20)
return
\ No newline at end of file
diff --git a/scripts/buffs/co_position_secured.py b/scripts/buffs/co_position_secured.py
index b0b2781c..0885ccd9 100644
--- a/scripts/buffs/co_position_secured.py
+++ b/scripts/buffs/co_position_secured.py
@@ -1,6 +1,9 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
actor.setSpeedMultiplierMod(0)
@@ -22,7 +25,7 @@ def setup(core, actor, buff):
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
actor.setSpeedMultiplierMod(1)
diff --git a/scripts/buffs/co_stand_fast.py b/scripts/buffs/co_stand_fast.py
index 17563ff9..8f8be535 100644
--- a/scripts/buffs/co_stand_fast.py
+++ b/scripts/buffs/co_stand_fast.py
@@ -3,7 +3,9 @@ import sys
def setup(core, actor, buff):
if actor.getSkillMod('expertise_buff_duration_line_co_stand_fast'):
buff.setDuration(buff.getDuration() + actor.getSkillMod('expertise_buff_duration_line_co_stand_fast').getBase())
-
+ return
+
+def add(core, actor, buff):
if actor.getSkillMod('expertise_damage_decrease_percentage'):
core.skillModService.addSkillMod(actor, 'damage_decrease_percentage', (60 + actor.getSkillMod('expertise_damage_decrease_percentage').getBase()) / 2)
else:
@@ -11,7 +13,7 @@ def setup(core, actor, buff):
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
if actor.getSkillMod('expertise_damage_decrease_percentage'):
core.skillModService.deductSkillMod(actor, 'damage_decrease_percentage', (60 + actor.getSkillMod('expertise_damage_decrease_percentage').getBase()) / 2)
else:
diff --git a/scripts/buffs/en_action_regen.py b/scripts/buffs/en_action_regen.py
new file mode 100644
index 00000000..850186d0
--- /dev/null
+++ b/scripts/buffs/en_action_regen.py
@@ -0,0 +1,13 @@
+import sys
+
+def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
+ core.skillModService.addSkillMod(actor, 'expertise_action_weapon_melee', 60)
+
+ return
+
+def remove(core, actor, buff):
+ core.skillModService.deductSkillMod(actor, 'expertise_action_weapon_melee', 60)
+ return
\ No newline at end of file
diff --git a/scripts/buffs/en_debuff_thrill.py b/scripts/buffs/en_debuff_thrill.py
new file mode 100644
index 00000000..9a25438b
--- /dev/null
+++ b/scripts/buffs/en_debuff_thrill.py
@@ -0,0 +1,13 @@
+import sys
+
+def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
+ core.skillModService.addSkillMod(actor, 'critical_hit_vulnerable', 2)
+
+ return
+
+def remove(core, actor, buff):
+ core.skillModService.deductSkillMod(actor, 'critical_hit_vulnerable', 2)
+ return
\ No newline at end of file
diff --git a/scripts/buffs/en_debuff_thrill_1.py b/scripts/buffs/en_debuff_thrill_1.py
new file mode 100644
index 00000000..cbcb2ac4
--- /dev/null
+++ b/scripts/buffs/en_debuff_thrill_1.py
@@ -0,0 +1,13 @@
+import sys
+
+def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
+ core.skillModService.addSkillMod(actor, 'critical_hit_vulnerable', 4)
+
+ return
+
+def remove(core, actor, buff):
+ core.skillModService.deductSkillMod(actor, 'critical_hit_vulnerable', 4)
+ return
\ No newline at end of file
diff --git a/scripts/buffs/en_debuff_thrill_2.py b/scripts/buffs/en_debuff_thrill_2.py
new file mode 100644
index 00000000..6b887e82
--- /dev/null
+++ b/scripts/buffs/en_debuff_thrill_2.py
@@ -0,0 +1,13 @@
+import sys
+
+def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
+ core.skillModService.addSkillMod(actor, 'critical_hit_vulnerable', 6)
+
+ return
+
+def remove(core, actor, buff):
+ core.skillModService.deductSkillMod(actor, 'critical_hit_vulnerable', 6)
+ return
\ No newline at end of file
diff --git a/scripts/buffs/en_spiral_kick_snare.py b/scripts/buffs/en_spiral_kick_snare.py
new file mode 100644
index 00000000..2ee81fe9
--- /dev/null
+++ b/scripts/buffs/en_spiral_kick_snare.py
@@ -0,0 +1,12 @@
+import sys
+
+def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
+ core.skillModService.deductSkillMod(actor, 'movement', 5)
+ return
+
+def remove(core, actor, buff):
+ core.skillModService.addSkillMod(actor, 'movement', 5)
+ return
\ No newline at end of file
diff --git a/scripts/buffs/en_sprint.py b/scripts/buffs/en_sprint.py
new file mode 100644
index 00000000..288b25b1
--- /dev/null
+++ b/scripts/buffs/en_sprint.py
@@ -0,0 +1,15 @@
+import sys
+
+def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
+ core.skillModService.addSkillMod(actor, 'movement_resist_snare', 100)
+ core.skillModService.addSkillMod(actor, 'movement', 5)
+ return
+
+def remove(core, actor, buff):
+ core.skillModService.deductSkillMod(actor, 'movement', 5)
+ core.skillModService.deductSkillMod(actor, 'movement_resist_snare', 100)
+ return
+
\ No newline at end of file
diff --git a/scripts/buffs/en_sweeping_pirouette_root.py b/scripts/buffs/en_sweeping_pirouette_root.py
new file mode 100644
index 00000000..42418564
--- /dev/null
+++ b/scripts/buffs/en_sweeping_pirouette_root.py
@@ -0,0 +1,12 @@
+import sys
+
+def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
+ core.skillModService.deductSkillMod(actor, 'movement', 10)
+ return
+
+def remove(core, actor, buff):
+ core.skillModService.addSkillMod(actor, 'movement', 10)
+ return
\ No newline at end of file
diff --git a/scripts/buffs/en_unhealthy_fixation_debuff.py b/scripts/buffs/en_unhealthy_fixation_debuff.py
new file mode 100644
index 00000000..7dfe77af
--- /dev/null
+++ b/scripts/buffs/en_unhealthy_fixation_debuff.py
@@ -0,0 +1,12 @@
+import sys
+
+def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
+ core.skillModService.deductSkillMod(actor, 'en_unhealthy_stun', 1)
+ return
+
+def remove(core, actor, buff):
+ core.skillModService.addSkillMod(actor, 'en_unhealthy_stun', 1)
+ return
\ No newline at end of file
diff --git a/scripts/buffs/en_void_dance_buff.py b/scripts/buffs/en_void_dance_buff.py
new file mode 100644
index 00000000..3197e246
--- /dev/null
+++ b/scripts/buffs/en_void_dance_buff.py
@@ -0,0 +1,13 @@
+import sys
+
+def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
+ core.skillModService.addSkillMod(actor, 'expertise_glancing_blow_all', 60)
+
+ return
+
+def remove(core, actor, buff):
+ core.skillModService.deductSkillMod(actor, 'expertise_glancing_blow_all', 60)
+ return
\ No newline at end of file
diff --git a/scripts/buffs/en_void_dance_buff_1.py b/scripts/buffs/en_void_dance_buff_1.py
new file mode 100644
index 00000000..6a37025d
--- /dev/null
+++ b/scripts/buffs/en_void_dance_buff_1.py
@@ -0,0 +1,13 @@
+import sys
+
+def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
+ core.skillModService.addSkillMod(actor, 'expertise_glancing_blow_all', 65)
+
+ return
+
+def remove(core, actor, buff):
+ core.skillModService.deductSkillMod(actor, 'expertise_glancing_blow_all', 65)
+ return
\ No newline at end of file
diff --git a/scripts/buffs/en_void_dance_buff_2.py b/scripts/buffs/en_void_dance_buff_2.py
new file mode 100644
index 00000000..bcd31db8
--- /dev/null
+++ b/scripts/buffs/en_void_dance_buff_2.py
@@ -0,0 +1,13 @@
+import sys
+
+def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
+ core.skillModService.addSkillMod(actor, 'expertise_glancing_blow_all', 70)
+
+ return
+
+def remove(core, actor, buff):
+ core.skillModService.deductSkillMod(actor, 'expertise_glancing_blow_all', 70)
+ return
\ No newline at end of file
diff --git a/scripts/buffs/en_void_dance_buff_3.py b/scripts/buffs/en_void_dance_buff_3.py
new file mode 100644
index 00000000..e2d98d20
--- /dev/null
+++ b/scripts/buffs/en_void_dance_buff_3.py
@@ -0,0 +1,13 @@
+import sys
+
+def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
+ core.skillModService.addSkillMod(actor, 'expertise_glancing_blow_all', 75)
+
+ return
+
+def remove(core, actor, buff):
+ core.skillModService.deductSkillMod(actor, 'expertise_glancing_blow_all', 75)
+ return
\ No newline at end of file
diff --git a/scripts/buffs/flawless_bead_1.py b/scripts/buffs/flawless_bead_1.py
index 84123a88..9d402987 100644
--- a/scripts/buffs/flawless_bead_1.py
+++ b/scripts/buffs/flawless_bead_1.py
@@ -2,6 +2,9 @@ import sys
def setup(core, actor, buff):
return
+
+def add(core, actor, buff):
+ return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
return
\ No newline at end of file
diff --git a/scripts/buffs/flawless_bead_2.py b/scripts/buffs/flawless_bead_2.py
index 84123a88..9d402987 100644
--- a/scripts/buffs/flawless_bead_2.py
+++ b/scripts/buffs/flawless_bead_2.py
@@ -2,6 +2,9 @@ import sys
def setup(core, actor, buff):
return
+
+def add(core, actor, buff):
+ return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
return
\ No newline at end of file
diff --git a/scripts/buffs/flawless_bead_3.py b/scripts/buffs/flawless_bead_3.py
index 84123a88..9d402987 100644
--- a/scripts/buffs/flawless_bead_3.py
+++ b/scripts/buffs/flawless_bead_3.py
@@ -2,6 +2,9 @@ import sys
def setup(core, actor, buff):
return
+
+def add(core, actor, buff):
+ return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
return
\ No newline at end of file
diff --git a/scripts/buffs/fs_ae_dm_cc_0.py b/scripts/buffs/fs_ae_dm_cc_0.py
index 493481d7..2ee81fe9 100644
--- a/scripts/buffs/fs_ae_dm_cc_0.py
+++ b/scripts/buffs/fs_ae_dm_cc_0.py
@@ -1,10 +1,12 @@
import sys
def setup(core, actor, buff):
- actor.setSpeedMultiplierBase(0.5)
+ return
+
+def add(core, actor, buff):
+ core.skillModService.deductSkillMod(actor, 'movement', 5)
return
-def removeBuff(core, actor, buff):
- actor.setSpeedMultiplierBase(1)
- return
-
\ No newline at end of file
+def remove(core, actor, buff):
+ core.skillModService.addSkillMod(actor, 'movement', 5)
+ return
\ No newline at end of file
diff --git a/scripts/buffs/fs_ae_dm_cc_1.py b/scripts/buffs/fs_ae_dm_cc_1.py
index 493481d7..2ee81fe9 100644
--- a/scripts/buffs/fs_ae_dm_cc_1.py
+++ b/scripts/buffs/fs_ae_dm_cc_1.py
@@ -1,10 +1,12 @@
import sys
def setup(core, actor, buff):
- actor.setSpeedMultiplierBase(0.5)
+ return
+
+def add(core, actor, buff):
+ core.skillModService.deductSkillMod(actor, 'movement', 5)
return
-def removeBuff(core, actor, buff):
- actor.setSpeedMultiplierBase(1)
- return
-
\ No newline at end of file
+def remove(core, actor, buff):
+ core.skillModService.addSkillMod(actor, 'movement', 5)
+ return
\ No newline at end of file
diff --git a/scripts/buffs/fs_ae_dm_cc_2.py b/scripts/buffs/fs_ae_dm_cc_2.py
index 493481d7..2ee81fe9 100644
--- a/scripts/buffs/fs_ae_dm_cc_2.py
+++ b/scripts/buffs/fs_ae_dm_cc_2.py
@@ -1,10 +1,12 @@
import sys
def setup(core, actor, buff):
- actor.setSpeedMultiplierBase(0.5)
+ return
+
+def add(core, actor, buff):
+ core.skillModService.deductSkillMod(actor, 'movement', 5)
return
-def removeBuff(core, actor, buff):
- actor.setSpeedMultiplierBase(1)
- return
-
\ No newline at end of file
+def remove(core, actor, buff):
+ core.skillModService.addSkillMod(actor, 'movement', 5)
+ return
\ No newline at end of file
diff --git a/scripts/buffs/fs_ae_dm_cc_3.py b/scripts/buffs/fs_ae_dm_cc_3.py
index 493481d7..2ee81fe9 100644
--- a/scripts/buffs/fs_ae_dm_cc_3.py
+++ b/scripts/buffs/fs_ae_dm_cc_3.py
@@ -1,10 +1,12 @@
import sys
def setup(core, actor, buff):
- actor.setSpeedMultiplierBase(0.5)
+ return
+
+def add(core, actor, buff):
+ core.skillModService.deductSkillMod(actor, 'movement', 5)
return
-def removeBuff(core, actor, buff):
- actor.setSpeedMultiplierBase(1)
- return
-
\ No newline at end of file
+def remove(core, actor, buff):
+ core.skillModService.addSkillMod(actor, 'movement', 5)
+ return
\ No newline at end of file
diff --git a/scripts/buffs/fs_ae_dm_cc_4.py b/scripts/buffs/fs_ae_dm_cc_4.py
index 493481d7..2ee81fe9 100644
--- a/scripts/buffs/fs_ae_dm_cc_4.py
+++ b/scripts/buffs/fs_ae_dm_cc_4.py
@@ -1,10 +1,12 @@
import sys
def setup(core, actor, buff):
- actor.setSpeedMultiplierBase(0.5)
+ return
+
+def add(core, actor, buff):
+ core.skillModService.deductSkillMod(actor, 'movement', 5)
return
-def removeBuff(core, actor, buff):
- actor.setSpeedMultiplierBase(1)
- return
-
\ No newline at end of file
+def remove(core, actor, buff):
+ core.skillModService.addSkillMod(actor, 'movement', 5)
+ return
\ No newline at end of file
diff --git a/scripts/buffs/fs_ae_dm_cc_5.py b/scripts/buffs/fs_ae_dm_cc_5.py
index 493481d7..2ee81fe9 100644
--- a/scripts/buffs/fs_ae_dm_cc_5.py
+++ b/scripts/buffs/fs_ae_dm_cc_5.py
@@ -1,10 +1,12 @@
import sys
def setup(core, actor, buff):
- actor.setSpeedMultiplierBase(0.5)
+ return
+
+def add(core, actor, buff):
+ core.skillModService.deductSkillMod(actor, 'movement', 5)
return
-def removeBuff(core, actor, buff):
- actor.setSpeedMultiplierBase(1)
- return
-
\ No newline at end of file
+def remove(core, actor, buff):
+ core.skillModService.addSkillMod(actor, 'movement', 5)
+ return
\ No newline at end of file
diff --git a/scripts/buffs/fs_ae_dm_cc_6.py b/scripts/buffs/fs_ae_dm_cc_6.py
index 493481d7..2ee81fe9 100644
--- a/scripts/buffs/fs_ae_dm_cc_6.py
+++ b/scripts/buffs/fs_ae_dm_cc_6.py
@@ -1,10 +1,12 @@
import sys
def setup(core, actor, buff):
- actor.setSpeedMultiplierBase(0.5)
+ return
+
+def add(core, actor, buff):
+ core.skillModService.deductSkillMod(actor, 'movement', 5)
return
-def removeBuff(core, actor, buff):
- actor.setSpeedMultiplierBase(1)
- return
-
\ No newline at end of file
+def remove(core, actor, buff):
+ core.skillModService.addSkillMod(actor, 'movement', 5)
+ return
\ No newline at end of file
diff --git a/scripts/buffs/fs_buff_ca_1.py b/scripts/buffs/fs_buff_ca_1.py
index 5fb1239f..837e11f7 100644
--- a/scripts/buffs/fs_buff_ca_1.py
+++ b/scripts/buffs/fs_buff_ca_1.py
@@ -1,12 +1,15 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
actor.playEffectObject('appearance/pt_sokan_focus.prt', 'fs_buff_ca_1')
core.skillModService.addSkillMod(actor, 'expertise_focus', 1)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'expertise_focus', 1)
return
\ No newline at end of file
diff --git a/scripts/buffs/fs_buff_def_1_1.py b/scripts/buffs/fs_buff_def_1_1.py
index 0d7ad4dd..743dc69b 100644
--- a/scripts/buffs/fs_buff_def_1_1.py
+++ b/scripts/buffs/fs_buff_def_1_1.py
@@ -1,12 +1,15 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
actor.playEffectObject('appearance/pt_force_avoid_incapacitation.prt', 'fs_buff_def_1_1')
core.skillModService.addSkillMod(actor, 'expertise_stance', 1)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'expertise_stance', 1)
return
\ No newline at end of file
diff --git a/scripts/buffs/fs_dm_cc_crit_1.py b/scripts/buffs/fs_dm_cc_crit_1.py
index 493481d7..df2109d8 100644
--- a/scripts/buffs/fs_dm_cc_crit_1.py
+++ b/scripts/buffs/fs_dm_cc_crit_1.py
@@ -1,10 +1,13 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
actor.setSpeedMultiplierBase(0.5)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
actor.setSpeedMultiplierBase(1)
return
\ No newline at end of file
diff --git a/scripts/buffs/fs_dm_cc_crit_2.py b/scripts/buffs/fs_dm_cc_crit_2.py
index 493481d7..df2109d8 100644
--- a/scripts/buffs/fs_dm_cc_crit_2.py
+++ b/scripts/buffs/fs_dm_cc_crit_2.py
@@ -1,10 +1,13 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
actor.setSpeedMultiplierBase(0.5)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
actor.setSpeedMultiplierBase(1)
return
\ No newline at end of file
diff --git a/scripts/buffs/fs_dm_cc_crit_3.py b/scripts/buffs/fs_dm_cc_crit_3.py
index 493481d7..df2109d8 100644
--- a/scripts/buffs/fs_dm_cc_crit_3.py
+++ b/scripts/buffs/fs_dm_cc_crit_3.py
@@ -1,10 +1,13 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
actor.setSpeedMultiplierBase(0.5)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
actor.setSpeedMultiplierBase(1)
return
\ No newline at end of file
diff --git a/scripts/buffs/fs_dm_cc_crit_4.py b/scripts/buffs/fs_dm_cc_crit_4.py
index 493481d7..df2109d8 100644
--- a/scripts/buffs/fs_dm_cc_crit_4.py
+++ b/scripts/buffs/fs_dm_cc_crit_4.py
@@ -1,10 +1,13 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
actor.setSpeedMultiplierBase(0.5)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
actor.setSpeedMultiplierBase(1)
return
\ No newline at end of file
diff --git a/scripts/buffs/fs_dm_cc_crit_5.py b/scripts/buffs/fs_dm_cc_crit_5.py
index 493481d7..df2109d8 100644
--- a/scripts/buffs/fs_dm_cc_crit_5.py
+++ b/scripts/buffs/fs_dm_cc_crit_5.py
@@ -1,10 +1,13 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
actor.setSpeedMultiplierBase(0.5)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
actor.setSpeedMultiplierBase(1)
return
\ No newline at end of file
diff --git a/scripts/buffs/fs_force_run.py b/scripts/buffs/fs_force_run.py
index f691d76f..714e8198 100644
--- a/scripts/buffs/fs_force_run.py
+++ b/scripts/buffs/fs_force_run.py
@@ -1,7 +1,10 @@
import sys
-def setup(core, actor, buff):
+def setup(core, actor, buff):
buff.setDuration(buff.getDuration()+(actor.getSkillModBase('expertise_buff_duration_line_fs_force_run')))
+ return
+
+def add(core, actor, buff):
actor.playEffectObject('clienteffect/pl_force_run.cef', 'fs_force_run')
actor.playEffectObject('appearance/pt_force_speed.prt', 'fs_force_run')
actor.setSpeedMultiplierBase(actor.getSpeedMultiplierBase() + 2.5 + (2.5 * (actor.getSkillModBase('expertise_movement_buff_fs_force_run')) / 100))
@@ -14,7 +17,7 @@ def setup(core, actor, buff):
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
actor.stopEffectObject('fs_force_run')
actor.setSpeedMultiplierBase(actor.getSpeedMultiplierBase() - 2.5 - (2.5 * (actor.getSkillModBase('expertise_movement_buff_fs_force_run')) / 100))
core.skillModService.deductSkillMod(actor, 'slope_move', 5)
diff --git a/scripts/buffs/fs_force_throw.py b/scripts/buffs/fs_force_throw.py
index f20ef882..2ee81fe9 100644
--- a/scripts/buffs/fs_force_throw.py
+++ b/scripts/buffs/fs_force_throw.py
@@ -1,11 +1,12 @@
import sys
def setup(core, actor, buff):
- core.skillModService.addSkillMod(actor, 'movement', float(-0.5))
-
+ return
+
+def add(core, actor, buff):
+ core.skillModService.deductSkillMod(actor, 'movement', 5)
return
-def removeBuff(core, actor, buff):
- core.skillModService.deductSkillMod(actor, 'movement', float(-0.5))
- return
-
\ No newline at end of file
+def remove(core, actor, buff):
+ core.skillModService.addSkillMod(actor, 'movement', 5)
+ return
\ No newline at end of file
diff --git a/scripts/buffs/fs_saber_reflect.py b/scripts/buffs/fs_saber_reflect.py
index cba5694e..815b8b7d 100644
--- a/scripts/buffs/fs_saber_reflect.py
+++ b/scripts/buffs/fs_saber_reflect.py
@@ -1,11 +1,14 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'expertise_saber_block', 1)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'expertise_saber_block', 1)
return
\ No newline at end of file
diff --git a/scripts/buffs/invis_fs_buff_invis_1.py b/scripts/buffs/invis_fs_buff_invis_1.py
index e09c02e5..c60417a0 100644
--- a/scripts/buffs/invis_fs_buff_invis_1.py
+++ b/scripts/buffs/invis_fs_buff_invis_1.py
@@ -2,7 +2,10 @@ import sys
def setup(core, actor, buff):
return
+
+def add(core, actor, buff):
+ return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
return
\ No newline at end of file
diff --git a/scripts/buffs/me_buff_action_1.py b/scripts/buffs/me_buff_action_1.py
index d5cff5fb..7cd3cf3c 100644
--- a/scripts/buffs/me_buff_action_1.py
+++ b/scripts/buffs/me_buff_action_1.py
@@ -3,10 +3,13 @@ import sys
def setup(core, actor, buff):
if actor.getSkillMod('expertise_buff_duration_line_me_enhance'):
buff.setDuration(buff.getDuration()+(actor.getSkillModBase('expertise_buff_duration_line_me_enhance')))
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'stamina_modified', 35)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'stamina_modified', 35)
return
\ No newline at end of file
diff --git a/scripts/buffs/me_buff_action_2.py b/scripts/buffs/me_buff_action_2.py
index 9848727e..0d1a1718 100644
--- a/scripts/buffs/me_buff_action_2.py
+++ b/scripts/buffs/me_buff_action_2.py
@@ -3,10 +3,13 @@ import sys
def setup(core, actor, buff):
if actor.getSkillMod('expertise_buff_duration_line_me_enhance'):
buff.setDuration(buff.getDuration()+(actor.getSkillModBase('expertise_buff_duration_line_me_enhance')))
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'stamina_modified', 80)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'stamina_modified', 80)
return
\ No newline at end of file
diff --git a/scripts/buffs/me_buff_action_3.py b/scripts/buffs/me_buff_action_3.py
index f59277c9..625808f2 100644
--- a/scripts/buffs/me_buff_action_3.py
+++ b/scripts/buffs/me_buff_action_3.py
@@ -3,10 +3,13 @@ import sys
def setup(core, actor, buff):
if actor.getSkillMod('expertise_buff_duration_line_me_enhance'):
buff.setDuration(buff.getDuration()+(actor.getSkillModBase('expertise_buff_duration_line_me_enhance')))
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'stamina_modified', 250)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'stamina_modified', 250)
return
\ No newline at end of file
diff --git a/scripts/buffs/me_buff_agility_1.py b/scripts/buffs/me_buff_agility_1.py
index 10d3a0a6..cc0368a7 100644
--- a/scripts/buffs/me_buff_agility_1.py
+++ b/scripts/buffs/me_buff_agility_1.py
@@ -3,10 +3,13 @@ import sys
def setup(core, actor, buff):
if actor.getSkillMod('expertise_buff_duration_line_me_enhance'):
buff.setDuration(buff.getDuration()+(actor.getSkillModBase('expertise_buff_duration_line_me_enhance')))
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'agility_modified', 15)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'agility_modified', 15)
return
\ No newline at end of file
diff --git a/scripts/buffs/me_buff_agility_2.py b/scripts/buffs/me_buff_agility_2.py
index 8130ad0f..47ae13c6 100644
--- a/scripts/buffs/me_buff_agility_2.py
+++ b/scripts/buffs/me_buff_agility_2.py
@@ -3,10 +3,13 @@ import sys
def setup(core, actor, buff):
if actor.getSkillMod('expertise_buff_duration_line_me_enhance'):
buff.setDuration(buff.getDuration()+(actor.getSkillModBase('expertise_buff_duration_line_me_enhance')))
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'agility_modified', 45)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'agility_modified', 45)
return
\ No newline at end of file
diff --git a/scripts/buffs/me_buff_agility_3.py b/scripts/buffs/me_buff_agility_3.py
index a9727dc2..83686069 100644
--- a/scripts/buffs/me_buff_agility_3.py
+++ b/scripts/buffs/me_buff_agility_3.py
@@ -3,10 +3,13 @@ import sys
def setup(core, actor, buff):
if actor.getSkillMod('expertise_buff_duration_line_me_enhance'):
buff.setDuration(buff.getDuration()+(actor.getSkillModBase('expertise_buff_duration_line_me_enhance')))
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'agility_modified', 80)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'agility_modified', 80)
return
\ No newline at end of file
diff --git a/scripts/buffs/me_buff_health.py b/scripts/buffs/me_buff_health.py
index 70dd9938..f5396585 100644
--- a/scripts/buffs/me_buff_health.py
+++ b/scripts/buffs/me_buff_health.py
@@ -3,10 +3,13 @@ import sys
def setup(core, actor, buff):
if actor.getSkillMod('expertise_buff_duration_line_me_enhance'):
buff.setDuration(buff.getDuration()+(actor.getSkillModBase('expertise_buff_duration_line_me_enhance')))
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'constitution_modified', 80)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'constitution_modified', 80)
return
\ No newline at end of file
diff --git a/scripts/buffs/me_buff_health_0.py b/scripts/buffs/me_buff_health_0.py
index b20b680b..513dabb4 100644
--- a/scripts/buffs/me_buff_health_0.py
+++ b/scripts/buffs/me_buff_health_0.py
@@ -3,10 +3,13 @@ import sys
def setup(core, actor, buff):
if actor.getSkillMod('expertise_buff_duration_line_me_enhance'):
buff.setDuration(buff.getDuration()+(actor.getSkillModBase('expertise_buff_duration_line_me_enhance')))
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'constitution_modified', 35)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'constitution_modified', 35)
return
\ No newline at end of file
diff --git a/scripts/buffs/me_buff_health_2.py b/scripts/buffs/me_buff_health_2.py
index fc52c4a3..4c0a9502 100644
--- a/scripts/buffs/me_buff_health_2.py
+++ b/scripts/buffs/me_buff_health_2.py
@@ -3,10 +3,13 @@ import sys
def setup(core, actor, buff):
if actor.getSkillMod('expertise_buff_duration_line_me_enhance'):
buff.setDuration(buff.getDuration()+(actor.getSkillModBase('expertise_buff_duration_line_me_enhance')))
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'constitution_modified', 250)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'constitution_modified', 250)
return
\ No newline at end of file
diff --git a/scripts/buffs/me_buff_melee_gb_1.py b/scripts/buffs/me_buff_melee_gb_1.py
index f052d7b9..9819dcb3 100644
--- a/scripts/buffs/me_buff_melee_gb_1.py
+++ b/scripts/buffs/me_buff_melee_gb_1.py
@@ -3,11 +3,14 @@ import sys
def setup(core, actor, buff):
if actor.getSkillMod('expertise_buff_duration_line_me_enhance'):
buff.setDuration(buff.getDuration()+(actor.getSkillModBase('expertise_buff_duration_line_me_enhance')))
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'display_only_block', 1000)
core.skillModService.addSkillMod(actor, 'combat_block_value', 200)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'display_only_block', 1000)
core.skillModService.deductSkillMod(actor, 'combat_block_value', 200)
return
diff --git a/scripts/buffs/me_buff_precision_1.py b/scripts/buffs/me_buff_precision_1.py
index 3006e18e..6b24b151 100644
--- a/scripts/buffs/me_buff_precision_1.py
+++ b/scripts/buffs/me_buff_precision_1.py
@@ -3,10 +3,13 @@ import sys
def setup(core, actor, buff):
if actor.getSkillMod('expertise_buff_duration_line_me_enhance'):
buff.setDuration(buff.getDuration()+(actor.getSkillModBase('expertise_buff_duration_line_me_enhance')))
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'precision_modified', 15)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'precision_modified', 15)
return
\ No newline at end of file
diff --git a/scripts/buffs/me_buff_precision_2.py b/scripts/buffs/me_buff_precision_2.py
index fbf6d978..b3c2aab5 100644
--- a/scripts/buffs/me_buff_precision_2.py
+++ b/scripts/buffs/me_buff_precision_2.py
@@ -3,10 +3,13 @@ import sys
def setup(core, actor, buff):
if actor.getSkillMod('expertise_buff_duration_line_me_enhance'):
buff.setDuration(buff.getDuration()+(actor.getSkillModBase('expertise_buff_duration_line_me_enhance')))
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'precision_modified', 45)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'precision_modified', 45)
return
\ No newline at end of file
diff --git a/scripts/buffs/me_buff_precision_3.py b/scripts/buffs/me_buff_precision_3.py
index f6490d10..40899ffb 100644
--- a/scripts/buffs/me_buff_precision_3.py
+++ b/scripts/buffs/me_buff_precision_3.py
@@ -3,10 +3,13 @@ import sys
def setup(core, actor, buff):
if actor.getSkillMod('expertise_buff_duration_line_me_enhance'):
buff.setDuration(buff.getDuration()+(actor.getSkillModBase('expertise_buff_duration_line_me_enhance')))
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'precision_modified', 80)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'precision_modified', 80)
return
\ No newline at end of file
diff --git a/scripts/buffs/me_buff_ranged_gb_1.py b/scripts/buffs/me_buff_ranged_gb_1.py
index d2476abe..ce5770a8 100644
--- a/scripts/buffs/me_buff_ranged_gb_1.py
+++ b/scripts/buffs/me_buff_ranged_gb_1.py
@@ -3,10 +3,13 @@ import sys
def setup(core, actor, buff):
if actor.getSkillMod('expertise_buff_duration_line_me_enhance'):
buff.setDuration(buff.getDuration()+(actor.getSkillModBase('expertise_buff_duration_line_me_enhance')))
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'display_only_dodge', 500)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'display_only_dodge', 500)
return
\ No newline at end of file
diff --git a/scripts/buffs/me_buff_strength_1.py b/scripts/buffs/me_buff_strength_1.py
index 462d84a5..fa50d073 100644
--- a/scripts/buffs/me_buff_strength_1.py
+++ b/scripts/buffs/me_buff_strength_1.py
@@ -3,10 +3,13 @@ import sys
def setup(core, actor, buff):
if actor.getSkillMod('expertise_buff_duration_line_me_enhance'):
buff.setDuration(buff.getDuration()+(actor.getSkillModBase('expertise_buff_duration_line_me_enhance')))
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'strength_modified', 15)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'strength_modified', 15)
return
\ No newline at end of file
diff --git a/scripts/buffs/me_buff_strength_2.py b/scripts/buffs/me_buff_strength_2.py
index 85f6d038..5f8f02d2 100644
--- a/scripts/buffs/me_buff_strength_2.py
+++ b/scripts/buffs/me_buff_strength_2.py
@@ -3,10 +3,13 @@ import sys
def setup(core, actor, buff):
if actor.getSkillMod('expertise_buff_duration_line_me_enhance'):
buff.setDuration(buff.getDuration()+(actor.getSkillModBase('expertise_buff_duration_line_me_enhance')))
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'strength_modified', 45)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'strength_modified', 45)
return
\ No newline at end of file
diff --git a/scripts/buffs/me_buff_strength_3.py b/scripts/buffs/me_buff_strength_3.py
index 6fa59e33..fcba94f9 100644
--- a/scripts/buffs/me_buff_strength_3.py
+++ b/scripts/buffs/me_buff_strength_3.py
@@ -3,10 +3,13 @@ import sys
def setup(core, actor, buff):
if actor.getSkillMod('expertise_buff_duration_line_me_enhance'):
buff.setDuration(buff.getDuration()+(actor.getSkillModBase('expertise_buff_duration_line_me_enhance')))
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'strength_modified', 80)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'strength_modified', 80)
return
\ No newline at end of file
diff --git a/scripts/buffs/me_burst_1.py b/scripts/buffs/me_burst_1.py
index 15d5cd85..82f6065b 100644
--- a/scripts/buffs/me_burst_1.py
+++ b/scripts/buffs/me_burst_1.py
@@ -1,12 +1,15 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'expertise_critical_niche_all', 3)
core.skillModService.addSkillMod(actor, 'strikethrough_vulnerable', 5)
core.skillModService.addSkillMod(actor, 'critical_hit_vulnerable', 5)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.addSkillMod(actor, 'expertise_critical_niche_all', 3)
core.skillModService.deductSkillMod(actor, 'strikethrough_vulnerable', 5)
core.skillModService.deductSkillMod(actor, 'critical_hit_vulnerable', 5)
diff --git a/scripts/buffs/me_cranial_smash_1.py b/scripts/buffs/me_cranial_smash_1.py
index f63ec968..3daa6068 100644
--- a/scripts/buffs/me_cranial_smash_1.py
+++ b/scripts/buffs/me_cranial_smash_1.py
@@ -1,11 +1,14 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'combat_divide_damage_dealt', 10)
core.skillModService.deductSkillMod(actor, 'movement', 5)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.addSkillMod(actor, 'movement', 5)
core.skillModService.deductSkillMod(actor, 'combat_divide_damage_dealt', 10)
return
diff --git a/scripts/buffs/me_cure_affliction_1.py b/scripts/buffs/me_cure_affliction_1.py
index f5e1ce07..b071a958 100644
--- a/scripts/buffs/me_cure_affliction_1.py
+++ b/scripts/buffs/me_cure_affliction_1.py
@@ -1,11 +1,14 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'dot_reduction_all', 5)
core.skillModService.addSkillMod(actor, 'dot_resist_all', 100)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'dot_reduction_all', 5)
core.skillModService.deductSkillMod(actor, 'dot_resist_all', 100)
return
diff --git a/scripts/buffs/me_doom.py b/scripts/buffs/me_doom.py
index d4f40162..fe90deb5 100644
--- a/scripts/buffs/me_doom.py
+++ b/scripts/buffs/me_doom.py
@@ -1,9 +1,12 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'me_doom', 1)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'me_doom', 1)
return
\ No newline at end of file
diff --git a/scripts/buffs/me_electrolyte_drain_1.py b/scripts/buffs/me_electrolyte_drain_1.py
index 82a33b29..2ee81fe9 100644
--- a/scripts/buffs/me_electrolyte_drain_1.py
+++ b/scripts/buffs/me_electrolyte_drain_1.py
@@ -1,9 +1,12 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'movement', 5)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.addSkillMod(actor, 'movement', 5)
return
\ No newline at end of file
diff --git a/scripts/buffs/me_evasion_1.py b/scripts/buffs/me_evasion_1.py
index 59984429..723b5ad5 100644
--- a/scripts/buffs/me_evasion_1.py
+++ b/scripts/buffs/me_evasion_1.py
@@ -1,12 +1,17 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'expertise_dodge', 35)
core.skillModService.addSkillMod(actor, 'display_only_evasion', 5000)
core.skillModService.addSkillMod(actor, 'combat_evasion_value', 50)
+
+ core.combatService.endCombat(actor)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'expertise_dodge', 35)
core.skillModService.deductSkillMod(actor, 'display_only_evasion', 5000)
core.skillModService.deductSkillMod(actor, 'combat_evasion_value', 50)
diff --git a/scripts/buffs/me_rheumatic_calamity_1.py b/scripts/buffs/me_rheumatic_calamity_1.py
index 2884acd8..8870a12b 100644
--- a/scripts/buffs/me_rheumatic_calamity_1.py
+++ b/scripts/buffs/me_rheumatic_calamity_1.py
@@ -1,10 +1,13 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'action_burn', 65)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'action_burn', 65)
return
\ No newline at end of file
diff --git a/scripts/buffs/me_serotonin_boost_1.py b/scripts/buffs/me_serotonin_boost_1.py
index 5eb23142..2c931a78 100644
--- a/scripts/buffs/me_serotonin_boost_1.py
+++ b/scripts/buffs/me_serotonin_boost_1.py
@@ -1,9 +1,12 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'debuff_purge', 1)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'debuff_purge', 1)
return
\ No newline at end of file
diff --git a/scripts/buffs/me_serotonin_purge_1.py b/scripts/buffs/me_serotonin_purge_1.py
index 8b288359..c5540781 100644
--- a/scripts/buffs/me_serotonin_purge_1.py
+++ b/scripts/buffs/me_serotonin_purge_1.py
@@ -1,9 +1,12 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'buff_purge', 1)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'buff_purge', 1)
return
\ No newline at end of file
diff --git a/scripts/buffs/me_stasis_1.py b/scripts/buffs/me_stasis_1.py
index 1539e280..7d4b7fe5 100644
--- a/scripts/buffs/me_stasis_1.py
+++ b/scripts/buffs/me_stasis_1.py
@@ -1,11 +1,14 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
actor.playEffectObject('clienteffect/medic_stasis.cef', 'me_stasis_1')
actor.setSpeedMultiplierBase(0.2)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
actor.setSpeedMultiplierBase(1)
return
\ No newline at end of file
diff --git a/scripts/buffs/me_stasis_self_1.py b/scripts/buffs/me_stasis_self_1.py
index 6341cb4c..cfb0b3f3 100644
--- a/scripts/buffs/me_stasis_self_1.py
+++ b/scripts/buffs/me_stasis_self_1.py
@@ -1,11 +1,14 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
actor.playEffectObject('clienteffect/medic_stasis.cef', 'me_stasis_self_1')
actor.setSpeedMultiplierBase(0.2)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
actor.setSpeedMultiplierBase(1)
return
\ No newline at end of file
diff --git a/scripts/buffs/me_thyroid_rupture_1.py b/scripts/buffs/me_thyroid_rupture_1.py
index 03b1fba8..fcafd14c 100644
--- a/scripts/buffs/me_thyroid_rupture_1.py
+++ b/scripts/buffs/me_thyroid_rupture_1.py
@@ -1,9 +1,12 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'combat_divide_damage_dealt', 25)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'combat_divide_damage_dealt', 25)
return
\ No newline at end of file
diff --git a/scripts/buffs/of_adv_paint_debuff_1.py b/scripts/buffs/of_adv_paint_debuff_1.py
index 7f6894de..54bbaa4e 100644
--- a/scripts/buffs/of_adv_paint_debuff_1.py
+++ b/scripts/buffs/of_adv_paint_debuff_1.py
@@ -1,10 +1,13 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'critical_damage_vulnerability', 3)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'critical_damage_vulnerability', 3)
return
\ No newline at end of file
diff --git a/scripts/buffs/of_adv_paint_debuff_2.py b/scripts/buffs/of_adv_paint_debuff_2.py
index 92f239c0..2a7c28ce 100644
--- a/scripts/buffs/of_adv_paint_debuff_2.py
+++ b/scripts/buffs/of_adv_paint_debuff_2.py
@@ -1,10 +1,13 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'critical_damage_vulnerability', 4)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'critical_damage_vulnerability', 4)
return
\ No newline at end of file
diff --git a/scripts/buffs/of_adv_paint_debuff_3.py b/scripts/buffs/of_adv_paint_debuff_3.py
index 58fe704f..18dc8a8c 100644
--- a/scripts/buffs/of_adv_paint_debuff_3.py
+++ b/scripts/buffs/of_adv_paint_debuff_3.py
@@ -1,10 +1,13 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'critical_damage_vulnerability', 5)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'critical_damage_vulnerability', 5)
return
\ No newline at end of file
diff --git a/scripts/buffs/of_adv_paint_debuff_4.py b/scripts/buffs/of_adv_paint_debuff_4.py
index f41ae124..ec98f8ea 100644
--- a/scripts/buffs/of_adv_paint_debuff_4.py
+++ b/scripts/buffs/of_adv_paint_debuff_4.py
@@ -1,10 +1,13 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'critical_damage_vulnerability', 6)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'critical_damage_vulnerability', 6)
return
\ No newline at end of file
diff --git a/scripts/buffs/of_adv_paint_debuff_5.py b/scripts/buffs/of_adv_paint_debuff_5.py
index d31be060..e8fc48e0 100644
--- a/scripts/buffs/of_adv_paint_debuff_5.py
+++ b/scripts/buffs/of_adv_paint_debuff_5.py
@@ -1,10 +1,13 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'critical_damage_vulnerability', 7)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'critical_damage_vulnerability', 7)
return
\ No newline at end of file
diff --git a/scripts/buffs/of_adv_paint_debuff_6.py b/scripts/buffs/of_adv_paint_debuff_6.py
index 84ffe9ed..739acd40 100644
--- a/scripts/buffs/of_adv_paint_debuff_6.py
+++ b/scripts/buffs/of_adv_paint_debuff_6.py
@@ -1,10 +1,13 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'critical_damage_vulnerability', 8)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'critical_damage_vulnerability', 8)
return
\ No newline at end of file
diff --git a/scripts/buffs/of_adv_paint_debuff_7.py b/scripts/buffs/of_adv_paint_debuff_7.py
index 231f4a1b..32276a5f 100644
--- a/scripts/buffs/of_adv_paint_debuff_7.py
+++ b/scripts/buffs/of_adv_paint_debuff_7.py
@@ -1,10 +1,13 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'critical_damage_vulnerability', 9)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'critical_damage_vulnerability', 9)
return
\ No newline at end of file
diff --git a/scripts/buffs/of_adv_paint_debuff_8.py b/scripts/buffs/of_adv_paint_debuff_8.py
index 65e1c826..7af4032c 100644
--- a/scripts/buffs/of_adv_paint_debuff_8.py
+++ b/scripts/buffs/of_adv_paint_debuff_8.py
@@ -1,10 +1,13 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'critical_damage_vulnerability', 10)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'critical_damage_vulnerability', 10)
return
\ No newline at end of file
diff --git a/scripts/buffs/of_adv_paint_expose_1.py b/scripts/buffs/of_adv_paint_expose_1.py
index e3583535..cf3db901 100644
--- a/scripts/buffs/of_adv_paint_expose_1.py
+++ b/scripts/buffs/of_adv_paint_expose_1.py
@@ -1,12 +1,15 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'stealth_divisor', 15)
core.skillModService.addSkillMod(actor, 'expertise_damage_line_vulnerability_of_buff_def', 3)
core.skillModService.addSkillMod(actor, 'expertise_damage_line_vulnerability_of_dm', 3)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'stealth_divisor', 15)
core.skillModService.deductSkillMod(actor, 'expertise_damage_line_vulnerability_of_buff_def', 3)
core.skillModService.deductSkillMod(actor, 'expertise_damage_line_vulnerability_of_dm', 3)
diff --git a/scripts/buffs/of_adv_paint_expose_2.py b/scripts/buffs/of_adv_paint_expose_2.py
index 07ed0966..cb86a0d8 100644
--- a/scripts/buffs/of_adv_paint_expose_2.py
+++ b/scripts/buffs/of_adv_paint_expose_2.py
@@ -1,12 +1,15 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'stealth_divisor', 20)
core.skillModService.addSkillMod(actor, 'expertise_damage_line_vulnerability_of_buff_def', 4)
core.skillModService.addSkillMod(actor, 'expertise_damage_line_vulnerability_of_dm', 4)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'stealth_divisor', 20)
core.skillModService.deductSkillMod(actor, 'expertise_damage_line_vulnerability_of_buff_def', 4)
core.skillModService.deductSkillMod(actor, 'expertise_damage_line_vulnerability_of_dm', 4)
diff --git a/scripts/buffs/of_adv_paint_expose_3.py b/scripts/buffs/of_adv_paint_expose_3.py
index 4ab6e431..7a7d18af 100644
--- a/scripts/buffs/of_adv_paint_expose_3.py
+++ b/scripts/buffs/of_adv_paint_expose_3.py
@@ -1,12 +1,15 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'stealth_divisor', 25)
core.skillModService.addSkillMod(actor, 'expertise_damage_line_vulnerability_of_buff_def', 5)
core.skillModService.addSkillMod(actor, 'expertise_damage_line_vulnerability_of_dm', 5)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'stealth_divisor', 25)
core.skillModService.deductSkillMod(actor, 'expertise_damage_line_vulnerability_of_buff_def', 5)
core.skillModService.deductSkillMod(actor, 'expertise_damage_line_vulnerability_of_dm', 5)
diff --git a/scripts/buffs/of_adv_paint_expose_4.py b/scripts/buffs/of_adv_paint_expose_4.py
index df8fae5c..3716ee92 100644
--- a/scripts/buffs/of_adv_paint_expose_4.py
+++ b/scripts/buffs/of_adv_paint_expose_4.py
@@ -1,12 +1,15 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'stealth_divisor', 30)
core.skillModService.addSkillMod(actor, 'expertise_damage_line_vulnerability_of_buff_def', 6)
core.skillModService.addSkillMod(actor, 'expertise_damage_line_vulnerability_of_dm', 6)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'stealth_divisor', 30)
core.skillModService.deductSkillMod(actor, 'expertise_damage_line_vulnerability_of_buff_def', 6)
core.skillModService.deductSkillMod(actor, 'expertise_damage_line_vulnerability_of_dm', 6)
diff --git a/scripts/buffs/of_adv_paint_expose_5.py b/scripts/buffs/of_adv_paint_expose_5.py
index d22f46f0..210f262d 100644
--- a/scripts/buffs/of_adv_paint_expose_5.py
+++ b/scripts/buffs/of_adv_paint_expose_5.py
@@ -1,12 +1,15 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'stealth_divisor', 35)
core.skillModService.addSkillMod(actor, 'expertise_damage_line_vulnerability_of_buff_def', 7)
core.skillModService.addSkillMod(actor, 'expertise_damage_line_vulnerability_of_dm', 7)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'stealth_divisor', 35)
core.skillModService.deductSkillMod(actor, 'expertise_damage_line_vulnerability_of_buff_def', 7)
core.skillModService.deductSkillMod(actor, 'expertise_damage_line_vulnerability_of_dm', 7)
diff --git a/scripts/buffs/of_adv_paint_expose_6.py b/scripts/buffs/of_adv_paint_expose_6.py
index 4e3af368..d58904ce 100644
--- a/scripts/buffs/of_adv_paint_expose_6.py
+++ b/scripts/buffs/of_adv_paint_expose_6.py
@@ -1,12 +1,15 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'stealth_divisor', 40)
core.skillModService.addSkillMod(actor, 'expertise_damage_line_vulnerability_of_buff_def', 8)
core.skillModService.addSkillMod(actor, 'expertise_damage_line_vulnerability_of_dm', 8)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'stealth_divisor', 40)
core.skillModService.deductSkillMod(actor, 'expertise_damage_line_vulnerability_of_buff_def', 8)
core.skillModService.deductSkillMod(actor, 'expertise_damage_line_vulnerability_of_dm', 8)
diff --git a/scripts/buffs/of_adv_paint_expose_7.py b/scripts/buffs/of_adv_paint_expose_7.py
index 46e42ba4..c83c4950 100644
--- a/scripts/buffs/of_adv_paint_expose_7.py
+++ b/scripts/buffs/of_adv_paint_expose_7.py
@@ -1,12 +1,15 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'stealth_divisor', 45)
core.skillModService.addSkillMod(actor, 'expertise_damage_line_vulnerability_of_buff_def', 9)
core.skillModService.addSkillMod(actor, 'expertise_damage_line_vulnerability_of_dm', 9)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'stealth_divisor', 45)
core.skillModService.deductSkillMod(actor, 'expertise_damage_line_vulnerability_of_buff_def', 9)
core.skillModService.deductSkillMod(actor, 'expertise_damage_line_vulnerability_of_dm', 9)
diff --git a/scripts/buffs/of_adv_paint_expose_8.py b/scripts/buffs/of_adv_paint_expose_8.py
index ff43fe6c..38a00bf2 100644
--- a/scripts/buffs/of_adv_paint_expose_8.py
+++ b/scripts/buffs/of_adv_paint_expose_8.py
@@ -1,12 +1,15 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'stealth_divisor', 50)
core.skillModService.addSkillMod(actor, 'expertise_damage_line_vulnerability_of_buff_def', 10)
core.skillModService.addSkillMod(actor, 'expertise_damage_line_vulnerability_of_dm', 10)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'stealth_divisor', 50)
core.skillModService.deductSkillMod(actor, 'expertise_damage_line_vulnerability_of_buff_def', 10)
core.skillModService.deductSkillMod(actor, 'expertise_damage_line_vulnerability_of_dm', 10)
diff --git a/scripts/buffs/of_ae_dm_cc_1.py b/scripts/buffs/of_ae_dm_cc_1.py
index 620bbaaa..2ee81fe9 100644
--- a/scripts/buffs/of_ae_dm_cc_1.py
+++ b/scripts/buffs/of_ae_dm_cc_1.py
@@ -1,9 +1,12 @@
import sys
def setup(core, actor, buff):
- core.skillModService.addSkillMod(actor, 'movement', -5)
+ return
+
+def add(core, actor, buff):
+ core.skillModService.deductSkillMod(actor, 'movement', 5)
return
-def removeBuff(core, actor, buff):
- core.skillModService.deductSkillMod(actor, 'movement', 15)
+def remove(core, actor, buff):
+ core.skillModService.addSkillMod(actor, 'movement', 5)
return
\ No newline at end of file
diff --git a/scripts/buffs/of_ae_dm_cc_2.py b/scripts/buffs/of_ae_dm_cc_2.py
index 620bbaaa..2ee81fe9 100644
--- a/scripts/buffs/of_ae_dm_cc_2.py
+++ b/scripts/buffs/of_ae_dm_cc_2.py
@@ -1,9 +1,12 @@
import sys
def setup(core, actor, buff):
- core.skillModService.addSkillMod(actor, 'movement', -5)
+ return
+
+def add(core, actor, buff):
+ core.skillModService.deductSkillMod(actor, 'movement', 5)
return
-def removeBuff(core, actor, buff):
- core.skillModService.deductSkillMod(actor, 'movement', 15)
+def remove(core, actor, buff):
+ core.skillModService.addSkillMod(actor, 'movement', 5)
return
\ No newline at end of file
diff --git a/scripts/buffs/of_ae_dm_cc_3.py b/scripts/buffs/of_ae_dm_cc_3.py
index 620bbaaa..2ee81fe9 100644
--- a/scripts/buffs/of_ae_dm_cc_3.py
+++ b/scripts/buffs/of_ae_dm_cc_3.py
@@ -1,9 +1,12 @@
import sys
def setup(core, actor, buff):
- core.skillModService.addSkillMod(actor, 'movement', -5)
+ return
+
+def add(core, actor, buff):
+ core.skillModService.deductSkillMod(actor, 'movement', 5)
return
-def removeBuff(core, actor, buff):
- core.skillModService.deductSkillMod(actor, 'movement', 15)
+def remove(core, actor, buff):
+ core.skillModService.addSkillMod(actor, 'movement', 5)
return
\ No newline at end of file
diff --git a/scripts/buffs/of_buff_def_1.py b/scripts/buffs/of_buff_def_1.py
index dd15adaf..01f17ada 100644
--- a/scripts/buffs/of_buff_def_1.py
+++ b/scripts/buffs/of_buff_def_1.py
@@ -1,11 +1,17 @@
import sys
def setup(core, actor, buff):
+ if actor.getSkillMod('expertise_aura_maintain'):
+ buff.setDuration(-1)
+
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'expertise_dodge', 1)
core.skillModService.addSkillMod(actor, 'constitution_modified', 5)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'expertise_dodge', 1)
core.skillModService.deductSkillMod(actor, 'constitution_modified', 5)
return
\ No newline at end of file
diff --git a/scripts/buffs/of_buff_def_2.py b/scripts/buffs/of_buff_def_2.py
index d819404b..7536841f 100644
--- a/scripts/buffs/of_buff_def_2.py
+++ b/scripts/buffs/of_buff_def_2.py
@@ -1,11 +1,17 @@
import sys
def setup(core, actor, buff):
+ if actor.getSkillMod('expertise_aura_maintain'):
+ buff.setDuration(-1)
+
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'expertise_dodge', 2)
core.skillModService.addSkillMod(actor, 'constitution_modified', 10)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'expertise_dodge', 2)
core.skillModService.deductSkillMod(actor, 'constitution_modified', 10)
return
\ No newline at end of file
diff --git a/scripts/buffs/of_buff_def_3.py b/scripts/buffs/of_buff_def_3.py
index d18a3633..dd577237 100644
--- a/scripts/buffs/of_buff_def_3.py
+++ b/scripts/buffs/of_buff_def_3.py
@@ -1,11 +1,17 @@
import sys
def setup(core, actor, buff):
+ if actor.getSkillMod('expertise_aura_maintain'):
+ buff.setDuration(-1)
+
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'expertise_dodge', 2)
core.skillModService.addSkillMod(actor, 'constitution_modified', 20)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'expertise_dodge', 2)
core.skillModService.deductSkillMod(actor, 'constitution_modified', 20)
return
\ No newline at end of file
diff --git a/scripts/buffs/of_buff_def_4.py b/scripts/buffs/of_buff_def_4.py
index b115ce6b..6a650b41 100644
--- a/scripts/buffs/of_buff_def_4.py
+++ b/scripts/buffs/of_buff_def_4.py
@@ -1,12 +1,18 @@
import sys
def setup(core, actor, buff):
+ if actor.getSkillMod('expertise_aura_maintain'):
+ buff.setDuration(-1)
+
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'expertise_dodge', 2)
core.skillModService.addSkillMod(actor, 'constitution_modified', 20)
core.skillModService.addSkillMod(actor, 'combat_critical_hit_reduction', 5)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'expertise_dodge', 2)
core.skillModService.deductSkillMod(actor, 'constitution_modified', 20)
core.skillModService.deductSkillMod(actor, 'combat_critical_hit_reduction', 5)
diff --git a/scripts/buffs/of_buff_def_5.py b/scripts/buffs/of_buff_def_5.py
index 5c6ff8eb..0dfd361a 100644
--- a/scripts/buffs/of_buff_def_5.py
+++ b/scripts/buffs/of_buff_def_5.py
@@ -1,12 +1,18 @@
import sys
def setup(core, actor, buff):
+ if actor.getSkillMod('expertise_aura_maintain'):
+ buff.setDuration(-1)
+
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'expertise_dodge', 3)
core.skillModService.addSkillMod(actor, 'constitution_modified', 25)
core.skillModService.addSkillMod(actor, 'combat_critical_hit_reduction', 6)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'expertise_dodge', 3)
core.skillModService.deductSkillMod(actor, 'constitution_modified', 25)
core.skillModService.deductSkillMod(actor, 'combat_critical_hit_reduction', 6)
diff --git a/scripts/buffs/of_buff_def_6.py b/scripts/buffs/of_buff_def_6.py
index b8a4b168..06dac062 100644
--- a/scripts/buffs/of_buff_def_6.py
+++ b/scripts/buffs/of_buff_def_6.py
@@ -1,12 +1,18 @@
import sys
def setup(core, actor, buff):
+ if actor.getSkillMod('expertise_aura_maintain'):
+ buff.setDuration(-1)
+
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'expertise_dodge', 3)
core.skillModService.addSkillMod(actor, 'constitution_modified', 35)
core.skillModService.addSkillMod(actor, 'combat_critical_hit_reduction', 7)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'expertise_dodge', 3)
core.skillModService.deductSkillMod(actor, 'constitution_modified', 35)
core.skillModService.deductSkillMod(actor, 'combat_critical_hit_reduction', 7)
diff --git a/scripts/buffs/of_buff_def_7.py b/scripts/buffs/of_buff_def_7.py
index 77bdd6b4..b18cd574 100644
--- a/scripts/buffs/of_buff_def_7.py
+++ b/scripts/buffs/of_buff_def_7.py
@@ -1,12 +1,18 @@
import sys
def setup(core, actor, buff):
+ if actor.getSkillMod('expertise_aura_maintain'):
+ buff.setDuration(-1)
+
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'expertise_dodge', 4)
core.skillModService.addSkillMod(actor, 'constitution_modified', 50)
core.skillModService.addSkillMod(actor, 'combat_critical_hit_reduction', 8)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'expertise_dodge', 4)
core.skillModService.deductSkillMod(actor, 'constitution_modified', 50)
core.skillModService.deductSkillMod(actor, 'combat_critical_hit_reduction', 8)
diff --git a/scripts/buffs/of_buff_def_8.py b/scripts/buffs/of_buff_def_8.py
index e4b5ba0c..1b16cad6 100644
--- a/scripts/buffs/of_buff_def_8.py
+++ b/scripts/buffs/of_buff_def_8.py
@@ -1,12 +1,18 @@
import sys
def setup(core, actor, buff):
+ if actor.getSkillMod('expertise_aura_maintain'):
+ buff.setDuration(-1)
+
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'expertise_dodge', 4)
core.skillModService.addSkillMod(actor, 'constitution_modified', 60)
core.skillModService.addSkillMod(actor, 'combat_critical_hit_reduction', 9)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'expertise_dodge', 4)
core.skillModService.deductSkillMod(actor, 'constitution_modified', 60)
core.skillModService.deductSkillMod(actor, 'combat_critical_hit_reduction', 9)
diff --git a/scripts/buffs/of_buff_def_9.py b/scripts/buffs/of_buff_def_9.py
index 6f5e35e7..ac342f70 100644
--- a/scripts/buffs/of_buff_def_9.py
+++ b/scripts/buffs/of_buff_def_9.py
@@ -1,12 +1,18 @@
import sys
def setup(core, actor, buff):
+ if actor.getSkillMod('expertise_aura_maintain'):
+ buff.setDuration(-1)
+
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'expertise_dodge', 5)
core.skillModService.addSkillMod(actor, 'constitution_modified', 70)
core.skillModService.addSkillMod(actor, 'combat_critical_hit_reduction', 10)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'expertise_dodge', 5)
core.skillModService.deductSkillMod(actor, 'constitution_modified', 70)
core.skillModService.deductSkillMod(actor, 'combat_critical_hit_reduction', 10)
diff --git a/scripts/buffs/of_cc_melee_1.py b/scripts/buffs/of_cc_melee_1.py
index 620bbaaa..2ee81fe9 100644
--- a/scripts/buffs/of_cc_melee_1.py
+++ b/scripts/buffs/of_cc_melee_1.py
@@ -1,9 +1,12 @@
import sys
def setup(core, actor, buff):
- core.skillModService.addSkillMod(actor, 'movement', -5)
+ return
+
+def add(core, actor, buff):
+ core.skillModService.deductSkillMod(actor, 'movement', 5)
return
-def removeBuff(core, actor, buff):
- core.skillModService.deductSkillMod(actor, 'movement', 15)
+def remove(core, actor, buff):
+ core.skillModService.addSkillMod(actor, 'movement', 5)
return
\ No newline at end of file
diff --git a/scripts/buffs/of_cc_melee_2.py b/scripts/buffs/of_cc_melee_2.py
index 620bbaaa..2ee81fe9 100644
--- a/scripts/buffs/of_cc_melee_2.py
+++ b/scripts/buffs/of_cc_melee_2.py
@@ -1,9 +1,12 @@
import sys
def setup(core, actor, buff):
- core.skillModService.addSkillMod(actor, 'movement', -5)
+ return
+
+def add(core, actor, buff):
+ core.skillModService.deductSkillMod(actor, 'movement', 5)
return
-def removeBuff(core, actor, buff):
- core.skillModService.deductSkillMod(actor, 'movement', 15)
+def remove(core, actor, buff):
+ core.skillModService.addSkillMod(actor, 'movement', 5)
return
\ No newline at end of file
diff --git a/scripts/buffs/of_cc_melee_3.py b/scripts/buffs/of_cc_melee_3.py
index 620bbaaa..2ee81fe9 100644
--- a/scripts/buffs/of_cc_melee_3.py
+++ b/scripts/buffs/of_cc_melee_3.py
@@ -1,9 +1,12 @@
import sys
def setup(core, actor, buff):
- core.skillModService.addSkillMod(actor, 'movement', -5)
+ return
+
+def add(core, actor, buff):
+ core.skillModService.deductSkillMod(actor, 'movement', 5)
return
-def removeBuff(core, actor, buff):
- core.skillModService.deductSkillMod(actor, 'movement', 15)
+def remove(core, actor, buff):
+ core.skillModService.addSkillMod(actor, 'movement', 5)
return
\ No newline at end of file
diff --git a/scripts/buffs/of_cc_melee_4.py b/scripts/buffs/of_cc_melee_4.py
index 620bbaaa..2ee81fe9 100644
--- a/scripts/buffs/of_cc_melee_4.py
+++ b/scripts/buffs/of_cc_melee_4.py
@@ -1,9 +1,12 @@
import sys
def setup(core, actor, buff):
- core.skillModService.addSkillMod(actor, 'movement', -5)
+ return
+
+def add(core, actor, buff):
+ core.skillModService.deductSkillMod(actor, 'movement', 5)
return
-def removeBuff(core, actor, buff):
- core.skillModService.deductSkillMod(actor, 'movement', 15)
+def remove(core, actor, buff):
+ core.skillModService.addSkillMod(actor, 'movement', 5)
return
\ No newline at end of file
diff --git a/scripts/buffs/of_cc_melee_5.py b/scripts/buffs/of_cc_melee_5.py
index 620bbaaa..2ee81fe9 100644
--- a/scripts/buffs/of_cc_melee_5.py
+++ b/scripts/buffs/of_cc_melee_5.py
@@ -1,9 +1,12 @@
import sys
def setup(core, actor, buff):
- core.skillModService.addSkillMod(actor, 'movement', -5)
+ return
+
+def add(core, actor, buff):
+ core.skillModService.deductSkillMod(actor, 'movement', 5)
return
-def removeBuff(core, actor, buff):
- core.skillModService.deductSkillMod(actor, 'movement', 15)
+def remove(core, actor, buff):
+ core.skillModService.addSkillMod(actor, 'movement', 5)
return
\ No newline at end of file
diff --git a/scripts/buffs/of_cc_melee_6.py b/scripts/buffs/of_cc_melee_6.py
index 620bbaaa..2ee81fe9 100644
--- a/scripts/buffs/of_cc_melee_6.py
+++ b/scripts/buffs/of_cc_melee_6.py
@@ -1,9 +1,12 @@
import sys
def setup(core, actor, buff):
- core.skillModService.addSkillMod(actor, 'movement', -5)
+ return
+
+def add(core, actor, buff):
+ core.skillModService.deductSkillMod(actor, 'movement', 5)
return
-def removeBuff(core, actor, buff):
- core.skillModService.deductSkillMod(actor, 'movement', 15)
+def remove(core, actor, buff):
+ core.skillModService.addSkillMod(actor, 'movement', 5)
return
\ No newline at end of file
diff --git a/scripts/buffs/of_cc_melee_7.py b/scripts/buffs/of_cc_melee_7.py
index 620bbaaa..2ee81fe9 100644
--- a/scripts/buffs/of_cc_melee_7.py
+++ b/scripts/buffs/of_cc_melee_7.py
@@ -1,9 +1,12 @@
import sys
def setup(core, actor, buff):
- core.skillModService.addSkillMod(actor, 'movement', -5)
+ return
+
+def add(core, actor, buff):
+ core.skillModService.deductSkillMod(actor, 'movement', 5)
return
-def removeBuff(core, actor, buff):
- core.skillModService.deductSkillMod(actor, 'movement', 15)
+def remove(core, actor, buff):
+ core.skillModService.addSkillMod(actor, 'movement', 5)
return
\ No newline at end of file
diff --git a/scripts/buffs/of_charge_1.py b/scripts/buffs/of_charge_1.py
index 1edd38b5..104612e7 100644
--- a/scripts/buffs/of_charge_1.py
+++ b/scripts/buffs/of_charge_1.py
@@ -1,13 +1,18 @@
import sys
def setup(core, actor, buff):
+ if actor.getSkillMod('expertise_buff_duration_line_of_group_buff'):
+ buff.setDuration(buff.getDuration() + actor.getSkillModBase('expertise_buff_duration_line_of_group_buff'))
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'expertise_damage_all', 10)
core.skillModService.addSkillMod(actor, 'expertise_action_all', 10)
core.skillModService.addSkillMod(actor, 'movement_resist_snare', 100)
core.skillModService.addSkillMod(actor, 'movement', 5)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'movement', 5)
core.skillModService.deductSkillMod(actor, 'expertise_damage_all', 10)
core.skillModService.deductSkillMod(actor, 'expertise_action_all', 10)
diff --git a/scripts/buffs/of_deadeye_debuff.py b/scripts/buffs/of_deadeye_debuff.py
index 533e3262..be22ec3e 100644
--- a/scripts/buffs/of_deadeye_debuff.py
+++ b/scripts/buffs/of_deadeye_debuff.py
@@ -1,11 +1,14 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'action_burn', 50)
core.skillModService.addSkillMod(actor, 'glancing_blow_vulnerable', 30)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'action_burn', 50)
core.skillModService.deductSkillMod(actor, 'glancing_blow_vulnerable', 30)
return
\ No newline at end of file
diff --git a/scripts/buffs/of_deb_def_1.py b/scripts/buffs/of_deb_def_1.py
index 5a4b5cff..13cdab58 100644
--- a/scripts/buffs/of_deb_def_1.py
+++ b/scripts/buffs/of_deb_def_1.py
@@ -1,12 +1,18 @@
import sys
def setup(core, actor, buff):
+ if actor.getSkillMod('expertise_aura_maintain'):
+ if actor.getSkillModBase('expertise_aura_maintain') > 0:
+ buff.setDuration(-1)
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'expertise_dodge', -2)
core.skillModService.addSkillMod(actor, 'expertise_parry', -2)
core.skillModService.addSkillMod(actor, 'critical_hit_vulnerable', 3)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'expertise_dodge', -2)
core.skillModService.deductSkillMod(actor, 'expertise_parry', -2)
core.skillModService.deductSkillMod(actor, 'critical_hit_vulnerable', 3)
diff --git a/scripts/buffs/of_deb_def_2.py b/scripts/buffs/of_deb_def_2.py
index 75c97f71..097ffe2b 100644
--- a/scripts/buffs/of_deb_def_2.py
+++ b/scripts/buffs/of_deb_def_2.py
@@ -1,12 +1,18 @@
import sys
def setup(core, actor, buff):
+ if actor.getSkillMod('expertise_aura_maintain'):
+ if actor.getSkillModBase('expertise_aura_maintain') > 0:
+ buff.setDuration(-1)
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'expertise_dodge', -3)
core.skillModService.addSkillMod(actor, 'expertise_parry', -3)
core.skillModService.addSkillMod(actor, 'critical_hit_vulnerable', 4)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'expertise_dodge', -3)
core.skillModService.deductSkillMod(actor, 'expertise_parry', -3)
core.skillModService.deductSkillMod(actor, 'critical_hit_vulnerable', 4)
diff --git a/scripts/buffs/of_deb_def_3.py b/scripts/buffs/of_deb_def_3.py
index 5b125b31..c3b28b0b 100644
--- a/scripts/buffs/of_deb_def_3.py
+++ b/scripts/buffs/of_deb_def_3.py
@@ -1,12 +1,18 @@
import sys
def setup(core, actor, buff):
+ if actor.getSkillMod('expertise_aura_maintain'):
+ if actor.getSkillModBase('expertise_aura_maintain') > 0:
+ buff.setDuration(-1)
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'expertise_dodge', -3)
core.skillModService.addSkillMod(actor, 'expertise_parry', -3)
core.skillModService.addSkillMod(actor, 'critical_hit_vulnerable', 5)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'expertise_dodge', -3)
core.skillModService.deductSkillMod(actor, 'expertise_parry', -3)
core.skillModService.deductSkillMod(actor, 'critical_hit_vulnerable', 5)
diff --git a/scripts/buffs/of_deb_def_4.py b/scripts/buffs/of_deb_def_4.py
index 056db66a..e93dde70 100644
--- a/scripts/buffs/of_deb_def_4.py
+++ b/scripts/buffs/of_deb_def_4.py
@@ -1,12 +1,18 @@
import sys
def setup(core, actor, buff):
+ if actor.getSkillMod('expertise_aura_maintain'):
+ if actor.getSkillModBase('expertise_aura_maintain') > 0:
+ buff.setDuration(-1)
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'expertise_dodge', -4)
core.skillModService.addSkillMod(actor, 'expertise_parry', -4)
core.skillModService.addSkillMod(actor, 'critical_hit_vulnerable', 4)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'expertise_dodge', -4)
core.skillModService.deductSkillMod(actor, 'expertise_parry', -4)
core.skillModService.deductSkillMod(actor, 'critical_hit_vulnerable', 4)
diff --git a/scripts/buffs/of_deb_def_5.py b/scripts/buffs/of_deb_def_5.py
index ec243e5b..233ec4dd 100644
--- a/scripts/buffs/of_deb_def_5.py
+++ b/scripts/buffs/of_deb_def_5.py
@@ -1,12 +1,18 @@
import sys
def setup(core, actor, buff):
+ if actor.getSkillMod('expertise_aura_maintain'):
+ if actor.getSkillModBase('expertise_aura_maintain') > 0:
+ buff.setDuration(-1)
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'expertise_dodge', -4)
core.skillModService.addSkillMod(actor, 'expertise_parry', -4)
core.skillModService.addSkillMod(actor, 'critical_hit_vulnerable', 5)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'expertise_dodge', -4)
core.skillModService.deductSkillMod(actor, 'expertise_parry', -4)
core.skillModService.deductSkillMod(actor, 'critical_hit_vulnerable', 5)
diff --git a/scripts/buffs/of_deb_def_6.py b/scripts/buffs/of_deb_def_6.py
index 3ebd39ea..cdb29995 100644
--- a/scripts/buffs/of_deb_def_6.py
+++ b/scripts/buffs/of_deb_def_6.py
@@ -1,12 +1,18 @@
import sys
def setup(core, actor, buff):
+ if actor.getSkillMod('expertise_aura_maintain'):
+ if actor.getSkillModBase('expertise_aura_maintain') > 0:
+ buff.setDuration(-1)
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'expertise_dodge', -5)
core.skillModService.addSkillMod(actor, 'expertise_parry', -5)
core.skillModService.addSkillMod(actor, 'critical_hit_vulnerable', 6)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'expertise_dodge', -5)
core.skillModService.deductSkillMod(actor, 'expertise_parry', -5)
core.skillModService.deductSkillMod(actor, 'critical_hit_vulnerable', 6)
diff --git a/scripts/buffs/of_deb_def_7.py b/scripts/buffs/of_deb_def_7.py
index 7503918d..9e9fedf5 100644
--- a/scripts/buffs/of_deb_def_7.py
+++ b/scripts/buffs/of_deb_def_7.py
@@ -1,12 +1,18 @@
import sys
def setup(core, actor, buff):
+ if actor.getSkillMod('expertise_aura_maintain'):
+ if actor.getSkillModBase('expertise_aura_maintain') > 0:
+ buff.setDuration(-1)
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'expertise_dodge', -6)
core.skillModService.addSkillMod(actor, 'expertise_parry', -6)
core.skillModService.addSkillMod(actor, 'critical_hit_vulnerable', 7)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'expertise_dodge', -6)
core.skillModService.deductSkillMod(actor, 'expertise_parry', -6)
core.skillModService.deductSkillMod(actor, 'critical_hit_vulnerable', 7)
diff --git a/scripts/buffs/of_deb_def_8.py b/scripts/buffs/of_deb_def_8.py
index bc8e5334..6016ba0d 100644
--- a/scripts/buffs/of_deb_def_8.py
+++ b/scripts/buffs/of_deb_def_8.py
@@ -1,12 +1,18 @@
import sys
def setup(core, actor, buff):
+ if actor.getSkillMod('expertise_aura_maintain'):
+ if actor.getSkillModBase('expertise_aura_maintain') > 0:
+ buff.setDuration(-1)
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'expertise_dodge', -7)
core.skillModService.addSkillMod(actor, 'expertise_parry', -7)
core.skillModService.addSkillMod(actor, 'critical_hit_vulnerable', 8)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'expertise_dodge', -7)
core.skillModService.deductSkillMod(actor, 'expertise_parry', -7)
core.skillModService.deductSkillMod(actor, 'critical_hit_vulnerable', 8)
diff --git a/scripts/buffs/of_decap_bleed_1.py b/scripts/buffs/of_decap_bleed_1.py
index 16152e90..ff8b7fcf 100644
--- a/scripts/buffs/of_decap_bleed_1.py
+++ b/scripts/buffs/of_decap_bleed_1.py
@@ -1,10 +1,13 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'dot_bleed', 18)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'dot_bleed', 18)
return
\ No newline at end of file
diff --git a/scripts/buffs/of_decap_bleed_2.py b/scripts/buffs/of_decap_bleed_2.py
index f34171fc..1cdbd89d 100644
--- a/scripts/buffs/of_decap_bleed_2.py
+++ b/scripts/buffs/of_decap_bleed_2.py
@@ -1,10 +1,13 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'dot_bleed', 25)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'dot_bleed', 25)
return
\ No newline at end of file
diff --git a/scripts/buffs/of_decap_bleed_3.py b/scripts/buffs/of_decap_bleed_3.py
index 01d777ca..13629ef6 100644
--- a/scripts/buffs/of_decap_bleed_3.py
+++ b/scripts/buffs/of_decap_bleed_3.py
@@ -1,10 +1,13 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'dot_bleed', 32)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'dot_bleed', 32)
return
\ No newline at end of file
diff --git a/scripts/buffs/of_decap_bleed_4.py b/scripts/buffs/of_decap_bleed_4.py
index 1e847dea..3e266371 100644
--- a/scripts/buffs/of_decap_bleed_4.py
+++ b/scripts/buffs/of_decap_bleed_4.py
@@ -1,10 +1,13 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'dot_bleed', 42)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'dot_bleed', 42)
return
\ No newline at end of file
diff --git a/scripts/buffs/of_decap_bleed_5.py b/scripts/buffs/of_decap_bleed_5.py
index 596a9457..22db45c2 100644
--- a/scripts/buffs/of_decap_bleed_5.py
+++ b/scripts/buffs/of_decap_bleed_5.py
@@ -1,10 +1,13 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'dot_bleed', 50)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'dot_bleed', 50)
return
\ No newline at end of file
diff --git a/scripts/buffs/of_decap_bleed_6.py b/scripts/buffs/of_decap_bleed_6.py
index 1e96e637..8bbabdd6 100644
--- a/scripts/buffs/of_decap_bleed_6.py
+++ b/scripts/buffs/of_decap_bleed_6.py
@@ -1,10 +1,13 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'dot_bleed', 60)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'dot_bleed', 60)
return
\ No newline at end of file
diff --git a/scripts/buffs/of_dot_bomb_1.py b/scripts/buffs/of_dot_bomb_1.py
index 9ab3d9f7..1534cc2e 100644
--- a/scripts/buffs/of_dot_bomb_1.py
+++ b/scripts/buffs/of_dot_bomb_1.py
@@ -1,10 +1,13 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'dot_fire', 200)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'dot_fire', 200)
return
\ No newline at end of file
diff --git a/scripts/buffs/of_drillmaster_1.py b/scripts/buffs/of_drillmaster_1.py
index 9dd26849..233744a6 100644
--- a/scripts/buffs/of_drillmaster_1.py
+++ b/scripts/buffs/of_drillmaster_1.py
@@ -1,12 +1,18 @@
import sys
def setup(core, actor, buff):
+ if actor.getSkillMod('expertise_aura_maintain'):
+ if actor.getSkillModBase('expertise_aura_maintain') > 2:
+ buff.setDuration(-1)
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'expertise_damage_all', 5)
core.skillModService.addSkillMod(actor, 'expertise_action_all', 5)
core.skillModService.addSkillMod(actor, 'expertise_damage_weapon_2', 5)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'expertise_damage_all', 5)
core.skillModService.deductSkillMod(actor, 'expertise_action_all', 5)
core.skillModService.deductSkillMod(actor, 'expertise_damage_weapon_2', 5)
diff --git a/scripts/buffs/of_emergency_shield.py b/scripts/buffs/of_emergency_shield.py
index 8b27d418..e4f367c3 100644
--- a/scripts/buffs/of_emergency_shield.py
+++ b/scripts/buffs/of_emergency_shield.py
@@ -1,11 +1,14 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'combat_divide_damage_taken', 75)
core.skillModService.addSkillMod(actor, 'combat_divide_damage_dealt', 75)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'combat_divide_damage_taken', 75)
core.skillModService.deductSkillMod(actor, 'combat_divide_damage_dealt', 75)
return
\ No newline at end of file
diff --git a/scripts/buffs/of_firepower.py b/scripts/buffs/of_firepower.py
index e7b0b129..9bf1f1fe 100644
--- a/scripts/buffs/of_firepower.py
+++ b/scripts/buffs/of_firepower.py
@@ -1,11 +1,14 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'expertise_damage_line_of_aoe', 125)
core.skillModService.addSkillMod(actor, 'expertise_critical_line_of_aoe', 50)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'expertise_damage_line_of_aoe', 125)
core.skillModService.deductSkillMod(actor, 'expertise_critical_line_of_aoe', 50)
return
\ No newline at end of file
diff --git a/scripts/buffs/of_focus_fire_1.py b/scripts/buffs/of_focus_fire_1.py
index c8e0d364..4e191992 100644
--- a/scripts/buffs/of_focus_fire_1.py
+++ b/scripts/buffs/of_focus_fire_1.py
@@ -1,12 +1,18 @@
import sys
def setup(core, actor, buff):
+ if actor.getSkillMod('expertise_aura_maintain'):
+ if actor.getSkillModBase('expertise_aura_maintain') > 1:
+ buff.setDuration(-1)
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'combat_strikethrough_value', 2)
core.skillModService.addSkillMod(actor, 'expertise_critical_niche_all', 15)
core.skillModService.addSkillMod(actor, 'expertise_strikethrough_chance', 2)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'combat_strikethrough_value', 2)
core.skillModService.deductSkillMod(actor, 'expertise_critical_niche_all', 15)
core.skillModService.deductSkillMod(actor, 'expertise_strikethrough_chance', 2)
diff --git a/scripts/buffs/of_focus_fire_2.py b/scripts/buffs/of_focus_fire_2.py
index 7803b873..60404f53 100644
--- a/scripts/buffs/of_focus_fire_2.py
+++ b/scripts/buffs/of_focus_fire_2.py
@@ -1,12 +1,18 @@
import sys
def setup(core, actor, buff):
+ if actor.getSkillMod('expertise_aura_maintain'):
+ if actor.getSkillModBase('expertise_aura_maintain') > 1:
+ buff.setDuration(-1)
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'combat_strikethrough_value', 3)
core.skillModService.addSkillMod(actor, 'expertise_critical_niche_all', 20)
core.skillModService.addSkillMod(actor, 'expertise_strikethrough_chance', 2)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'combat_strikethrough_value', 3)
core.skillModService.deductSkillMod(actor, 'expertise_critical_niche_all', 20)
core.skillModService.deductSkillMod(actor, 'expertise_strikethrough_chance', 2)
diff --git a/scripts/buffs/of_focus_fire_3.py b/scripts/buffs/of_focus_fire_3.py
index a4084512..3420c94c 100644
--- a/scripts/buffs/of_focus_fire_3.py
+++ b/scripts/buffs/of_focus_fire_3.py
@@ -1,12 +1,18 @@
import sys
def setup(core, actor, buff):
+ if actor.getSkillMod('expertise_aura_maintain'):
+ if actor.getSkillModBase('expertise_aura_maintain') > 1:
+ buff.setDuration(-1)
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'combat_strikethrough_value', 3)
core.skillModService.addSkillMod(actor, 'expertise_critical_niche_all', 23)
core.skillModService.addSkillMod(actor, 'expertise_strikethrough_chance', 3)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'combat_strikethrough_value', 3)
core.skillModService.deductSkillMod(actor, 'expertise_critical_niche_all', 23)
core.skillModService.deductSkillMod(actor, 'expertise_strikethrough_chance', 3)
diff --git a/scripts/buffs/of_focus_fire_4.py b/scripts/buffs/of_focus_fire_4.py
index 27402933..a95fb77f 100644
--- a/scripts/buffs/of_focus_fire_4.py
+++ b/scripts/buffs/of_focus_fire_4.py
@@ -1,12 +1,18 @@
import sys
def setup(core, actor, buff):
+ if actor.getSkillMod('expertise_aura_maintain'):
+ if actor.getSkillModBase('expertise_aura_maintain') > 1:
+ buff.setDuration(-1)
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'combat_strikethrough_value', 4)
core.skillModService.addSkillMod(actor, 'expertise_critical_niche_all', 26)
core.skillModService.addSkillMod(actor, 'expertise_strikethrough_chance', 3)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'combat_strikethrough_value', 4)
core.skillModService.deductSkillMod(actor, 'expertise_critical_niche_all', 26)
core.skillModService.deductSkillMod(actor, 'expertise_strikethrough_chance', 4)
diff --git a/scripts/buffs/of_focus_fire_5.py b/scripts/buffs/of_focus_fire_5.py
index 9cc90e8d..4d084789 100644
--- a/scripts/buffs/of_focus_fire_5.py
+++ b/scripts/buffs/of_focus_fire_5.py
@@ -1,12 +1,18 @@
import sys
def setup(core, actor, buff):
+ if actor.getSkillMod('expertise_aura_maintain'):
+ if actor.getSkillModBase('expertise_aura_maintain') > 1:
+ buff.setDuration(-1)
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'combat_strikethrough_value', 4)
core.skillModService.addSkillMod(actor, 'expertise_critical_niche_all', 29)
core.skillModService.addSkillMod(actor, 'expertise_strikethrough_chance', 4)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'combat_strikethrough_value', 4)
core.skillModService.deductSkillMod(actor, 'expertise_critical_niche_all', 29)
core.skillModService.deductSkillMod(actor, 'expertise_strikethrough_chance', 4)
diff --git a/scripts/buffs/of_focus_fire_6.py b/scripts/buffs/of_focus_fire_6.py
index 58879cbe..e091b13f 100644
--- a/scripts/buffs/of_focus_fire_6.py
+++ b/scripts/buffs/of_focus_fire_6.py
@@ -1,12 +1,18 @@
import sys
def setup(core, actor, buff):
+ if actor.getSkillMod('expertise_aura_maintain'):
+ if actor.getSkillModBase('expertise_aura_maintain') > 1:
+ buff.setDuration(-1)
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'combat_strikethrough_value', 5)
core.skillModService.addSkillMod(actor, 'expertise_critical_niche_all', 32)
core.skillModService.addSkillMod(actor, 'expertise_strikethrough_chance', 5)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'combat_strikethrough_value', 5)
core.skillModService.deductSkillMod(actor, 'expertise_critical_niche_all', 32)
core.skillModService.deductSkillMod(actor, 'expertise_strikethrough_chance', 5)
diff --git a/scripts/buffs/of_inspiration_1.py b/scripts/buffs/of_inspiration_1.py
index 6cd2da65..cbf0963e 100644
--- a/scripts/buffs/of_inspiration_1.py
+++ b/scripts/buffs/of_inspiration_1.py
@@ -1,11 +1,14 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'expertise_action_all', 5)
core.skillModService.addSkillMod(actor, 'healing_action', 870)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'expertise_action_all', 870)
core.skillModService.deductSkillMod(actor, 'healing_action', 870)
return
\ No newline at end of file
diff --git a/scripts/buffs/of_inspiration_2.py b/scripts/buffs/of_inspiration_2.py
index a26bbe86..1cf07e9c 100644
--- a/scripts/buffs/of_inspiration_2.py
+++ b/scripts/buffs/of_inspiration_2.py
@@ -1,11 +1,14 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'expertise_action_all', 5)
core.skillModService.addSkillMod(actor, 'healing_action', 1111)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'expertise_action_all', 5)
core.skillModService.deductSkillMod(actor, 'healing_action', 1111)
return
\ No newline at end of file
diff --git a/scripts/buffs/of_inspiration_3.py b/scripts/buffs/of_inspiration_3.py
index 337108a6..1162d3b3 100644
--- a/scripts/buffs/of_inspiration_3.py
+++ b/scripts/buffs/of_inspiration_3.py
@@ -1,11 +1,14 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'expertise_action_all', 5)
core.skillModService.addSkillMod(actor, 'healing_action', 1532)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'expertise_action_all', 5)
core.skillModService.deductSkillMod(actor, 'healing_action', 1532)
return
\ No newline at end of file
diff --git a/scripts/buffs/of_inspiration_4.py b/scripts/buffs/of_inspiration_4.py
index 5738cd3d..67879833 100644
--- a/scripts/buffs/of_inspiration_4.py
+++ b/scripts/buffs/of_inspiration_4.py
@@ -1,11 +1,14 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'expertise_action_all', 5)
core.skillModService.addSkillMod(actor, 'healing_action', 1954)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'expertise_action_all', 5)
core.skillModService.deductSkillMod(actor, 'healing_action', 1954)
return
\ No newline at end of file
diff --git a/scripts/buffs/of_inspiration_5.py b/scripts/buffs/of_inspiration_5.py
index 6ab7d9d3..f566e44a 100644
--- a/scripts/buffs/of_inspiration_5.py
+++ b/scripts/buffs/of_inspiration_5.py
@@ -1,11 +1,14 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'expertise_action_all', 5)
core.skillModService.addSkillMod(actor, 'healing_action', 2374)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'expertise_action_all', 5)
core.skillModService.deductSkillMod(actor, 'healing_action', 2374)
return
\ No newline at end of file
diff --git a/scripts/buffs/of_inspiration_6.py b/scripts/buffs/of_inspiration_6.py
index 9e7e9def..31bcc7df 100644
--- a/scripts/buffs/of_inspiration_6.py
+++ b/scripts/buffs/of_inspiration_6.py
@@ -1,11 +1,14 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'expertise_action_all', 5)
core.skillModService.addSkillMod(actor, 'healing_action', 2800)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'expertise_action_all', 5)
core.skillModService.deductSkillMod(actor, 'healing_action', 2800)
return
\ No newline at end of file
diff --git a/scripts/buffs/of_last_words.py b/scripts/buffs/of_last_words.py
index 9611d588..49c70490 100644
--- a/scripts/buffs/of_last_words.py
+++ b/scripts/buffs/of_last_words.py
@@ -1,13 +1,16 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'healing_health', 3500)
core.skillModService.addSkillMod(actor, 'healing_action', 6000)
core.skillModService.addSkillMod(actor, 'expertise_damage_all', 10)
core.skillModService.addSkillMod(actor, 'expertise_action_all', 10)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'healing_health', 125)
core.skillModService.deductSkillMod(actor, 'healing_action', 50)
core.skillModService.deductSkillMod(actor, 'expertise_damage_all', 50)
diff --git a/scripts/buffs/of_pistol_bleed.py b/scripts/buffs/of_pistol_bleed.py
index 1e96e637..8bbabdd6 100644
--- a/scripts/buffs/of_pistol_bleed.py
+++ b/scripts/buffs/of_pistol_bleed.py
@@ -1,10 +1,13 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'dot_bleed', 60)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'dot_bleed', 60)
return
\ No newline at end of file
diff --git a/scripts/buffs/of_purge_1.py b/scripts/buffs/of_purge_1.py
index c41e52e8..21dd70e7 100644
--- a/scripts/buffs/of_purge_1.py
+++ b/scripts/buffs/of_purge_1.py
@@ -1,12 +1,15 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'dot_divisor_all', 50)
core.skillModService.addSkillMod(actor, 'dot_resist_all', 100)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'dot_divisor_all', 50)
core.skillModService.deductSkillMod(actor, 'dot_resist_all', 100)
return
\ No newline at end of file
diff --git a/scripts/buffs/of_scatter_1.py b/scripts/buffs/of_scatter_1.py
index ed252b06..8309302a 100644
--- a/scripts/buffs/of_scatter_1.py
+++ b/scripts/buffs/of_scatter_1.py
@@ -1,13 +1,18 @@
import sys
def setup(core, actor, buff):
+ if actor.getSkillMod('expertise_buff_duration_line_of_group_buff'):
+ buff.setDuration(buff.getDuration() + actor.getSkillModBase('expertise_buff_duration_line_of_group_buff'))
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'expertise_glancing_blow_all', 2)
core.skillModService.addSkillMod(actor, 'movement_resist_snare', 15)
core.skillModService.addSkillMod(actor, 'movement_resist_root', 2)
core.skillModService.addSkillMod(actor, 'movement', 5)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'movement', 5)
core.skillModService.deductSkillMod(actor, 'expertise_glancing_blow_all', 2)
core.skillModService.deductSkillMod(actor, 'movement_resist_snare', 15)
diff --git a/scripts/buffs/of_stimulator_1.py b/scripts/buffs/of_stimulator_1.py
index f28888e7..4e120b7f 100644
--- a/scripts/buffs/of_stimulator_1.py
+++ b/scripts/buffs/of_stimulator_1.py
@@ -1,9 +1,12 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'debuff_purge', 2)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'debuff_purge', 2)
return
\ No newline at end of file
diff --git a/scripts/buffs/of_vortex_bleed_1.py b/scripts/buffs/of_vortex_bleed_1.py
index e1095bbc..188e61a7 100644
--- a/scripts/buffs/of_vortex_bleed_1.py
+++ b/scripts/buffs/of_vortex_bleed_1.py
@@ -1,9 +1,12 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'dot_bleed', 30)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'dot_bleed', 30)
return
\ No newline at end of file
diff --git a/scripts/buffs/of_vortex_bleed_2.py b/scripts/buffs/of_vortex_bleed_2.py
index cc0b1590..9a2bb14b 100644
--- a/scripts/buffs/of_vortex_bleed_2.py
+++ b/scripts/buffs/of_vortex_bleed_2.py
@@ -1,9 +1,12 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'dot_bleed', 44)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'dot_bleed', 44)
return
\ No newline at end of file
diff --git a/scripts/buffs/of_vortex_bleed_3.py b/scripts/buffs/of_vortex_bleed_3.py
index 12c3f4cd..711ac6ef 100644
--- a/scripts/buffs/of_vortex_bleed_3.py
+++ b/scripts/buffs/of_vortex_bleed_3.py
@@ -1,9 +1,12 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'dot_bleed', 58)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'dot_bleed', 58)
return
\ No newline at end of file
diff --git a/scripts/buffs/of_vortex_bleed_4.py b/scripts/buffs/of_vortex_bleed_4.py
index 9d2c2648..a6b25916 100644
--- a/scripts/buffs/of_vortex_bleed_4.py
+++ b/scripts/buffs/of_vortex_bleed_4.py
@@ -1,9 +1,12 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'dot_bleed', 72)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'dot_bleed', 72)
return
\ No newline at end of file
diff --git a/scripts/buffs/of_vortex_bleed_5.py b/scripts/buffs/of_vortex_bleed_5.py
index 760cc493..20f90a7f 100644
--- a/scripts/buffs/of_vortex_bleed_5.py
+++ b/scripts/buffs/of_vortex_bleed_5.py
@@ -1,9 +1,12 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'dot_bleed', 90)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'dot_bleed', 90)
return
\ No newline at end of file
diff --git a/scripts/buffs/of_vortex_root.py b/scripts/buffs/of_vortex_root.py
index 5048a0be..42418564 100644
--- a/scripts/buffs/of_vortex_root.py
+++ b/scripts/buffs/of_vortex_root.py
@@ -1,9 +1,12 @@
import sys
def setup(core, actor, buff):
- core.skillModService.addSkillMod(actor, 'movement', 0)
+ return
+
+def add(core, actor, buff):
+ core.skillModService.deductSkillMod(actor, 'movement', 10)
return
-def removeBuff(core, actor, buff):
- core.skillModService.deductSkillMod(actor, 'movement', 10)
+def remove(core, actor, buff):
+ core.skillModService.addSkillMod(actor, 'movement', 10)
return
\ No newline at end of file
diff --git a/scripts/buffs/poisoned.py b/scripts/buffs/poisoned.py
index e09c02e5..c60417a0 100644
--- a/scripts/buffs/poisoned.py
+++ b/scripts/buffs/poisoned.py
@@ -2,7 +2,10 @@ import sys
def setup(core, actor, buff):
return
+
+def add(core, actor, buff):
+ return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
return
\ No newline at end of file
diff --git a/scripts/buffs/proc_old_dark_jedi_gift.py b/scripts/buffs/proc_old_dark_jedi_gift.py
index e09c02e5..c60417a0 100644
--- a/scripts/buffs/proc_old_dark_jedi_gift.py
+++ b/scripts/buffs/proc_old_dark_jedi_gift.py
@@ -2,7 +2,10 @@ import sys
def setup(core, actor, buff):
return
+
+def add(core, actor, buff):
+ return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
return
\ No newline at end of file
diff --git a/scripts/buffs/proc_old_light_jedi_gift.py b/scripts/buffs/proc_old_light_jedi_gift.py
index e09c02e5..c60417a0 100644
--- a/scripts/buffs/proc_old_light_jedi_gift.py
+++ b/scripts/buffs/proc_old_light_jedi_gift.py
@@ -2,7 +2,10 @@ import sys
def setup(core, actor, buff):
return
+
+def add(core, actor, buff):
+ return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
return
\ No newline at end of file
diff --git a/scripts/buffs/saberblock.py b/scripts/buffs/saberblock.py
index 15962ce9..3386a66a 100644
--- a/scripts/buffs/saberblock.py
+++ b/scripts/buffs/saberblock.py
@@ -1,10 +1,13 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'display_only_parry', 1000 + (actor.getSkillModBase('expertise_saber_block') * 100))
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'display_only_parry', 1000 + (actor.getSkillModBase('expertise_saber_block') * 100))
return
\ No newline at end of file
diff --git a/scripts/buffs/set_bonus_bh_dps_1.py b/scripts/buffs/set_bonus_bh_dps_1.py
index 58d3ed08..6055bf9f 100644
--- a/scripts/buffs/set_bonus_bh_dps_1.py
+++ b/scripts/buffs/set_bonus_bh_dps_1.py
@@ -1,9 +1,12 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'expertise_action_line_dm', 5)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'expertise_action_line_dm', 5)
return
\ No newline at end of file
diff --git a/scripts/buffs/set_bonus_bh_dps_2.py b/scripts/buffs/set_bonus_bh_dps_2.py
index cf463a7a..5f0aa83c 100644
--- a/scripts/buffs/set_bonus_bh_dps_2.py
+++ b/scripts/buffs/set_bonus_bh_dps_2.py
@@ -1,11 +1,14 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'expertise_action_line_dm', 5)
core.skillModService.addSkillMod(actor, 'expertise_buff_duration_line_bh_return_fire' , 5)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'expertise_action_line_dm', 5)
core.skillModService.deductSkillMod(actor, 'expertise_buff_duration_line_bh_return_fire' , 5)
return
\ No newline at end of file
diff --git a/scripts/buffs/set_bonus_bh_dps_3.py b/scripts/buffs/set_bonus_bh_dps_3.py
index 06bcee28..4d48df3e 100644
--- a/scripts/buffs/set_bonus_bh_dps_3.py
+++ b/scripts/buffs/set_bonus_bh_dps_3.py
@@ -1,6 +1,9 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'expertise_action_line_dm', 10)
core.skillModService.addSkillMod(actor, 'expertise_action_line_dm_crit', 10)
core.skillModService.addSkillMod(actor, 'expertise_buff_duration_line_bh_return_fire' , 10)
@@ -8,7 +11,7 @@ def setup(core, actor, buff):
core.skillModService.addSkillMod(actor, 'expertise_cooldown_line_bh_return_fire' , 750)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'expertise_action_line_dm', 10)
core.skillModService.deductSkillMod(actor, 'expertise_action_line_dm_crit', 10)
core.skillModService.deductSkillMod(actor, 'expertise_buff_duration_line_bh_return_fire' , 10)
diff --git a/scripts/buffs/set_bonus_bh_utility_a_1.py b/scripts/buffs/set_bonus_bh_utility_a_1.py
index 4f9e42e4..3035fdd8 100644
--- a/scripts/buffs/set_bonus_bh_utility_a_1.py
+++ b/scripts/buffs/set_bonus_bh_utility_a_1.py
@@ -1,9 +1,12 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'expertise_cooldown_line_bh_flawless_strike', 15)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'expertise_cooldown_line_bh_flawless_strike', 15)
return
\ No newline at end of file
diff --git a/scripts/buffs/set_bonus_bh_utility_a_2.py b/scripts/buffs/set_bonus_bh_utility_a_2.py
index 4f9e42e4..3035fdd8 100644
--- a/scripts/buffs/set_bonus_bh_utility_a_2.py
+++ b/scripts/buffs/set_bonus_bh_utility_a_2.py
@@ -1,9 +1,12 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'expertise_cooldown_line_bh_flawless_strike', 15)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'expertise_cooldown_line_bh_flawless_strike', 15)
return
\ No newline at end of file
diff --git a/scripts/buffs/set_bonus_bh_utility_a_3.py b/scripts/buffs/set_bonus_bh_utility_a_3.py
index e98992f3..6a3ed086 100644
--- a/scripts/buffs/set_bonus_bh_utility_a_3.py
+++ b/scripts/buffs/set_bonus_bh_utility_a_3.py
@@ -1,10 +1,13 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'expertise_cooldown_line_bh_flawless_strike', 30)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'expertise_cooldown_line_bh_flawless_strike', 30)
return
\ No newline at end of file
diff --git a/scripts/buffs/set_bonus_bh_utility_b_1.py b/scripts/buffs/set_bonus_bh_utility_b_1.py
index 0f4597fe..9115f6d4 100644
--- a/scripts/buffs/set_bonus_bh_utility_b_1.py
+++ b/scripts/buffs/set_bonus_bh_utility_b_1.py
@@ -1,9 +1,12 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'fast_attack_line_dm_cc', 5)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'fast_attack_line_dm_cc', 5)
return
\ No newline at end of file
diff --git a/scripts/buffs/set_bonus_bh_utility_b_2.py b/scripts/buffs/set_bonus_bh_utility_b_2.py
index 945c2883..b641c6a6 100644
--- a/scripts/buffs/set_bonus_bh_utility_b_2.py
+++ b/scripts/buffs/set_bonus_bh_utility_b_2.py
@@ -1,12 +1,15 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'fast_attack_line_dm_cc', 10)
core.skillModService.addSkillMod(actor, 'bh_dire_root', 20)
core.skillModService.addSkillMod(actor, 'bh_dire_snare', 20)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'fast_attack_line_dm_cc', 10)
core.skillModService.deductSkillMod(actor, 'bh_dire_root', 20)
core.skillModService.deductSkillMod(actor, 'bh_dire_snare', 20)
diff --git a/scripts/buffs/set_bonus_bh_utility_b_3.py b/scripts/buffs/set_bonus_bh_utility_b_3.py
index d136c4ec..b4b4154f 100644
--- a/scripts/buffs/set_bonus_bh_utility_b_3.py
+++ b/scripts/buffs/set_bonus_bh_utility_b_3.py
@@ -1,12 +1,15 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'fast_attack_line_dm_cc', 35)
core.skillModService.addSkillMod(actor, 'bh_dire_root', 45)
core.skillModService.addSkillMod(actor, 'bh_dire_snare', 45)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'fast_attack_line_dm_cc', 35)
core.skillModService.deductSkillMod(actor, 'bh_dire_root', 45)
core.skillModService.deductSkillMod(actor, 'bh_dire_snare', 45)
diff --git a/scripts/buffs/set_bonus_hero_1.py b/scripts/buffs/set_bonus_hero_1.py
index d84a60fc..c589b0f4 100644
--- a/scripts/buffs/set_bonus_hero_1.py
+++ b/scripts/buffs/set_bonus_hero_1.py
@@ -1,9 +1,12 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'stamina_modified', 60)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'stamina_modified', 60)
return
\ No newline at end of file
diff --git a/scripts/buffs/set_bonus_hero_2.py b/scripts/buffs/set_bonus_hero_2.py
index 6c87d81e..630b0e30 100644
--- a/scripts/buffs/set_bonus_hero_2.py
+++ b/scripts/buffs/set_bonus_hero_2.py
@@ -1,11 +1,14 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'stamina_modified', 90)
core.skillModService.addSkillMod(actor, 'agility_modified', 90)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'stamina_modified', 90)
core.skillModService.deductSkillMod(actor, 'agility_modified', 90)
return
\ No newline at end of file
diff --git a/scripts/buffs/set_bonus_hero_3.py b/scripts/buffs/set_bonus_hero_3.py
index 11c03f31..d2755af3 100644
--- a/scripts/buffs/set_bonus_hero_3.py
+++ b/scripts/buffs/set_bonus_hero_3.py
@@ -1,12 +1,15 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'stamina_modified', 150)
core.skillModService.addSkillMod(actor, 'agility_modified', 150)
core.skillModService.addSkillMod(actor, 'constitution_modified', 150)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'stamina_modified', 150)
core.skillModService.deductSkillMod(actor, 'agility_modified', 150)
core.skillModService.deductSkillMod(actor, 'constitution_modified', 150)
diff --git a/scripts/buffs/set_bonus_medic_dps_1.py b/scripts/buffs/set_bonus_medic_dps_1.py
new file mode 100644
index 00000000..178d4c76
--- /dev/null
+++ b/scripts/buffs/set_bonus_medic_dps_1.py
@@ -0,0 +1,16 @@
+import sys
+
+def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
+ core.skillModService.addSkillMod(actor, 'expertise_action_line_me_dm', 5)
+ core.skillModService.addSkillMod(actor, 'expertise_action_line_me_burst', 5)
+ core.skillModService.addSkillMod(actor, 'expertise_action_line_me_smash', 5)
+ return
+
+def remove(core, actor, buff):
+ core.skillModService.deductSkillMod(actor, 'expertise_action_line_me_dm', 5)
+ core.skillModService.deductSkillMod(actor, 'expertise_action_line_me_burst', 5)
+ core.skillModService.deductSkillMod(actor, 'expertise_action_line_me_smash', 5)
+ return
\ No newline at end of file
diff --git a/scripts/buffs/set_bonus_medic_dps_2.py b/scripts/buffs/set_bonus_medic_dps_2.py
new file mode 100644
index 00000000..36833f96
--- /dev/null
+++ b/scripts/buffs/set_bonus_medic_dps_2.py
@@ -0,0 +1,20 @@
+import sys
+
+def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
+ core.skillModService.addSkillMod(actor, 'expertise_action_line_me_dm', 10)
+ core.skillModService.addSkillMod(actor, 'expertise_action_line_me_burst', 10)
+ core.skillModService.addSkillMod(actor, 'expertise_action_line_me_smash', 10)
+ core.skillModService.addSkillMod(actor, 'fast_attack_line_me_dm', 5)
+ core.skillModService.addSkillMod(actor, 'expertise_buff_duration_line_me_enhance', 900)
+ return
+
+def remove(core, actor, buff):
+ core.skillModService.deductSkillMod(actor, 'expertise_action_line_me_dm', 10)
+ core.skillModService.deductSkillMod(actor, 'expertise_action_line_me_burst', 10)
+ core.skillModService.deductSkillMod(actor, 'expertise_action_line_me_smash', 10)
+ core.skillModService.deductSkillMod(actor, 'fast_attack_line_me_dm', 5)
+ core.skillModService.deductSkillMod(actor, 'expertise_buff_duration_line_me_enhance', 900)
+ return
\ No newline at end of file
diff --git a/scripts/buffs/set_bonus_medic_dps_3.py b/scripts/buffs/set_bonus_medic_dps_3.py
new file mode 100644
index 00000000..f9082b73
--- /dev/null
+++ b/scripts/buffs/set_bonus_medic_dps_3.py
@@ -0,0 +1,20 @@
+import sys
+
+def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
+ core.skillModService.addSkillMod(actor, 'expertise_action_line_me_dm', 15)
+ core.skillModService.addSkillMod(actor, 'expertise_action_line_me_burst', 20)
+ core.skillModService.addSkillMod(actor, 'expertise_action_line_me_smash', 20)
+ core.skillModService.addSkillMod(actor, 'fast_attack_line_me_dm', 15)
+ core.skillModService.addSkillMod(actor, 'expertise_buff_duration_line_me_enhance', 1800)
+ return
+
+def remove(core, actor, buff):
+ core.skillModService.deductSkillMod(actor, 'expertise_action_line_me_dm', 15)
+ core.skillModService.deductSkillMod(actor, 'expertise_action_line_me_burst', 20)
+ core.skillModService.deductSkillMod(actor, 'expertise_action_line_me_smash', 20)
+ core.skillModService.deductSkillMod(actor, 'fast_attack_line_me_dm', 15)
+ core.skillModService.deductSkillMod(actor, 'expertise_buff_duration_line_me_enhance', 1800)
+ return
\ No newline at end of file
diff --git a/scripts/buffs/set_bonus_medic_utility_a_1.py b/scripts/buffs/set_bonus_medic_utility_a_1.py
new file mode 100644
index 00000000..a04d1d33
--- /dev/null
+++ b/scripts/buffs/set_bonus_medic_utility_a_1.py
@@ -0,0 +1,16 @@
+import sys
+
+def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
+ core.skillModService.addSkillMod(actor, 'expertise_freeshot_me_heal', 5)
+ core.skillModService.addSkillMod(actor, 'fast_attack_line_me_revive', 5)
+ core.skillModService.addSkillMod(actor, 'expertise_cooldown_line_me_evasion', 10)
+ return
+
+def remove(core, actor, buff):
+ core.skillModService.deductSkillMod(actor, 'expertise_freeshot_me_heal', 5)
+ core.skillModService.deductSkillMod(actor, 'fast_attack_line_me_revive', 5)
+ core.skillModService.deductSkillMod(actor, 'expertise_cooldown_line_me_evasion', 10)
+ return
\ No newline at end of file
diff --git a/scripts/buffs/set_bonus_medic_utility_a_2.py b/scripts/buffs/set_bonus_medic_utility_a_2.py
new file mode 100644
index 00000000..3fd9f063
--- /dev/null
+++ b/scripts/buffs/set_bonus_medic_utility_a_2.py
@@ -0,0 +1,18 @@
+import sys
+
+def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
+ core.skillModService.addSkillMod(actor, 'fast_attack_line_me_heal', 5)
+ core.skillModService.addSkillMod(actor, 'expertise_freeshot_me_heal', 10)
+ core.skillModService.addSkillMod(actor, 'fast_attack_line_me_revive', 10)
+ core.skillModService.addSkillMod(actor, 'expertise_cooldown_line_me_evasion', 20)
+ return
+
+def remove(core, actor, buff):
+ core.skillModService.deductSkillMod(actor, 'fast_attack_line_me_heal', 5)
+ core.skillModService.deductSkillMod(actor, 'expertise_freeshot_me_heal', 10)
+ core.skillModService.deductSkillMod(actor, 'fast_attack_line_me_revive', 10)
+ core.skillModService.deductSkillMod(actor, 'expertise_cooldown_line_me_evasion', 20)
+ return
\ No newline at end of file
diff --git a/scripts/buffs/set_bonus_medic_utility_a_3.py b/scripts/buffs/set_bonus_medic_utility_a_3.py
new file mode 100644
index 00000000..11bad3ba
--- /dev/null
+++ b/scripts/buffs/set_bonus_medic_utility_a_3.py
@@ -0,0 +1,20 @@
+import sys
+
+def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
+ core.skillModService.addSkillMod(actor, 'fast_attack_line_me_heal', 10)
+ core.skillModService.addSkillMod(actor, 'expertise_freeshot_me_heal', 15)
+ core.skillModService.addSkillMod(actor, 'fast_attack_line_me_revive', 15)
+ core.skillModService.addSkillMod(actor, 'expertise_cooldown_line_me_evasion', 30)
+ core.skillModService.addSkillMod(actor, 'expertise_cooldown_line_me_stasis_self', 2)
+ return
+
+def remove(core, actor, buff):
+ core.skillModService.deductSkillMod(actor, 'fast_attack_line_me_heal', 10)
+ core.skillModService.deductSkillMod(actor, 'expertise_freeshot_me_heal', 15)
+ core.skillModService.deductSkillMod(actor, 'fast_attack_line_me_revive', 15)
+ core.skillModService.deductSkillMod(actor, 'expertise_cooldown_line_me_evasion', 30)
+ core.skillModService.deductSkillMod(actor, 'expertise_cooldown_line_me_stasis_self', 2)
+ return
\ No newline at end of file
diff --git a/scripts/buffs/set_bonus_medic_utility_b_1.py b/scripts/buffs/set_bonus_medic_utility_b_1.py
new file mode 100644
index 00000000..1ec0be40
--- /dev/null
+++ b/scripts/buffs/set_bonus_medic_utility_b_1.py
@@ -0,0 +1,16 @@
+import sys
+
+def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
+ core.skillModService.addSkillMod(actor, 'expertise_cooldown_line_me_dot', 10)
+ core.skillModService.addSkillMod(actor, 'expertise_buff_duration_line_me_debuff', 1)
+ core.skillModService.addSkillMod(actor, 'fast_attack_line_me_debuff', 5)
+ return
+
+def remove(core, actor, buff):
+ core.skillModService.deductSkillMod(actor, 'expertise_cooldown_line_me_dot', 10)
+ core.skillModService.deductSkillMod(actor, 'expertise_buff_duration_line_me_debuff', 1)
+ core.skillModService.deductSkillMod(actor, 'fast_attack_line_me_debuff', 5)
+ return
\ No newline at end of file
diff --git a/scripts/buffs/set_bonus_medic_utility_b_2.py b/scripts/buffs/set_bonus_medic_utility_b_2.py
new file mode 100644
index 00000000..b6d95b63
--- /dev/null
+++ b/scripts/buffs/set_bonus_medic_utility_b_2.py
@@ -0,0 +1,18 @@
+import sys
+
+def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
+ core.skillModService.addSkillMod(actor, 'expertise_cooldown_line_me_dot', 20)
+ core.skillModService.addSkillMod(actor, 'expertise_buff_duration_line_me_debuff', 3)
+ core.skillModService.addSkillMod(actor, 'fast_attack_line_me_debuff', 10)
+ core.skillModService.addSkillMod(actor, 'expertise_freeshot_me_debuff', 10)
+ return
+
+def remove(core, actor, buff):
+ core.skillModService.deductSkillMod(actor, 'expertise_cooldown_line_me_dot', 20)
+ core.skillModService.deductSkillMod(actor, 'expertise_buff_duration_line_me_debuff', 3)
+ core.skillModService.deductSkillMod(actor, 'fast_attack_line_me_debuff', 10)
+ core.skillModService.deductSkillMod(actor, 'expertise_freeshot_me_debuff', 10)
+ return
\ No newline at end of file
diff --git a/scripts/buffs/set_bonus_medic_utility_b_3.py b/scripts/buffs/set_bonus_medic_utility_b_3.py
new file mode 100644
index 00000000..4a5af114
--- /dev/null
+++ b/scripts/buffs/set_bonus_medic_utility_b_3.py
@@ -0,0 +1,20 @@
+import sys
+
+def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
+ core.skillModService.addSkillMod(actor, 'expertise_cooldown_line_me_dot', 30)
+ core.skillModService.addSkillMod(actor, 'expertise_buff_duration_line_me_debuff', 5)
+ core.skillModService.addSkillMod(actor, 'fast_attack_line_me_debuff', 15)
+ core.skillModService.addSkillMod(actor, 'expertise_freeshot_me_debuff', 15)
+ core.skillModService.addSkillMod(actor, 'me_doom_chance', 20)
+ return
+
+def remove(core, actor, buff):
+ core.skillModService.deductSkillMod(actor, 'expertise_cooldown_line_me_dot', 30)
+ core.skillModService.deductSkillMod(actor, 'expertise_buff_duration_line_me_debuff', 5)
+ core.skillModService.deductSkillMod(actor, 'fast_attack_line_me_debuff', 15)
+ core.skillModService.deductSkillMod(actor, 'expertise_freeshot_me_debuff', 15)
+ core.skillModService.deductSkillMod(actor, 'me_doom_chance', 20)
+ return
\ No newline at end of file
diff --git a/scripts/buffs/set_bonus_spy_dps_1.py b/scripts/buffs/set_bonus_spy_dps_1.py
new file mode 100644
index 00000000..a375544a
--- /dev/null
+++ b/scripts/buffs/set_bonus_spy_dps_1.py
@@ -0,0 +1,14 @@
+import sys
+
+def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
+ core.skillModService.addSkillMod(actor, 'expertise_action_line_sp_dm', 10)
+ core.skillModService.addSkillMod(actor, 'fast_attack_line_sp_dm', 5)
+ return
+
+def remove(core, actor, buff):
+ core.skillModService.deductSkillMod(actor, 'expertise_action_line_sp_dm', 10)
+ core.skillModService.deductSkillMod(actor, 'fast_attack_line_sp_dm', 5)
+ return
\ No newline at end of file
diff --git a/scripts/buffs/set_bonus_spy_dps_2.py b/scripts/buffs/set_bonus_spy_dps_2.py
new file mode 100644
index 00000000..25132b6d
--- /dev/null
+++ b/scripts/buffs/set_bonus_spy_dps_2.py
@@ -0,0 +1,16 @@
+import sys
+
+def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
+ core.skillModService.addSkillMod(actor, 'expertise_action_line_sp_dm', 15)
+ core.skillModService.addSkillMod(actor, 'fast_attack_line_sp_dm', 10)
+ core.skillModService.addSkillMod(actor, 'expertise_action_line_sp_dot', 15)
+ return
+
+def remove(core, actor, buff):
+ core.skillModService.deductSkillMod(actor, 'expertise_action_line_sp_dm', 15)
+ core.skillModService.deductSkillMod(actor, 'fast_attack_line_sp_dm', 10)
+ core.skillModService.deductSkillMod(actor, 'expertise_action_line_sp_dot', 15)
+ return
\ No newline at end of file
diff --git a/scripts/buffs/set_bonus_spy_dps_3.py b/scripts/buffs/set_bonus_spy_dps_3.py
new file mode 100644
index 00000000..9fdedc7e
--- /dev/null
+++ b/scripts/buffs/set_bonus_spy_dps_3.py
@@ -0,0 +1,20 @@
+import sys
+
+def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
+ core.skillModService.addSkillMod(actor, 'expertise_action_line_sp_dm', 20)
+ core.skillModService.addSkillMod(actor, 'fast_attack_line_sp_dm', 15)
+ core.skillModService.addSkillMod(actor, 'expertise_freeshot_sp_dm', 20)
+ core.skillModService.addSkillMod(actor, 'expertise_cooldown_line_sp_dm', 20)
+ core.skillModService.addSkillMod(actor, 'expertise_action_line_sp_dot', 25)
+ return
+
+def remove(core, actor, buff):
+ core.skillModService.deductSkillMod(actor, 'expertise_action_line_sp_dm', 20)
+ core.skillModService.deductSkillMod(actor, 'fast_attack_line_sp_dm', 15)
+ core.skillModService.deductSkillMod(actor, 'expertise_freeshot_sp_dm', 20)
+ core.skillModService.deductSkillMod(actor, 'expertise_cooldown_line_sp_dm', 20)
+ core.skillModService.deductSkillMod(actor, 'expertise_action_line_sp_dot', 25)
+ return
\ No newline at end of file
diff --git a/scripts/buffs/set_bonus_spy_utility_a_1.py b/scripts/buffs/set_bonus_spy_utility_a_1.py
new file mode 100644
index 00000000..dab7ff64
--- /dev/null
+++ b/scripts/buffs/set_bonus_spy_utility_a_1.py
@@ -0,0 +1,14 @@
+import sys
+
+def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
+ core.skillModService.addSkillMod(actor, 'expertise_cooldown_line_sp_preparation', 20)
+ core.skillModService.addSkillMod(actor, 'fast_attack_line_sp_smoke', 5)
+ return
+
+def remove(core, actor, buff):
+ core.skillModService.deductSkillMod(actor, 'expertise_cooldown_line_sp_preparation', 20)
+ core.skillModService.deductSkillMod(actor, 'fast_attack_line_sp_smoke', 5)
+ return
\ No newline at end of file
diff --git a/scripts/buffs/set_bonus_spy_utility_a_2.py b/scripts/buffs/set_bonus_spy_utility_a_2.py
new file mode 100644
index 00000000..a1892f96
--- /dev/null
+++ b/scripts/buffs/set_bonus_spy_utility_a_2.py
@@ -0,0 +1,16 @@
+import sys
+
+def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
+ core.skillModService.addSkillMod(actor, 'expertise_cooldown_line_sp_preparation', 40)
+ core.skillModService.addSkillMod(actor, 'expertise_buff_duration_line_sp_preparation', 5)
+ core.skillModService.addSkillMod(actor, 'fast_attack_line_sp_smoke', 15)
+ return
+
+def remove(core, actor, buff):
+ core.skillModService.deductSkillMod(actor, 'expertise_cooldown_line_sp_preparation', 40)
+ core.skillModService.deductSkillMod(actor, 'expertise_buff_duration_line_sp_preparation', 5)
+ core.skillModService.deductSkillMod(actor, 'fast_attack_line_sp_smoke', 15)
+ return
\ No newline at end of file
diff --git a/scripts/buffs/set_bonus_spy_utility_a_3.py b/scripts/buffs/set_bonus_spy_utility_a_3.py
new file mode 100644
index 00000000..22e3a920
--- /dev/null
+++ b/scripts/buffs/set_bonus_spy_utility_a_3.py
@@ -0,0 +1,18 @@
+import sys
+
+def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
+ core.skillModService.addSkillMod(actor, 'expertise_cooldown_line_sp_preparation', 60)
+ core.skillModService.addSkillMod(actor, 'expertise_buff_duration_line_sp_preparation', 10)
+ core.skillModService.addSkillMod(actor, 'fast_attack_line_sp_smoke', 20)
+ core.skillModService.addSkillMod(actor, 'fast_attack_line_sp_perfect', 15)
+ return
+
+def remove(core, actor, buff):
+ core.skillModService.deductSkillMod(actor, 'expertise_cooldown_line_sp_preparation', 60)
+ core.skillModService.deductSkillMod(actor, 'expertise_buff_duration_line_sp_preparation', 10)
+ core.skillModService.deductSkillMod(actor, 'fast_attack_line_sp_smoke', 20)
+ core.skillModService.deductSkillMod(actor, 'fast_attack_line_sp_perfect', 15)
+ return
\ No newline at end of file
diff --git a/scripts/buffs/set_bonus_spy_utility_b_1.py b/scripts/buffs/set_bonus_spy_utility_b_1.py
new file mode 100644
index 00000000..74851b44
--- /dev/null
+++ b/scripts/buffs/set_bonus_spy_utility_b_1.py
@@ -0,0 +1,14 @@
+import sys
+
+def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
+ core.skillModService.addSkillMod(actor, 'expertise_strikethrough_chance', 1)
+ core.skillModService.addSkillMod(actor, 'expertise_action_all', 5)
+ return
+
+def remove(core, actor, buff):
+ core.skillModService.deductSkillMod(actor, 'expertise_strikethrough_chance', 1)
+ core.skillModService.deductSkillMod(actor, 'expertise_action_all', 5)
+ return
\ No newline at end of file
diff --git a/scripts/buffs/set_bonus_spy_utility_b_2.py b/scripts/buffs/set_bonus_spy_utility_b_2.py
new file mode 100644
index 00000000..c2f90380
--- /dev/null
+++ b/scripts/buffs/set_bonus_spy_utility_b_2.py
@@ -0,0 +1,14 @@
+import sys
+
+def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
+ core.skillModService.addSkillMod(actor, 'expertise_strikethrough_chance', 2)
+ core.skillModService.addSkillMod(actor, 'expertise_action_all', 10)
+ return
+
+def remove(core, actor, buff):
+ core.skillModService.deductSkillMod(actor, 'expertise_strikethrough_chance', 2)
+ core.skillModService.deductSkillMod(actor, 'expertise_action_all', 10)
+ return
\ No newline at end of file
diff --git a/scripts/buffs/set_bonus_spy_utility_b_3.py b/scripts/buffs/set_bonus_spy_utility_b_3.py
new file mode 100644
index 00000000..41d58c47
--- /dev/null
+++ b/scripts/buffs/set_bonus_spy_utility_b_3.py
@@ -0,0 +1,20 @@
+import sys
+
+def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
+ core.skillModService.addSkillMod(actor, 'expertise_strikethrough_chance', 3)
+ core.skillModService.addSkillMod(actor, 'expertise_action_all', 15)
+ core.skillModService.addSkillMod(actor, 'expertise_avoidance_overpower', 5)
+ core.skillModService.addSkillMod(actor, 'movement_resist_snare', 100)
+ core.skillModService.addSkillMod(actor, 'movement_resist_root', 100)
+ return
+
+def remove(core, actor, buff):
+ core.skillModService.deductSkillMod(actor, 'expertise_strikethrough_chance', 3)
+ core.skillModService.deductSkillMod(actor, 'expertise_action_all', 15)
+ core.skillModService.deductSkillMod(actor, 'expertise_avoidance_overpower', 5)
+ core.skillModService.deductSkillMod(actor, 'movement_resist_snare', 100)
+ core.skillModService.deductSkillMod(actor, 'movement_resist_root', 100)
+ return
\ No newline at end of file
diff --git a/scripts/buffs/sm_ae_dm_cc_1.py b/scripts/buffs/sm_ae_dm_cc_1.py
index 18da7f78..2ee81fe9 100644
--- a/scripts/buffs/sm_ae_dm_cc_1.py
+++ b/scripts/buffs/sm_ae_dm_cc_1.py
@@ -1,9 +1,12 @@
import sys
def setup(core, actor, buff):
- actor.setSpeedMultiplierBase(1)
+ return
+
+def add(core, actor, buff):
+ core.skillModService.deductSkillMod(actor, 'movement', 5)
return
-def removeBuff(core, actor, buff):
- actor.setSpeedMultiplierBase(1)
+def remove(core, actor, buff):
+ core.skillModService.addSkillMod(actor, 'movement', 5)
return
\ No newline at end of file
diff --git a/scripts/buffs/sm_ae_dm_cc_2.py b/scripts/buffs/sm_ae_dm_cc_2.py
index 18da7f78..2ee81fe9 100644
--- a/scripts/buffs/sm_ae_dm_cc_2.py
+++ b/scripts/buffs/sm_ae_dm_cc_2.py
@@ -1,9 +1,12 @@
import sys
def setup(core, actor, buff):
- actor.setSpeedMultiplierBase(1)
+ return
+
+def add(core, actor, buff):
+ core.skillModService.deductSkillMod(actor, 'movement', 5)
return
-def removeBuff(core, actor, buff):
- actor.setSpeedMultiplierBase(1)
+def remove(core, actor, buff):
+ core.skillModService.addSkillMod(actor, 'movement', 5)
return
\ No newline at end of file
diff --git a/scripts/buffs/sm_ae_dm_cc_3.py b/scripts/buffs/sm_ae_dm_cc_3.py
index 18da7f78..2ee81fe9 100644
--- a/scripts/buffs/sm_ae_dm_cc_3.py
+++ b/scripts/buffs/sm_ae_dm_cc_3.py
@@ -1,9 +1,12 @@
import sys
def setup(core, actor, buff):
- actor.setSpeedMultiplierBase(1)
+ return
+
+def add(core, actor, buff):
+ core.skillModService.deductSkillMod(actor, 'movement', 5)
return
-def removeBuff(core, actor, buff):
- actor.setSpeedMultiplierBase(1)
+def remove(core, actor, buff):
+ core.skillModService.addSkillMod(actor, 'movement', 5)
return
\ No newline at end of file
diff --git a/scripts/buffs/sm_ae_dm_cc_4.py b/scripts/buffs/sm_ae_dm_cc_4.py
index 18da7f78..2ee81fe9 100644
--- a/scripts/buffs/sm_ae_dm_cc_4.py
+++ b/scripts/buffs/sm_ae_dm_cc_4.py
@@ -1,9 +1,12 @@
import sys
def setup(core, actor, buff):
- actor.setSpeedMultiplierBase(1)
+ return
+
+def add(core, actor, buff):
+ core.skillModService.deductSkillMod(actor, 'movement', 5)
return
-def removeBuff(core, actor, buff):
- actor.setSpeedMultiplierBase(1)
+def remove(core, actor, buff):
+ core.skillModService.addSkillMod(actor, 'movement', 5)
return
\ No newline at end of file
diff --git a/scripts/buffs/sm_ae_dm_cc_5.py b/scripts/buffs/sm_ae_dm_cc_5.py
index 18da7f78..2ee81fe9 100644
--- a/scripts/buffs/sm_ae_dm_cc_5.py
+++ b/scripts/buffs/sm_ae_dm_cc_5.py
@@ -1,9 +1,12 @@
import sys
def setup(core, actor, buff):
- actor.setSpeedMultiplierBase(1)
+ return
+
+def add(core, actor, buff):
+ core.skillModService.deductSkillMod(actor, 'movement', 5)
return
-def removeBuff(core, actor, buff):
- actor.setSpeedMultiplierBase(1)
+def remove(core, actor, buff):
+ core.skillModService.addSkillMod(actor, 'movement', 5)
return
\ No newline at end of file
diff --git a/scripts/buffs/sm_ae_dm_cc_6.py b/scripts/buffs/sm_ae_dm_cc_6.py
index 18da7f78..2ee81fe9 100644
--- a/scripts/buffs/sm_ae_dm_cc_6.py
+++ b/scripts/buffs/sm_ae_dm_cc_6.py
@@ -1,9 +1,12 @@
import sys
def setup(core, actor, buff):
- actor.setSpeedMultiplierBase(1)
+ return
+
+def add(core, actor, buff):
+ core.skillModService.deductSkillMod(actor, 'movement', 5)
return
-def removeBuff(core, actor, buff):
- actor.setSpeedMultiplierBase(1)
+def remove(core, actor, buff):
+ core.skillModService.addSkillMod(actor, 'movement', 5)
return
\ No newline at end of file
diff --git a/scripts/buffs/sm_pistol_whip_1.py b/scripts/buffs/sm_pistol_whip_1.py
index 5537d303..f83a6829 100644
--- a/scripts/buffs/sm_pistol_whip_1.py
+++ b/scripts/buffs/sm_pistol_whip_1.py
@@ -1,9 +1,12 @@
import sys
def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
core.skillModService.addSkillMod(actor, 'sm_pistol_whip', 0)
return
-def removeBuff(core, actor, buff):
+def remove(core, actor, buff):
core.skillModService.deductSkillMod(actor, 'sm_pistol_whip', 0)
return
\ No newline at end of file
diff --git a/scripts/buffs/sp_burst_shadows.py b/scripts/buffs/sp_burst_shadows.py
new file mode 100644
index 00000000..1047f8fd
--- /dev/null
+++ b/scripts/buffs/sp_burst_shadows.py
@@ -0,0 +1,15 @@
+import sys
+
+def setup(core, actor, buff):
+ return
+
+def add(core, actor, buff):
+ core.skillModService.addSkillMod(actor, 'movement', 8)
+
+ return
+
+def remove(core, actor, buff):
+ core.skillModService.deductSkillMod(actor, 'movement', 8)
+
+
+ return
diff --git a/scripts/collections/col_entertainer_01.py b/scripts/collections/col_entertainer_01.py
new file mode 100644
index 00000000..100fa53e
--- /dev/null
+++ b/scripts/collections/col_entertainer_01.py
@@ -0,0 +1,12 @@
+from java.lang import System
+import sys
+
+def modify(core, actor, count):
+ return
+
+def complete(core, actor, collection):
+ ghost = actor.getSlottedObject('ghost')
+
+ actor.sendSystemMessage('@collection_n:col_entertainer_01_finished', 0)
+ ghost.addAbility('bm_dancing_pet_entertainer')
+ return
\ No newline at end of file
diff --git a/scripts/commands/auction.py b/scripts/commands/auction.py
new file mode 100644
index 00000000..fe744e57
--- /dev/null
+++ b/scripts/commands/auction.py
@@ -0,0 +1,11 @@
+import sys
+
+def setup():
+ return
+
+def run(core, actor, target, commandString):
+ room = core.chatService.getChatRoomByAddress('SWG.' + core.getGalaxyName() + '.' + 'Auction')
+
+ if actor.getSlottedObject('ghost').isMemberOfChannel(room.getRoomId()):
+ core.chatService.sendChatRoomMessage(actor, room.getRoomId(), 0, commandString)
+ return
\ No newline at end of file
diff --git a/scripts/commands/bandflourish.py b/scripts/commands/bandflourish.py
index e30daa8f..446ceb72 100644
--- a/scripts/commands/bandflourish.py
+++ b/scripts/commands/bandflourish.py
@@ -31,15 +31,10 @@ def run(core, actor, target, commandString):
if actor.getPerformanceId() <= 0:
actor.sendSystemMessage('@performance:flourish_not_performing', 0)
return
-
- animation = 'skill_action_' + str(flourish)
- if flourish == 9:
- animation = 'mistake'
if actor.getAcceptBandflourishes():
actor.sendSystemMessage('@performance:flourish_perform_band_self', 0)
- actor.sendSystemMessage('@performance:flourish_perform', 0)
- actor.doSkillAnimation(animation)
+ core.entertainmentService.performFlourish(actor, flourish)
group = core.objectService.getObject(actor.getGroupId())
if not group:
@@ -50,8 +45,7 @@ def run(core, actor, target, commandString):
continue
if creature.getAcceptBandflourishes():
creature.sendSystemMessage('@performance:flourish_perform_band_member', 0)
- creature.sendSystemMessage('@performance:flourish_perform', 0)
- creature.doSkillAnimation(animation)
+ core.entertainmentService.performFlourish(creature, flourish)
return
diff --git a/scripts/commands/bh_armor_sprint_1.py b/scripts/commands/bh_armor_sprint_1.py
index b7e33772..45376aa9 100644
--- a/scripts/commands/bh_armor_sprint_1.py
+++ b/scripts/commands/bh_armor_sprint_1.py
@@ -1,7 +1,7 @@
import sys
def setup(core, actor, buff):
- core.buffService.addBuffToCreature(actor, 'bh_armor_sprint_1')
+ core.buffService.addBuffToCreature(actor, 'bh_power_sprint_1')
return
def run(core, actor, target, commandString):
diff --git a/scripts/commands/bh_shields_1.py b/scripts/commands/bh_shields_1.py
new file mode 100644
index 00000000..41e93a6a
--- /dev/null
+++ b/scripts/commands/bh_shields_1.py
@@ -0,0 +1,10 @@
+import sys
+
+def setup(core, actor, target, command):
+ return
+
+def run(core, actor, target, commandString):
+ core.buffService.addBuffToCreature(actor, 'bh_shields')
+ core.buffService.addBuffToCreature(actor, 'bh_shields_charged')
+ core.buffService.addBuffToCreature(actor, 'bh_shields_handler')
+ return
\ No newline at end of file
diff --git a/scripts/commands/broadcast.py b/scripts/commands/broadcast.py
new file mode 100644
index 00000000..afcaebef
--- /dev/null
+++ b/scripts/commands/broadcast.py
@@ -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.broadcastGalaxy(commandString)
+ return
+
diff --git a/scripts/commands/centerstage.py b/scripts/commands/centerstage.py
new file mode 100644
index 00000000..362738c5
--- /dev/null
+++ b/scripts/commands/centerstage.py
@@ -0,0 +1,14 @@
+import sys
+
+def setup():
+ return
+
+def run(core, actor, target, commandString):
+
+ if actor.getLevel() < 66:
+ actor.sendSystemMessage('@performance:effect_lack_skill_self', 0)
+ return
+
+ if core.entertainmentService.performEffect(actor, 'CenterStage', 'clienteffect/entertainer_center_stage.cef', target) is True:
+ actor.sendSystemMessage('@performance:effect_perform_center_stage', 0)
+ return
\ No newline at end of file
diff --git a/scripts/commands/co_first_aid_training.py b/scripts/commands/co_first_aid_training.py
index baf4621d..e185f733 100644
--- a/scripts/commands/co_first_aid_training.py
+++ b/scripts/commands/co_first_aid_training.py
@@ -4,6 +4,5 @@ def setup():
return
def run(core, actor, target, commandString):
-
core.buffService.addBuffToCreature(actor, 'co_first_aid_training')
return
\ No newline at end of file
diff --git a/scripts/commands/co_hw_dot.py b/scripts/commands/co_hw_dot.py
index 7b9a8aac..ca43a28e 100644
--- a/scripts/commands/co_hw_dot.py
+++ b/scripts/commands/co_hw_dot.py
@@ -12,13 +12,10 @@ def run(core, actor, target, commandString):
if not weapon:
return
- if not weapon.getWeaponType() == 12:
- return
-
elementalType = weapon.getElementalType()
commandName = ''
- if elementalType == '@obj_attr_n:elemental_heat':
+ if elementalType == 'heat':
if actor.getLevel() >= 58:
commandName = 'co_hw_dot_fire_1'
if actor.getLevel() >= 60:
@@ -29,7 +26,7 @@ def run(core, actor, target, commandString):
commandName = 'co_hw_dot_fire_4'
if actor.getLevel() >= 90:
commandName = 'co_hw_dot_fire_5'
- elif elementalType == '@obj_attr_n:elemental_cold':
+ elif elementalType == 'cold':
if actor.getLevel() >= 58:
commandName = 'co_hw_dot_cold_1'
if actor.getLevel() >= 60:
@@ -40,7 +37,7 @@ def run(core, actor, target, commandString):
commandName = 'co_hw_dot_cold_4'
if actor.getLevel() >= 90:
commandName = 'co_hw_dot_cold_5'
- elif elementalType == '@obj_attr_n:elemental_acid':
+ elif elementalType == 'acid':
if actor.getLevel() >= 58:
commandName = 'co_hw_dot_acid_1'
if actor.getLevel() >= 60:
@@ -51,7 +48,7 @@ def run(core, actor, target, commandString):
commandName = 'co_hw_dot_acid_4'
if actor.getLevel() >= 90:
commandName = 'co_hw_dot_acid_5'
- elif elementalType == '@obj_attr_n:elemental_electricity':
+ elif elementalType == 'electricity':
if actor.getLevel() >= 58:
commandName = 'co_hw_dot_electrical_1'
if actor.getLevel() >= 60:
@@ -62,7 +59,7 @@ def run(core, actor, target, commandString):
commandName = 'co_hw_dot_electrical_4'
if actor.getLevel() >= 90:
commandName = 'co_hw_dot_electrical_5'
- elif elementalType == '@obj_attr_n:elemental_energy':
+ elif elementalType == 'energy':
if actor.getLevel() >= 58:
commandName = 'co_hw_dot_energy_1'
if actor.getLevel() >= 60:
@@ -73,7 +70,7 @@ def run(core, actor, target, commandString):
commandName = 'co_hw_dot_energy_4'
if actor.getLevel() >= 90:
commandName = 'co_hw_dot_energy_5'
- elif elementalType =='@obj_attr_n:elemental_kinetic':
+ elif elementalType =='kinetic':
if actor.getLevel() >= 58:
commandName = 'co_hw_dot_kinetic_1'
if actor.getLevel() >= 60:
diff --git a/scripts/commands/co_position_secured.py b/scripts/commands/co_position_secured.py
deleted file mode 100644
index a2165915..00000000
--- a/scripts/commands/co_position_secured.py
+++ /dev/null
@@ -1,14 +0,0 @@
-import sys
-
-def setup():
- return
-
-def run(core, actor, target, commandString):
-
- if actor.hasBuff('co_position_secured'):
- core.buffService.removeBuffFromCreature(actor, actor.getBuffByName('co_position_secured'))
- else:
- core.buffService.addBuffToCreature(actor, 'co_position_secured')
-
- return
-
\ No newline at end of file
diff --git a/scripts/commands/colorSwirl.py b/scripts/commands/colorSwirl.py
new file mode 100644
index 00000000..cae47e72
--- /dev/null
+++ b/scripts/commands/colorSwirl.py
@@ -0,0 +1,14 @@
+import sys
+
+def setup():
+ return
+
+def run(core, actor, target, commandString):
+
+ if actor.getLevel() < 34:
+ actor.sendSystemMessage('@performance:effect_lack_skill_self', 0)
+ return
+
+ if core.entertainmentService.performEffect(actor, 'ColorSwirl', 'clienteffect/entertainer_color_swirl.cef', target) is True:
+ actor.sendSystemMessage('@performance:effect_perform_color_swirl', 0)
+ return
\ No newline at end of file
diff --git a/scripts/commands/colorlights.py b/scripts/commands/colorlights.py
new file mode 100644
index 00000000..0708c4ea
--- /dev/null
+++ b/scripts/commands/colorlights.py
@@ -0,0 +1,39 @@
+import sys
+
+def setup():
+ return
+
+def run(core, actor, target, commandString):
+ level = actor.getLevel()
+ command = 'ColorLights1'
+ effect = 'clienteffect/entertainer_color_lights_level_1.cef'
+ rLevel = 4 # minimum level to perform this effect
+
+ if commandString is None or commandString == '':
+
+ if level >= 50:
+ command = 'ColorLights3'
+ effect = 'clienteffect/entertainer_color_lights_level_3.cef'
+
+ elif level >= 20:
+ command = 'ColorLights2'
+ effect = 'clienteffect/entertainer_color_lights_level_2.cef'
+
+ if commandString is not None:
+ if commandString == '2':
+ command = 'ColorLights2'
+ effect = 'clienteffect/entertainer_color_lights_level_2.cef'
+ rLevel = 20
+
+ elif commandString == '3':
+ command = 'ColorLights3'
+ effect = 'clienteffect/entertainer_color_lights_level_3.cef'
+ rLevel = 50
+
+ if level < rLevel:
+ actor.sendSystemMessage('@performance:effect_lack_skill_self', 0)
+ return
+
+ if core.entertainmentService.performEffect(actor, command, effect, target) is True:
+ actor.sendSystemMessage('@performance:effect_perform_color_lights', 0)
+ return
\ No newline at end of file
diff --git a/scripts/commands/combat/bh_dm_1.py b/scripts/commands/combat/bh_dm_1.py
index 707a2c00..0506c54f 100644
--- a/scripts/commands/combat/bh_dm_1.py
+++ b/scripts/commands/combat/bh_dm_1.py
@@ -2,7 +2,11 @@ import sys
def setup(core, actor, target, command):
if actor.getSkillMod('expertise_cooldown_line_dm'):
- command.setCooldown(command.getCooldown() - (actor.getSkillMod('expertise_cooldown_line_dm').getBase()/10))
+ command.setCooldown(command.getCooldown() - (actor.getSkillModBase('expertise_cooldown_line_dm')/10))
+
+ if actor.getSkillMod('expertise_damage_line_dm'):
+ command.setAddedDamage(command.getAddedDamage() + ((command.getAddedDamage()*actor.getSkillModBase('expertise_damage_line_dm'))/100))
+
return
def run(core, actor, target, commandString):
return
\ No newline at end of file
diff --git a/scripts/commands/combat/bh_dm_2.py b/scripts/commands/combat/bh_dm_2.py
index 707a2c00..0506c54f 100644
--- a/scripts/commands/combat/bh_dm_2.py
+++ b/scripts/commands/combat/bh_dm_2.py
@@ -2,7 +2,11 @@ import sys
def setup(core, actor, target, command):
if actor.getSkillMod('expertise_cooldown_line_dm'):
- command.setCooldown(command.getCooldown() - (actor.getSkillMod('expertise_cooldown_line_dm').getBase()/10))
+ command.setCooldown(command.getCooldown() - (actor.getSkillModBase('expertise_cooldown_line_dm')/10))
+
+ if actor.getSkillMod('expertise_damage_line_dm'):
+ command.setAddedDamage(command.getAddedDamage() + ((command.getAddedDamage()*actor.getSkillModBase('expertise_damage_line_dm'))/100))
+
return
def run(core, actor, target, commandString):
return
\ No newline at end of file
diff --git a/scripts/commands/combat/bh_dm_3.py b/scripts/commands/combat/bh_dm_3.py
index 707a2c00..0506c54f 100644
--- a/scripts/commands/combat/bh_dm_3.py
+++ b/scripts/commands/combat/bh_dm_3.py
@@ -2,7 +2,11 @@ import sys
def setup(core, actor, target, command):
if actor.getSkillMod('expertise_cooldown_line_dm'):
- command.setCooldown(command.getCooldown() - (actor.getSkillMod('expertise_cooldown_line_dm').getBase()/10))
+ command.setCooldown(command.getCooldown() - (actor.getSkillModBase('expertise_cooldown_line_dm')/10))
+
+ if actor.getSkillMod('expertise_damage_line_dm'):
+ command.setAddedDamage(command.getAddedDamage() + ((command.getAddedDamage()*actor.getSkillModBase('expertise_damage_line_dm'))/100))
+
return
def run(core, actor, target, commandString):
return
\ No newline at end of file
diff --git a/scripts/commands/combat/bh_dm_4.py b/scripts/commands/combat/bh_dm_4.py
index 707a2c00..0506c54f 100644
--- a/scripts/commands/combat/bh_dm_4.py
+++ b/scripts/commands/combat/bh_dm_4.py
@@ -2,7 +2,11 @@ import sys
def setup(core, actor, target, command):
if actor.getSkillMod('expertise_cooldown_line_dm'):
- command.setCooldown(command.getCooldown() - (actor.getSkillMod('expertise_cooldown_line_dm').getBase()/10))
+ command.setCooldown(command.getCooldown() - (actor.getSkillModBase('expertise_cooldown_line_dm')/10))
+
+ if actor.getSkillMod('expertise_damage_line_dm'):
+ command.setAddedDamage(command.getAddedDamage() + ((command.getAddedDamage()*actor.getSkillModBase('expertise_damage_line_dm'))/100))
+
return
def run(core, actor, target, commandString):
return
\ No newline at end of file
diff --git a/scripts/commands/combat/bh_dm_5.py b/scripts/commands/combat/bh_dm_5.py
index 707a2c00..0506c54f 100644
--- a/scripts/commands/combat/bh_dm_5.py
+++ b/scripts/commands/combat/bh_dm_5.py
@@ -2,7 +2,11 @@ import sys
def setup(core, actor, target, command):
if actor.getSkillMod('expertise_cooldown_line_dm'):
- command.setCooldown(command.getCooldown() - (actor.getSkillMod('expertise_cooldown_line_dm').getBase()/10))
+ command.setCooldown(command.getCooldown() - (actor.getSkillModBase('expertise_cooldown_line_dm')/10))
+
+ if actor.getSkillMod('expertise_damage_line_dm'):
+ command.setAddedDamage(command.getAddedDamage() + ((command.getAddedDamage()*actor.getSkillModBase('expertise_damage_line_dm'))/100))
+
return
def run(core, actor, target, commandString):
return
\ No newline at end of file
diff --git a/scripts/commands/combat/bh_dm_6.py b/scripts/commands/combat/bh_dm_6.py
index 707a2c00..0506c54f 100644
--- a/scripts/commands/combat/bh_dm_6.py
+++ b/scripts/commands/combat/bh_dm_6.py
@@ -2,7 +2,11 @@ import sys
def setup(core, actor, target, command):
if actor.getSkillMod('expertise_cooldown_line_dm'):
- command.setCooldown(command.getCooldown() - (actor.getSkillMod('expertise_cooldown_line_dm').getBase()/10))
+ command.setCooldown(command.getCooldown() - (actor.getSkillModBase('expertise_cooldown_line_dm')/10))
+
+ if actor.getSkillMod('expertise_damage_line_dm'):
+ command.setAddedDamage(command.getAddedDamage() + ((command.getAddedDamage()*actor.getSkillModBase('expertise_damage_line_dm'))/100))
+
return
def run(core, actor, target, commandString):
return
\ No newline at end of file
diff --git a/scripts/commands/combat/bh_dm_7.py b/scripts/commands/combat/bh_dm_7.py
index 707a2c00..0506c54f 100644
--- a/scripts/commands/combat/bh_dm_7.py
+++ b/scripts/commands/combat/bh_dm_7.py
@@ -2,7 +2,11 @@ import sys
def setup(core, actor, target, command):
if actor.getSkillMod('expertise_cooldown_line_dm'):
- command.setCooldown(command.getCooldown() - (actor.getSkillMod('expertise_cooldown_line_dm').getBase()/10))
+ command.setCooldown(command.getCooldown() - (actor.getSkillModBase('expertise_cooldown_line_dm')/10))
+
+ if actor.getSkillMod('expertise_damage_line_dm'):
+ command.setAddedDamage(command.getAddedDamage() + ((command.getAddedDamage()*actor.getSkillModBase('expertise_damage_line_dm'))/100))
+
return
def run(core, actor, target, commandString):
return
\ No newline at end of file
diff --git a/scripts/commands/combat/bh_dm_8.py b/scripts/commands/combat/bh_dm_8.py
index 707a2c00..0506c54f 100644
--- a/scripts/commands/combat/bh_dm_8.py
+++ b/scripts/commands/combat/bh_dm_8.py
@@ -2,7 +2,11 @@ import sys
def setup(core, actor, target, command):
if actor.getSkillMod('expertise_cooldown_line_dm'):
- command.setCooldown(command.getCooldown() - (actor.getSkillMod('expertise_cooldown_line_dm').getBase()/10))
+ command.setCooldown(command.getCooldown() - (actor.getSkillModBase('expertise_cooldown_line_dm')/10))
+
+ if actor.getSkillMod('expertise_damage_line_dm'):
+ command.setAddedDamage(command.getAddedDamage() + ((command.getAddedDamage()*actor.getSkillModBase('expertise_damage_line_dm'))/100))
+
return
def run(core, actor, target, commandString):
return
\ No newline at end of file
diff --git a/scripts/commands/combat/bh_dm_crit_1.py b/scripts/commands/combat/bh_dm_crit_1.py
index 94292ffd..c12e2a2a 100644
--- a/scripts/commands/combat/bh_dm_crit_1.py
+++ b/scripts/commands/combat/bh_dm_crit_1.py
@@ -2,7 +2,17 @@ import sys
def setup(core, actor, target, command):
if actor.getSkillMod('expertise_cooldown_line_dm_crit'):
- command.setCooldown(command.getCooldown() - (actor.getSkillMod('expertise_cooldown_line_dm_crit').getBase()/10))
+ command.setCooldown(command.getCooldown() - (actor.getSkillModBase('expertise_cooldown_line_dm_crit')/10))
+
+ if actor.getSkillMod('expertise_damage_line_dm_crit'):
+ command.setAddedDamage(command.getAddedDamage() + ((command.getAddedDamage()*actor.getSkillModBase('expertise_damage_line_dm_crit'))/100))
+
+ if actor.getSkillMod('expertise_action_line_dm_crit'):
+ command.setActionCost(command.getActionCost() - ((command.getActionCost()*actor.getSkillModBase('expertise_action_line_dm_crit'))/100))
+
+ if actor.getSkillMod('expertise_critical_line_dm_crit'):
+ command.setCriticalChance(command.getCriticalChance + actor.getSkillModBase('expertise_critical_line_dm_crit'))
+
return
def run(core, actor, target, commandString):
diff --git a/scripts/commands/combat/bh_dm_crit_2.py b/scripts/commands/combat/bh_dm_crit_2.py
index 94292ffd..c12e2a2a 100644
--- a/scripts/commands/combat/bh_dm_crit_2.py
+++ b/scripts/commands/combat/bh_dm_crit_2.py
@@ -2,7 +2,17 @@ import sys
def setup(core, actor, target, command):
if actor.getSkillMod('expertise_cooldown_line_dm_crit'):
- command.setCooldown(command.getCooldown() - (actor.getSkillMod('expertise_cooldown_line_dm_crit').getBase()/10))
+ command.setCooldown(command.getCooldown() - (actor.getSkillModBase('expertise_cooldown_line_dm_crit')/10))
+
+ if actor.getSkillMod('expertise_damage_line_dm_crit'):
+ command.setAddedDamage(command.getAddedDamage() + ((command.getAddedDamage()*actor.getSkillModBase('expertise_damage_line_dm_crit'))/100))
+
+ if actor.getSkillMod('expertise_action_line_dm_crit'):
+ command.setActionCost(command.getActionCost() - ((command.getActionCost()*actor.getSkillModBase('expertise_action_line_dm_crit'))/100))
+
+ if actor.getSkillMod('expertise_critical_line_dm_crit'):
+ command.setCriticalChance(command.getCriticalChance + actor.getSkillModBase('expertise_critical_line_dm_crit'))
+
return
def run(core, actor, target, commandString):
diff --git a/scripts/commands/combat/bh_dm_crit_3.py b/scripts/commands/combat/bh_dm_crit_3.py
index 94b54628..c12e2a2a 100644
--- a/scripts/commands/combat/bh_dm_crit_3.py
+++ b/scripts/commands/combat/bh_dm_crit_3.py
@@ -2,8 +2,18 @@ import sys
def setup(core, actor, target, command):
if actor.getSkillMod('expertise_cooldown_line_dm_crit'):
- command.setCooldown(command.getCooldown() - (actor.getSkillMod('expertise_cooldown_line_dm_crit').getBase()/10))
+ command.setCooldown(command.getCooldown() - (actor.getSkillModBase('expertise_cooldown_line_dm_crit')/10))
+
+ if actor.getSkillMod('expertise_damage_line_dm_crit'):
+ command.setAddedDamage(command.getAddedDamage() + ((command.getAddedDamage()*actor.getSkillModBase('expertise_damage_line_dm_crit'))/100))
+
+ if actor.getSkillMod('expertise_action_line_dm_crit'):
+ command.setActionCost(command.getActionCost() - ((command.getActionCost()*actor.getSkillModBase('expertise_action_line_dm_crit'))/100))
+
+ if actor.getSkillMod('expertise_critical_line_dm_crit'):
+ command.setCriticalChance(command.getCriticalChance + actor.getSkillModBase('expertise_critical_line_dm_crit'))
+
return
-
+
def run(core, actor, target, commandString):
return
\ No newline at end of file
diff --git a/scripts/commands/combat/bh_dm_crit_4.py b/scripts/commands/combat/bh_dm_crit_4.py
index 94b54628..c12e2a2a 100644
--- a/scripts/commands/combat/bh_dm_crit_4.py
+++ b/scripts/commands/combat/bh_dm_crit_4.py
@@ -2,8 +2,18 @@ import sys
def setup(core, actor, target, command):
if actor.getSkillMod('expertise_cooldown_line_dm_crit'):
- command.setCooldown(command.getCooldown() - (actor.getSkillMod('expertise_cooldown_line_dm_crit').getBase()/10))
+ command.setCooldown(command.getCooldown() - (actor.getSkillModBase('expertise_cooldown_line_dm_crit')/10))
+
+ if actor.getSkillMod('expertise_damage_line_dm_crit'):
+ command.setAddedDamage(command.getAddedDamage() + ((command.getAddedDamage()*actor.getSkillModBase('expertise_damage_line_dm_crit'))/100))
+
+ if actor.getSkillMod('expertise_action_line_dm_crit'):
+ command.setActionCost(command.getActionCost() - ((command.getActionCost()*actor.getSkillModBase('expertise_action_line_dm_crit'))/100))
+
+ if actor.getSkillMod('expertise_critical_line_dm_crit'):
+ command.setCriticalChance(command.getCriticalChance + actor.getSkillModBase('expertise_critical_line_dm_crit'))
+
return
-
+
def run(core, actor, target, commandString):
return
\ No newline at end of file
diff --git a/scripts/commands/combat/bh_dm_crit_5.py b/scripts/commands/combat/bh_dm_crit_5.py
index 94b54628..c12e2a2a 100644
--- a/scripts/commands/combat/bh_dm_crit_5.py
+++ b/scripts/commands/combat/bh_dm_crit_5.py
@@ -2,8 +2,18 @@ import sys
def setup(core, actor, target, command):
if actor.getSkillMod('expertise_cooldown_line_dm_crit'):
- command.setCooldown(command.getCooldown() - (actor.getSkillMod('expertise_cooldown_line_dm_crit').getBase()/10))
+ command.setCooldown(command.getCooldown() - (actor.getSkillModBase('expertise_cooldown_line_dm_crit')/10))
+
+ if actor.getSkillMod('expertise_damage_line_dm_crit'):
+ command.setAddedDamage(command.getAddedDamage() + ((command.getAddedDamage()*actor.getSkillModBase('expertise_damage_line_dm_crit'))/100))
+
+ if actor.getSkillMod('expertise_action_line_dm_crit'):
+ command.setActionCost(command.getActionCost() - ((command.getActionCost()*actor.getSkillModBase('expertise_action_line_dm_crit'))/100))
+
+ if actor.getSkillMod('expertise_critical_line_dm_crit'):
+ command.setCriticalChance(command.getCriticalChance + actor.getSkillModBase('expertise_critical_line_dm_crit'))
+
return
-
+
def run(core, actor, target, commandString):
return
\ No newline at end of file
diff --git a/scripts/commands/combat/bh_dm_crit_6.py b/scripts/commands/combat/bh_dm_crit_6.py
index 94b54628..c12e2a2a 100644
--- a/scripts/commands/combat/bh_dm_crit_6.py
+++ b/scripts/commands/combat/bh_dm_crit_6.py
@@ -2,8 +2,18 @@ import sys
def setup(core, actor, target, command):
if actor.getSkillMod('expertise_cooldown_line_dm_crit'):
- command.setCooldown(command.getCooldown() - (actor.getSkillMod('expertise_cooldown_line_dm_crit').getBase()/10))
+ command.setCooldown(command.getCooldown() - (actor.getSkillModBase('expertise_cooldown_line_dm_crit')/10))
+
+ if actor.getSkillMod('expertise_damage_line_dm_crit'):
+ command.setAddedDamage(command.getAddedDamage() + ((command.getAddedDamage()*actor.getSkillModBase('expertise_damage_line_dm_crit'))/100))
+
+ if actor.getSkillMod('expertise_action_line_dm_crit'):
+ command.setActionCost(command.getActionCost() - ((command.getActionCost()*actor.getSkillModBase('expertise_action_line_dm_crit'))/100))
+
+ if actor.getSkillMod('expertise_critical_line_dm_crit'):
+ command.setCriticalChance(command.getCriticalChance + actor.getSkillModBase('expertise_critical_line_dm_crit'))
+
return
-
+
def run(core, actor, target, commandString):
return
\ No newline at end of file
diff --git a/scripts/commands/combat/bh_dm_crit_7.py b/scripts/commands/combat/bh_dm_crit_7.py
index 94b54628..c12e2a2a 100644
--- a/scripts/commands/combat/bh_dm_crit_7.py
+++ b/scripts/commands/combat/bh_dm_crit_7.py
@@ -2,8 +2,18 @@ import sys
def setup(core, actor, target, command):
if actor.getSkillMod('expertise_cooldown_line_dm_crit'):
- command.setCooldown(command.getCooldown() - (actor.getSkillMod('expertise_cooldown_line_dm_crit').getBase()/10))
+ command.setCooldown(command.getCooldown() - (actor.getSkillModBase('expertise_cooldown_line_dm_crit')/10))
+
+ if actor.getSkillMod('expertise_damage_line_dm_crit'):
+ command.setAddedDamage(command.getAddedDamage() + ((command.getAddedDamage()*actor.getSkillModBase('expertise_damage_line_dm_crit'))/100))
+
+ if actor.getSkillMod('expertise_action_line_dm_crit'):
+ command.setActionCost(command.getActionCost() - ((command.getActionCost()*actor.getSkillModBase('expertise_action_line_dm_crit'))/100))
+
+ if actor.getSkillMod('expertise_critical_line_dm_crit'):
+ command.setCriticalChance(command.getCriticalChance + actor.getSkillModBase('expertise_critical_line_dm_crit'))
+
return
-
+
def run(core, actor, target, commandString):
return
\ No newline at end of file
diff --git a/scripts/commands/combat/bh_dm_crit_8.py b/scripts/commands/combat/bh_dm_crit_8.py
index 94b54628..c12e2a2a 100644
--- a/scripts/commands/combat/bh_dm_crit_8.py
+++ b/scripts/commands/combat/bh_dm_crit_8.py
@@ -2,8 +2,18 @@ import sys
def setup(core, actor, target, command):
if actor.getSkillMod('expertise_cooldown_line_dm_crit'):
- command.setCooldown(command.getCooldown() - (actor.getSkillMod('expertise_cooldown_line_dm_crit').getBase()/10))
+ command.setCooldown(command.getCooldown() - (actor.getSkillModBase('expertise_cooldown_line_dm_crit')/10))
+
+ if actor.getSkillMod('expertise_damage_line_dm_crit'):
+ command.setAddedDamage(command.getAddedDamage() + ((command.getAddedDamage()*actor.getSkillModBase('expertise_damage_line_dm_crit'))/100))
+
+ if actor.getSkillMod('expertise_action_line_dm_crit'):
+ command.setActionCost(command.getActionCost() - ((command.getActionCost()*actor.getSkillModBase('expertise_action_line_dm_crit'))/100))
+
+ if actor.getSkillMod('expertise_critical_line_dm_crit'):
+ command.setCriticalChance(command.getCriticalChance + actor.getSkillModBase('expertise_critical_line_dm_crit'))
+
return
-
+
def run(core, actor, target, commandString):
return
\ No newline at end of file
diff --git a/scripts/commands/combat/co_position_secured.py b/scripts/commands/combat/co_position_secured.py
new file mode 100644
index 00000000..84e13b7a
--- /dev/null
+++ b/scripts/commands/combat/co_position_secured.py
@@ -0,0 +1,9 @@
+from resources.objects import Buff
+import sys
+
+def setup(core, actor, target, command):
+ return
+
+def run(core, actor, target, commandString):
+ return
+
\ No newline at end of file
diff --git a/scripts/commands/combat/en_spiral_kick_0.py b/scripts/commands/combat/en_spiral_kick_0.py
new file mode 100644
index 00000000..eee76225
--- /dev/null
+++ b/scripts/commands/combat/en_spiral_kick_0.py
@@ -0,0 +1,11 @@
+import sys
+
+def setup(core, actor, target, command):
+ core.buffService.addBuffToCreature(target, 'en_spiral_kick_snare')
+ return
+
+def preRun(core, actor, target, command):
+ return
+
+def run(core, actor, target, commandString):
+ return
\ No newline at end of file
diff --git a/scripts/commands/combat/en_spiral_kick_1.py b/scripts/commands/combat/en_spiral_kick_1.py
new file mode 100644
index 00000000..eee76225
--- /dev/null
+++ b/scripts/commands/combat/en_spiral_kick_1.py
@@ -0,0 +1,11 @@
+import sys
+
+def setup(core, actor, target, command):
+ core.buffService.addBuffToCreature(target, 'en_spiral_kick_snare')
+ return
+
+def preRun(core, actor, target, command):
+ return
+
+def run(core, actor, target, commandString):
+ return
\ No newline at end of file
diff --git a/scripts/commands/combat/en_spiral_kick_2.py b/scripts/commands/combat/en_spiral_kick_2.py
new file mode 100644
index 00000000..eee76225
--- /dev/null
+++ b/scripts/commands/combat/en_spiral_kick_2.py
@@ -0,0 +1,11 @@
+import sys
+
+def setup(core, actor, target, command):
+ core.buffService.addBuffToCreature(target, 'en_spiral_kick_snare')
+ return
+
+def preRun(core, actor, target, command):
+ return
+
+def run(core, actor, target, commandString):
+ return
\ No newline at end of file
diff --git a/scripts/commands/combat/en_spiral_kick_3.py b/scripts/commands/combat/en_spiral_kick_3.py
new file mode 100644
index 00000000..eee76225
--- /dev/null
+++ b/scripts/commands/combat/en_spiral_kick_3.py
@@ -0,0 +1,11 @@
+import sys
+
+def setup(core, actor, target, command):
+ core.buffService.addBuffToCreature(target, 'en_spiral_kick_snare')
+ return
+
+def preRun(core, actor, target, command):
+ return
+
+def run(core, actor, target, commandString):
+ return
\ No newline at end of file
diff --git a/scripts/commands/combat/en_spiral_kick_4.py b/scripts/commands/combat/en_spiral_kick_4.py
new file mode 100644
index 00000000..eee76225
--- /dev/null
+++ b/scripts/commands/combat/en_spiral_kick_4.py
@@ -0,0 +1,11 @@
+import sys
+
+def setup(core, actor, target, command):
+ core.buffService.addBuffToCreature(target, 'en_spiral_kick_snare')
+ return
+
+def preRun(core, actor, target, command):
+ return
+
+def run(core, actor, target, commandString):
+ return
\ No newline at end of file
diff --git a/scripts/commands/combat/en_thrill.py b/scripts/commands/combat/en_thrill.py
new file mode 100644
index 00000000..868b6bed
--- /dev/null
+++ b/scripts/commands/combat/en_thrill.py
@@ -0,0 +1,11 @@
+import sys
+
+def setup(core, actor, target, command):
+ core.buffService.addBuffToCreature(target, 'en_debuff_thrill')
+ return
+
+def preRun(core, actor, target, command):
+ return
+
+def run(core, actor, target, commandString):
+ return
\ No newline at end of file
diff --git a/scripts/commands/combat/en_thrill_1.py b/scripts/commands/combat/en_thrill_1.py
new file mode 100644
index 00000000..c3fd3fc2
--- /dev/null
+++ b/scripts/commands/combat/en_thrill_1.py
@@ -0,0 +1,11 @@
+import sys
+
+def setup(core, actor, target, command):
+ core.buffService.addBuffToCreature(target, 'en_debuff_thrill_1')
+ return
+
+def preRun(core, actor, target, command):
+ return
+
+def run(core, actor, target, commandString):
+ return
\ No newline at end of file
diff --git a/scripts/commands/combat/en_thrill_2.py b/scripts/commands/combat/en_thrill_2.py
new file mode 100644
index 00000000..c3fd3fc2
--- /dev/null
+++ b/scripts/commands/combat/en_thrill_2.py
@@ -0,0 +1,11 @@
+import sys
+
+def setup(core, actor, target, command):
+ core.buffService.addBuffToCreature(target, 'en_debuff_thrill_1')
+ return
+
+def preRun(core, actor, target, command):
+ return
+
+def run(core, actor, target, commandString):
+ return
\ No newline at end of file
diff --git a/scripts/commands/combat/en_thrill_3.py b/scripts/commands/combat/en_thrill_3.py
new file mode 100644
index 00000000..2783c9d7
--- /dev/null
+++ b/scripts/commands/combat/en_thrill_3.py
@@ -0,0 +1,11 @@
+import sys
+
+def setup(core, actor, target, command):
+ core.buffService.addBuffToCreature(target, 'en_debuff_thrill_2')
+ return
+
+def preRun(core, actor, target, command):
+ return
+
+def run(core, actor, target, commandString):
+ return
\ No newline at end of file
diff --git a/scripts/commands/combat/en_unhealthy_fixation.py b/scripts/commands/combat/en_unhealthy_fixation.py
new file mode 100644
index 00000000..620dd09a
--- /dev/null
+++ b/scripts/commands/combat/en_unhealthy_fixation.py
@@ -0,0 +1,11 @@
+import sys
+
+def setup(core, actor, target, command):
+ core.buffService.addBuffToCreature(target, 'en_unhealthy_fixation_debuff')
+ return
+
+def preRun(core, actor, target, command):
+ return
+
+def run(core, actor, target, commandString):
+ return
\ No newline at end of file
diff --git a/scripts/commands/combat/en_void_dance.py b/scripts/commands/combat/en_void_dance.py
new file mode 100644
index 00000000..2354238e
--- /dev/null
+++ b/scripts/commands/combat/en_void_dance.py
@@ -0,0 +1,11 @@
+import sys
+
+def setup(core, actor, target, command):
+ core.buffService.addBuffToCreature(target, 'en_void_dance_buff')
+ return
+
+def preRun(core, actor, target, command):
+ return
+
+def run(core, actor, target, commandString):
+ return
\ No newline at end of file
diff --git a/scripts/commands/combat/en_void_dance_1.py b/scripts/commands/combat/en_void_dance_1.py
new file mode 100644
index 00000000..cdc97c59
--- /dev/null
+++ b/scripts/commands/combat/en_void_dance_1.py
@@ -0,0 +1,11 @@
+import sys
+
+def setup(core, actor, target, command):
+ core.buffService.addBuffToCreature(target, 'en_void_dance_buff_1')
+ return
+
+def preRun(core, actor, target, command):
+ return
+
+def run(core, actor, target, commandString):
+ return
\ No newline at end of file
diff --git a/scripts/commands/combat/en_void_dance_2.py b/scripts/commands/combat/en_void_dance_2.py
new file mode 100644
index 00000000..186e477a
--- /dev/null
+++ b/scripts/commands/combat/en_void_dance_2.py
@@ -0,0 +1,11 @@
+import sys
+
+def setup(core, actor, target, command):
+ core.buffService.addBuffToCreature(target, 'en_void_dance_buff_2')
+ return
+
+def preRun(core, actor, target, command):
+ return
+
+def run(core, actor, target, commandString):
+ return
\ No newline at end of file
diff --git a/scripts/commands/combat/en_void_dance_3.py b/scripts/commands/combat/en_void_dance_3.py
new file mode 100644
index 00000000..77d58c3d
--- /dev/null
+++ b/scripts/commands/combat/en_void_dance_3.py
@@ -0,0 +1,11 @@
+import sys
+
+def setup(core, actor, target, command):
+ core.buffService.addBuffToCreature(target, 'en_void_dance_buff_3')
+ return
+
+def preRun(core, actor, target, command):
+ return
+
+def run(core, actor, target, commandString):
+ return
\ No newline at end of file
diff --git a/scripts/commands/combat/fs_ae_dm_cc_1.py b/scripts/commands/combat/fs_ae_dm_cc_1.py
new file mode 100644
index 00000000..70a66b61
--- /dev/null
+++ b/scripts/commands/combat/fs_ae_dm_cc_1.py
@@ -0,0 +1,11 @@
+import sys
+
+def setup(core, actor, target, command):
+
+ if actor.getSkillMod('expertise_fs_dm_armor_bypass'):
+ command.setBypassArmor(actor.getSkillModBase("expertise_fs_dm_armor_bypass"))
+
+ return
+
+def run(core, actor, target, commandString):
+ return
\ No newline at end of file
diff --git a/scripts/commands/combat/fs_ae_dm_cc_2.py b/scripts/commands/combat/fs_ae_dm_cc_2.py
new file mode 100644
index 00000000..70a66b61
--- /dev/null
+++ b/scripts/commands/combat/fs_ae_dm_cc_2.py
@@ -0,0 +1,11 @@
+import sys
+
+def setup(core, actor, target, command):
+
+ if actor.getSkillMod('expertise_fs_dm_armor_bypass'):
+ command.setBypassArmor(actor.getSkillModBase("expertise_fs_dm_armor_bypass"))
+
+ return
+
+def run(core, actor, target, commandString):
+ return
\ No newline at end of file
diff --git a/scripts/commands/combat/fs_ae_dm_cc_3.py b/scripts/commands/combat/fs_ae_dm_cc_3.py
new file mode 100644
index 00000000..70a66b61
--- /dev/null
+++ b/scripts/commands/combat/fs_ae_dm_cc_3.py
@@ -0,0 +1,11 @@
+import sys
+
+def setup(core, actor, target, command):
+
+ if actor.getSkillMod('expertise_fs_dm_armor_bypass'):
+ command.setBypassArmor(actor.getSkillModBase("expertise_fs_dm_armor_bypass"))
+
+ return
+
+def run(core, actor, target, commandString):
+ return
\ No newline at end of file
diff --git a/scripts/commands/combat/fs_ae_dm_cc_4.py b/scripts/commands/combat/fs_ae_dm_cc_4.py
new file mode 100644
index 00000000..70a66b61
--- /dev/null
+++ b/scripts/commands/combat/fs_ae_dm_cc_4.py
@@ -0,0 +1,11 @@
+import sys
+
+def setup(core, actor, target, command):
+
+ if actor.getSkillMod('expertise_fs_dm_armor_bypass'):
+ command.setBypassArmor(actor.getSkillModBase("expertise_fs_dm_armor_bypass"))
+
+ return
+
+def run(core, actor, target, commandString):
+ return
\ No newline at end of file
diff --git a/scripts/commands/combat/fs_ae_dm_cc_5.py b/scripts/commands/combat/fs_ae_dm_cc_5.py
new file mode 100644
index 00000000..70a66b61
--- /dev/null
+++ b/scripts/commands/combat/fs_ae_dm_cc_5.py
@@ -0,0 +1,11 @@
+import sys
+
+def setup(core, actor, target, command):
+
+ if actor.getSkillMod('expertise_fs_dm_armor_bypass'):
+ command.setBypassArmor(actor.getSkillModBase("expertise_fs_dm_armor_bypass"))
+
+ return
+
+def run(core, actor, target, commandString):
+ return
\ No newline at end of file
diff --git a/scripts/commands/combat/fs_ae_dm_cc_6.py b/scripts/commands/combat/fs_ae_dm_cc_6.py
new file mode 100644
index 00000000..70a66b61
--- /dev/null
+++ b/scripts/commands/combat/fs_ae_dm_cc_6.py
@@ -0,0 +1,11 @@
+import sys
+
+def setup(core, actor, target, command):
+
+ if actor.getSkillMod('expertise_fs_dm_armor_bypass'):
+ command.setBypassArmor(actor.getSkillModBase("expertise_fs_dm_armor_bypass"))
+
+ return
+
+def run(core, actor, target, commandString):
+ return
\ No newline at end of file
diff --git a/scripts/commands/combat/fs_dm_cc_crit_1.py b/scripts/commands/combat/fs_dm_cc_crit_1.py
new file mode 100644
index 00000000..493481d7
--- /dev/null
+++ b/scripts/commands/combat/fs_dm_cc_crit_1.py
@@ -0,0 +1,10 @@
+import sys
+
+def setup(core, actor, buff):
+ actor.setSpeedMultiplierBase(0.5)
+ return
+
+def removeBuff(core, actor, buff):
+ actor.setSpeedMultiplierBase(1)
+ return
+
\ No newline at end of file
diff --git a/scripts/commands/combat/fs_drain_1.py b/scripts/commands/combat/fs_drain_1.py
new file mode 100644
index 00000000..c7937d1e
--- /dev/null
+++ b/scripts/commands/combat/fs_drain_1.py
@@ -0,0 +1,16 @@
+import sys
+
+def setup(core, actor, target, command):
+
+ if actor.getSkillMod('expertise_fs_dm_armor_bypass'):
+ command.setBypassArmor(actor.getSkillModBase("expertise_fs_dm_armor_bypass"))
+
+ return
+
+def run(core, actor, target, damage):
+
+ if actor.getSkillMod('expertise_fs_imp_drain'):
+ damage *= (100 + float(actor.getSkillModBase('expertise_fs_imp_drain')))/100
+
+ core.combatService.doDrainHeal(actor, int(damage))
+ return
\ No newline at end of file
diff --git a/scripts/commands/combat/fs_drain_2.py b/scripts/commands/combat/fs_drain_2.py
new file mode 100644
index 00000000..c7937d1e
--- /dev/null
+++ b/scripts/commands/combat/fs_drain_2.py
@@ -0,0 +1,16 @@
+import sys
+
+def setup(core, actor, target, command):
+
+ if actor.getSkillMod('expertise_fs_dm_armor_bypass'):
+ command.setBypassArmor(actor.getSkillModBase("expertise_fs_dm_armor_bypass"))
+
+ return
+
+def run(core, actor, target, damage):
+
+ if actor.getSkillMod('expertise_fs_imp_drain'):
+ damage *= (100 + float(actor.getSkillModBase('expertise_fs_imp_drain')))/100
+
+ core.combatService.doDrainHeal(actor, int(damage))
+ return
\ No newline at end of file
diff --git a/scripts/commands/combat/fs_drain_3.py b/scripts/commands/combat/fs_drain_3.py
new file mode 100644
index 00000000..c7937d1e
--- /dev/null
+++ b/scripts/commands/combat/fs_drain_3.py
@@ -0,0 +1,16 @@
+import sys
+
+def setup(core, actor, target, command):
+
+ if actor.getSkillMod('expertise_fs_dm_armor_bypass'):
+ command.setBypassArmor(actor.getSkillModBase("expertise_fs_dm_armor_bypass"))
+
+ return
+
+def run(core, actor, target, damage):
+
+ if actor.getSkillMod('expertise_fs_imp_drain'):
+ damage *= (100 + float(actor.getSkillModBase('expertise_fs_imp_drain')))/100
+
+ core.combatService.doDrainHeal(actor, int(damage))
+ return
\ No newline at end of file
diff --git a/scripts/commands/combat/fs_drain_4.py b/scripts/commands/combat/fs_drain_4.py
new file mode 100644
index 00000000..c7937d1e
--- /dev/null
+++ b/scripts/commands/combat/fs_drain_4.py
@@ -0,0 +1,16 @@
+import sys
+
+def setup(core, actor, target, command):
+
+ if actor.getSkillMod('expertise_fs_dm_armor_bypass'):
+ command.setBypassArmor(actor.getSkillModBase("expertise_fs_dm_armor_bypass"))
+
+ return
+
+def run(core, actor, target, damage):
+
+ if actor.getSkillMod('expertise_fs_imp_drain'):
+ damage *= (100 + float(actor.getSkillModBase('expertise_fs_imp_drain')))/100
+
+ core.combatService.doDrainHeal(actor, int(damage))
+ return
\ No newline at end of file
diff --git a/scripts/commands/combat/fs_drain_5.py b/scripts/commands/combat/fs_drain_5.py
new file mode 100644
index 00000000..c7937d1e
--- /dev/null
+++ b/scripts/commands/combat/fs_drain_5.py
@@ -0,0 +1,16 @@
+import sys
+
+def setup(core, actor, target, command):
+
+ if actor.getSkillMod('expertise_fs_dm_armor_bypass'):
+ command.setBypassArmor(actor.getSkillModBase("expertise_fs_dm_armor_bypass"))
+
+ return
+
+def run(core, actor, target, damage):
+
+ if actor.getSkillMod('expertise_fs_imp_drain'):
+ damage *= (100 + float(actor.getSkillModBase('expertise_fs_imp_drain')))/100
+
+ core.combatService.doDrainHeal(actor, int(damage))
+ return
\ No newline at end of file
diff --git a/scripts/commands/combat/fs_flurry_1.py b/scripts/commands/combat/fs_flurry_1.py
index 1d6cd02c..5e5c429e 100644
--- a/scripts/commands/combat/fs_flurry_1.py
+++ b/scripts/commands/combat/fs_flurry_1.py
@@ -7,9 +7,6 @@ def setup(core, actor, target, command):
if actor.getSkillMod('expertise_critical_line_fs_dm'):
command.setCriticalChance(command.getCriticalChance() + actor.getSkillMod('expertise_critical_line_fs_dm').getBase())
- if actor.getSkillMod('expertise_action_line_fs_dm'):
- command.setActionCost(command.getActionCost() - ((command.getActionCost() * actor.getSkillMod('expertise_action_line_fs_dm').getBase())/100))
-
return
def run(core, actor, target, commandString):
diff --git a/scripts/commands/combat/fs_flurry_2.py b/scripts/commands/combat/fs_flurry_2.py
index 1d6cd02c..5e5c429e 100644
--- a/scripts/commands/combat/fs_flurry_2.py
+++ b/scripts/commands/combat/fs_flurry_2.py
@@ -7,9 +7,6 @@ def setup(core, actor, target, command):
if actor.getSkillMod('expertise_critical_line_fs_dm'):
command.setCriticalChance(command.getCriticalChance() + actor.getSkillMod('expertise_critical_line_fs_dm').getBase())
- if actor.getSkillMod('expertise_action_line_fs_dm'):
- command.setActionCost(command.getActionCost() - ((command.getActionCost() * actor.getSkillMod('expertise_action_line_fs_dm').getBase())/100))
-
return
def run(core, actor, target, commandString):
diff --git a/scripts/commands/combat/fs_flurry_3.py b/scripts/commands/combat/fs_flurry_3.py
index 1d6cd02c..5e5c429e 100644
--- a/scripts/commands/combat/fs_flurry_3.py
+++ b/scripts/commands/combat/fs_flurry_3.py
@@ -7,9 +7,6 @@ def setup(core, actor, target, command):
if actor.getSkillMod('expertise_critical_line_fs_dm'):
command.setCriticalChance(command.getCriticalChance() + actor.getSkillMod('expertise_critical_line_fs_dm').getBase())
- if actor.getSkillMod('expertise_action_line_fs_dm'):
- command.setActionCost(command.getActionCost() - ((command.getActionCost() * actor.getSkillMod('expertise_action_line_fs_dm').getBase())/100))
-
return
def run(core, actor, target, commandString):
diff --git a/scripts/commands/combat/fs_flurry_4.py b/scripts/commands/combat/fs_flurry_4.py
index 1d6cd02c..5e5c429e 100644
--- a/scripts/commands/combat/fs_flurry_4.py
+++ b/scripts/commands/combat/fs_flurry_4.py
@@ -7,9 +7,6 @@ def setup(core, actor, target, command):
if actor.getSkillMod('expertise_critical_line_fs_dm'):
command.setCriticalChance(command.getCriticalChance() + actor.getSkillMod('expertise_critical_line_fs_dm').getBase())
- if actor.getSkillMod('expertise_action_line_fs_dm'):
- command.setActionCost(command.getActionCost() - ((command.getActionCost() * actor.getSkillMod('expertise_action_line_fs_dm').getBase())/100))
-
return
def run(core, actor, target, commandString):
diff --git a/scripts/commands/combat/fs_flurry_5.py b/scripts/commands/combat/fs_flurry_5.py
index 1d6cd02c..5e5c429e 100644
--- a/scripts/commands/combat/fs_flurry_5.py
+++ b/scripts/commands/combat/fs_flurry_5.py
@@ -7,9 +7,6 @@ def setup(core, actor, target, command):
if actor.getSkillMod('expertise_critical_line_fs_dm'):
command.setCriticalChance(command.getCriticalChance() + actor.getSkillMod('expertise_critical_line_fs_dm').getBase())
- if actor.getSkillMod('expertise_action_line_fs_dm'):
- command.setActionCost(command.getActionCost() - ((command.getActionCost() * actor.getSkillMod('expertise_action_line_fs_dm').getBase())/100))
-
return
def run(core, actor, target, commandString):
diff --git a/scripts/commands/combat/fs_flurry_6.py b/scripts/commands/combat/fs_flurry_6.py
index 1d6cd02c..5e5c429e 100644
--- a/scripts/commands/combat/fs_flurry_6.py
+++ b/scripts/commands/combat/fs_flurry_6.py
@@ -7,9 +7,6 @@ def setup(core, actor, target, command):
if actor.getSkillMod('expertise_critical_line_fs_dm'):
command.setCriticalChance(command.getCriticalChance() + actor.getSkillMod('expertise_critical_line_fs_dm').getBase())
- if actor.getSkillMod('expertise_action_line_fs_dm'):
- command.setActionCost(command.getActionCost() - ((command.getActionCost() * actor.getSkillMod('expertise_action_line_fs_dm').getBase())/100))
-
return
def run(core, actor, target, commandString):
diff --git a/scripts/commands/combat/fs_flurry_7.py b/scripts/commands/combat/fs_flurry_7.py
index 1d6cd02c..5e5c429e 100644
--- a/scripts/commands/combat/fs_flurry_7.py
+++ b/scripts/commands/combat/fs_flurry_7.py
@@ -7,9 +7,6 @@ def setup(core, actor, target, command):
if actor.getSkillMod('expertise_critical_line_fs_dm'):
command.setCriticalChance(command.getCriticalChance() + actor.getSkillMod('expertise_critical_line_fs_dm').getBase())
- if actor.getSkillMod('expertise_action_line_fs_dm'):
- command.setActionCost(command.getActionCost() - ((command.getActionCost() * actor.getSkillMod('expertise_action_line_fs_dm').getBase())/100))
-
return
def run(core, actor, target, commandString):
diff --git a/scripts/commands/combat/fs_maelstrom_1.py b/scripts/commands/combat/fs_maelstrom_1.py
new file mode 100644
index 00000000..70a66b61
--- /dev/null
+++ b/scripts/commands/combat/fs_maelstrom_1.py
@@ -0,0 +1,11 @@
+import sys
+
+def setup(core, actor, target, command):
+
+ if actor.getSkillMod('expertise_fs_dm_armor_bypass'):
+ command.setBypassArmor(actor.getSkillModBase("expertise_fs_dm_armor_bypass"))
+
+ return
+
+def run(core, actor, target, commandString):
+ return
\ No newline at end of file
diff --git a/scripts/commands/combat/fs_maelstrom_2.py b/scripts/commands/combat/fs_maelstrom_2.py
new file mode 100644
index 00000000..70a66b61
--- /dev/null
+++ b/scripts/commands/combat/fs_maelstrom_2.py
@@ -0,0 +1,11 @@
+import sys
+
+def setup(core, actor, target, command):
+
+ if actor.getSkillMod('expertise_fs_dm_armor_bypass'):
+ command.setBypassArmor(actor.getSkillModBase("expertise_fs_dm_armor_bypass"))
+
+ return
+
+def run(core, actor, target, commandString):
+ return
\ No newline at end of file
diff --git a/scripts/commands/combat/fs_maelstrom_3.py b/scripts/commands/combat/fs_maelstrom_3.py
new file mode 100644
index 00000000..70a66b61
--- /dev/null
+++ b/scripts/commands/combat/fs_maelstrom_3.py
@@ -0,0 +1,11 @@
+import sys
+
+def setup(core, actor, target, command):
+
+ if actor.getSkillMod('expertise_fs_dm_armor_bypass'):
+ command.setBypassArmor(actor.getSkillModBase("expertise_fs_dm_armor_bypass"))
+
+ return
+
+def run(core, actor, target, commandString):
+ return
\ No newline at end of file
diff --git a/scripts/commands/combat/fs_maelstrom_4.py b/scripts/commands/combat/fs_maelstrom_4.py
new file mode 100644
index 00000000..70a66b61
--- /dev/null
+++ b/scripts/commands/combat/fs_maelstrom_4.py
@@ -0,0 +1,11 @@
+import sys
+
+def setup(core, actor, target, command):
+
+ if actor.getSkillMod('expertise_fs_dm_armor_bypass'):
+ command.setBypassArmor(actor.getSkillModBase("expertise_fs_dm_armor_bypass"))
+
+ return
+
+def run(core, actor, target, commandString):
+ return
\ No newline at end of file
diff --git a/scripts/commands/combat/fs_maelstrom_5.py b/scripts/commands/combat/fs_maelstrom_5.py
new file mode 100644
index 00000000..70a66b61
--- /dev/null
+++ b/scripts/commands/combat/fs_maelstrom_5.py
@@ -0,0 +1,11 @@
+import sys
+
+def setup(core, actor, target, command):
+
+ if actor.getSkillMod('expertise_fs_dm_armor_bypass'):
+ command.setBypassArmor(actor.getSkillModBase("expertise_fs_dm_armor_bypass"))
+
+ return
+
+def run(core, actor, target, commandString):
+ return
\ No newline at end of file
diff --git a/scripts/commands/covercharge.py b/scripts/commands/covercharge.py
new file mode 100644
index 00000000..d0eae641
--- /dev/null
+++ b/scripts/commands/covercharge.py
@@ -0,0 +1,46 @@
+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):
+ ghost = actor.getSlottedObject('ghost')
+ if ghost.getProfession() != 'entertainer_1a':
+ actor.sendSystemMessage('@performance:cc_no_skill', 0)
+ return
+ if commandString == '0':
+ actor.setCoverCharge(0)
+ actor.sendSystemMessage('@performance:cc_stop_charge', 0)
+ return
+
+ if commandString == None or commandString == '':
+ window = core.suiService.createInputBox(2, '@performance:cc_set_title', '@performance:cc_set_prompt', actor, None, 10, handleCoverCharge)
+ window.setProperty('txtInput:NumericInteger', 'true')
+ window.setProperty('txtInput:MaxLength', '12')
+ core.suiService.openSUIWindow(window)
+ return
+ else:
+ try:
+ actor.setCoverCharge(int(commandString))
+ actor.sendSystemMessage('You are now charging a cover of ' + commandString + ' credit(s).', 0)
+ except ValueError:
+ return
+ return
+ return
+
+def handleCoverCharge(actor, window, eventType, returnList):
+ if eventType == 0 and len(returnList) == 1:
+ charge = returnList.get(0)
+ if charge == "0":
+ actor.setCoverCharge(0)
+ actor.sendSystemMessage('@performance:cc_stop_charge', 0)
+ return
+ else:
+ actor.setCoverCharge(charge)
+ actor.sendSystemMessage('You are now charging a cover of ' + returnList.get(0) + ' credits(s).', 0)
+ return
+ return
+ return
\ No newline at end of file
diff --git a/scripts/commands/dazzle.py b/scripts/commands/dazzle.py
new file mode 100644
index 00000000..03e79b11
--- /dev/null
+++ b/scripts/commands/dazzle.py
@@ -0,0 +1,39 @@
+import sys
+
+def setup():
+ return
+
+def run(core, actor, target, commandString):
+ level = actor.getLevel()
+ command = 'Dazzle1'
+ effect = 'clienteffect/entertainer_dazzle_level_1.cef'
+ rLevel = 10 # minimum level to perform this effect
+
+ if commandString is None or commandString == '':
+
+ if level >= 30:
+ command = 'Dazzle3'
+ effect = 'clienteffect/entertainer_dazzle_level_3.cef'
+
+ elif level >= 20:
+ command = 'Dazzle2'
+ effect = 'clienteffect/entertainer_dazzle_level_2.cef'
+
+ if commandString is not None:
+ if commandString == '2':
+ command = 'Dazzle2'
+ effect = 'clienteffect/entertainer_dazzle_level_2.cef'
+ rLevel = 20
+
+ elif commandString == '3':
+ command = 'Dazzle3'
+ effect = 'clienteffect/entertainer_dazzle_level_3.cef'
+ rLevel = 30
+
+ if level < rLevel:
+ actor.sendSystemMessage('@performance:effect_lack_skill_self', 0)
+ return
+
+ if core.entertainmentService.performEffect(actor, command, effect, target) is True:
+ actor.sendSystemMessage('@performance:effect_perform_dazzle', 0)
+ return
\ No newline at end of file
diff --git a/scripts/commands/dismount.py b/scripts/commands/dismount.py
new file mode 100644
index 00000000..08aeba54
--- /dev/null
+++ b/scripts/commands/dismount.py
@@ -0,0 +1,18 @@
+import sys
+
+def setup():
+ return
+
+def run(core, actor, target, commandString):
+ if not target:
+ return
+
+ if actor.getObjectID() != target.getOwnerId():
+ return
+
+
+ if core.mountService.isMounted(actor) is True:
+ core.mountService.dismount(actor, target)
+
+ return
+
diff --git a/scripts/commands/distract.py b/scripts/commands/distract.py
new file mode 100644
index 00000000..ec57828b
--- /dev/null
+++ b/scripts/commands/distract.py
@@ -0,0 +1,38 @@
+import sys
+
+def setup():
+ return
+
+def run(core, actor, target, commandString):
+ level = actor.getLevel()
+ command = 'Distract1'
+ effect = 'clienteffect/entertainer_distract_level_1.cef'
+ rLevel = 18 # minimum level to perform this effect
+
+ if commandString is None or commandString == '':
+ if level >= 75:
+ command = 'Distract3'
+ effect = 'clienteffect/entertainer_distract_level_3.cef'
+
+ elif level >= 50:
+ command = 'Distract2'
+ effect = 'clienteffect/entertainer_distract_level_2.cef'
+
+ if commandString is not None:
+ if commandString == '2':
+ command = 'Distract2'
+ effect = 'clienteffect/entertainer_distract_level_2.cef'
+ rLevel = 50
+
+ elif commandString == '3':
+ command = 'Distract3'
+ effect = 'clienteffect/entertainer_distract_level_3.cef'
+ rLevel = 75
+
+ if level < rLevel:
+ actor.sendSystemMessage('@performance:effect_lack_skill_self', 0)
+ return
+
+ if core.entertainmentService.performEffect(actor, command, effect, target) is True:
+ actor.sendSystemMessage('@performance:effect_perform_distract', 0)
+ return
\ No newline at end of file
diff --git a/scripts/commands/duel.py b/scripts/commands/duel.py
index 4ce25bdf..cd26b240 100644
--- a/scripts/commands/duel.py
+++ b/scripts/commands/duel.py
@@ -22,6 +22,7 @@ def run(core, actor, target, commandString):
if actor.getDuelList().contains(target):
actor.sendSystemMessage('You already challenged ' + target.getCustomName() + ' to a duel.', 0)
+ return
combatSvc.handleDuel(actor, target)
diff --git a/scripts/commands/editbiography.py b/scripts/commands/editbiography.py
new file mode 100644
index 00000000..cfdb755f
--- /dev/null
+++ b/scripts/commands/editbiography.py
@@ -0,0 +1,10 @@
+import sys
+from protocol.swg.objectControllerObjects import BiographyUpdate
+from protocol.swg import ObjControllerMessage
+
+def setup():
+ return
+
+def run(core, actor, target, commandString):
+ print ('do you do anything?!')
+ return
\ No newline at end of file
diff --git a/scripts/commands/eject.py b/scripts/commands/eject.py
new file mode 100644
index 00000000..eafbd1f0
--- /dev/null
+++ b/scripts/commands/eject.py
@@ -0,0 +1,8 @@
+import sys
+
+def run(core, actor, target, commandString):
+ instSvc = core.instanceService
+
+ if instSvc.isInInstance(actor):
+ instSvc.remove(instSvc.getActiveInstance(actor), actor)
+
diff --git a/scripts/commands/en_action_regen.py b/scripts/commands/en_action_regen.py
new file mode 100644
index 00000000..c6905572
--- /dev/null
+++ b/scripts/commands/en_action_regen.py
@@ -0,0 +1,8 @@
+import sys
+
+def setup():
+ return
+
+def run(core, actor, target, commandString):
+ core.buffService.addBuffToCreature(actor, 'en_action_regen')
+ return
\ No newline at end of file
diff --git a/scripts/commands/en_holographic_image.py b/scripts/commands/en_holographic_image.py
new file mode 100644
index 00000000..ad5e8eb7
--- /dev/null
+++ b/scripts/commands/en_holographic_image.py
@@ -0,0 +1,21 @@
+import sys
+
+def setup():
+ return
+
+def run(core, actor, target, commandString):
+ player = actor.getSlottedObject('ghost')
+
+ maxHolos = 1
+
+ if actor.getSkillMod('expertise_en_holographic_additional_backup') is not None:
+ maxHolos += actor.getSkillMod('expertise_en_holographic_additional_backup').getBase()
+
+ holo = core.objectService.createObject(actor.getTemplate(), 0, actor.getPlanet(), actor.getPosition(), actor.getOrientation(), None, False)
+ holo.setHologram(True)
+ holo.setCustomName('a Hologram') # a Hologram
+ holo.setHeight(actor.getHeight())
+ holo.setCustomization(actor.getCustomization())
+
+ core.simulationService.add(holo, holo.getPosition().x, holo.getPosition().z, True)
+ return
\ No newline at end of file
diff --git a/scripts/commands/en_holographic_recall.py b/scripts/commands/en_holographic_recall.py
new file mode 100644
index 00000000..66c6ae4e
--- /dev/null
+++ b/scripts/commands/en_holographic_recall.py
@@ -0,0 +1,7 @@
+import sys
+
+def setup():
+ return
+
+def run(core, actor, target, commandString):
+ return
\ No newline at end of file
diff --git a/scripts/commands/en_sprint_1.py b/scripts/commands/en_sprint_1.py
new file mode 100644
index 00000000..1393d38e
--- /dev/null
+++ b/scripts/commands/en_sprint_1.py
@@ -0,0 +1,8 @@
+import sys
+
+def setup():
+ return
+
+def run(core, actor, target, commandString):
+ core.buffService.addBuffToCreature(actor, 'en_sprint')
+ return
\ No newline at end of file
diff --git a/scripts/commands/endduel.py b/scripts/commands/endduel.py
index 030ef9b3..5df64250 100644
--- a/scripts/commands/endduel.py
+++ b/scripts/commands/endduel.py
@@ -19,7 +19,7 @@ def run(core, actor, target, commandString):
if not combatSvc.areInDuel(actor, target):
return
- combatSvc.handleEndDuel(actor, target)
+ combatSvc.handleEndDuel(actor, target, True)
return
\ No newline at end of file
diff --git a/scripts/commands/featuredSolo.py b/scripts/commands/featuredSolo.py
new file mode 100644
index 00000000..e7e943b0
--- /dev/null
+++ b/scripts/commands/featuredSolo.py
@@ -0,0 +1,14 @@
+import sys
+
+def setup():
+ return
+
+def run(core, actor, target, commandString):
+
+ if actor.getLevel() < 90:
+ actor.sendSystemMessage('@performance:effect_lack_skill_self', 0)
+ return
+
+ if core.entertainmentService.performEffect(actor, 'FeaturedSolo', 'clienteffect/entertainer_featured_solo.cef', target) is True:
+ actor.sendSystemMessage('@performance:effect_perform_featured_solo', 0)
+ return
\ No newline at end of file
diff --git a/scripts/commands/firejet.py b/scripts/commands/firejet.py
new file mode 100644
index 00000000..26261d56
--- /dev/null
+++ b/scripts/commands/firejet.py
@@ -0,0 +1,38 @@
+import sys
+
+def setup():
+ return
+
+def run(core, actor, target, commandString):
+ level = actor.getLevel()
+ command = 'FireJets1'
+ effect = 'clienteffect/entertainer_fire_jets_level_1.cef'
+ rLevel = 26 # minimum level to perform this effect
+
+ if commandString is None or commandString == '':
+ if level >= 75:
+ command = 'FireJets3'
+ effect = 'clienteffect/entertainer_fire_jets_level_3.cef'
+
+ elif level >= 50:
+ command = 'FireJets2'
+ effect = 'clienteffect/entertainer_fire_jets_level_2.cef'
+
+ if commandString is not None:
+ if commandString == '2':
+ command = 'FireJets2'
+ effect = 'clienteffect/entertainer_fire_jets_level_2.cef'
+ rLevel = 50
+
+ elif commandString == '3':
+ command = 'FireJets3'
+ effect = 'clienteffect/entertainer_fire_jets_level_3.cef'
+ rLevel = 75
+
+ if level < rLevel:
+ actor.sendSystemMessage('@performance:effect_lack_skill_self', 0)
+ return
+
+ if core.entertainmentService.performEffect(actor, command, effect, target) is True:
+ actor.sendSystemMessage('@performance:effect_perform_fire_jets', 0)
+ return
\ No newline at end of file
diff --git a/scripts/commands/firejet2.py b/scripts/commands/firejet2.py
new file mode 100644
index 00000000..f51758fb
--- /dev/null
+++ b/scripts/commands/firejet2.py
@@ -0,0 +1,14 @@
+import sys
+
+def setup():
+ return
+
+def run(core, actor, target, commandString):
+
+ if actor.getLevel() < 76:
+ actor.sendSystemMessage('@performance:effect_lack_skill_self', 0)
+ return
+
+ if core.entertainmentService.performEffect(actor, 'FireJetsB', 'clienteffect/entertainer_fire_jets2.cef', target) is True:
+ actor.sendSystemMessage('@performance:effect_perform_fire_jets_2', 0)
+ return
\ No newline at end of file
diff --git a/scripts/commands/floorLights.py b/scripts/commands/floorLights.py
new file mode 100644
index 00000000..d69f30e8
--- /dev/null
+++ b/scripts/commands/floorLights.py
@@ -0,0 +1,14 @@
+import sys
+
+def setup():
+ return
+
+def run(core, actor, target, commandString):
+
+ if actor.getLevel() < 82:
+ actor.sendSystemMessage('@performance:effect_lack_skill_self', 0)
+ return
+
+ if core.entertainmentService.performEffect(actor, 'DanceFloor', 'clienteffect/entertainer_dance_floor.cef', target) is True:
+ actor.sendSystemMessage('@performance:effect_perform_dance_floor', 0)
+ return
\ No newline at end of file
diff --git a/scripts/commands/flourish.py b/scripts/commands/flourish.py
index 37c26077..51835b03 100644
--- a/scripts/commands/flourish.py
+++ b/scripts/commands/flourish.py
@@ -4,9 +4,9 @@ def setup():
return
def run(core, actor, target, commandString):
-
- if len(commandString) <= 0:
- actor.sendSystemMessage('@performance:flourish_not_valid', 0)
+
+ if len(commandString) == 0 or commandString == None or commandString == "":
+ actor.sendSystemMessage('@performance:flourish_format')
return
try:
@@ -22,11 +22,5 @@ def run(core, actor, target, commandString):
if actor.getPerformanceId() <= 0:
actor.sendSystemMessage('@performance:flourish_not_performing', 0)
return
-
- actor.incFlourishCount()
- actor.sendSystemMessage('@performance:flourish_perform', 0)
- animation = 'skill_action_' + str(flourish)
- if flourish == 9:
- animation = 'mistake'
- actor.doSkillAnimation(animation)
+ core.entertainmentService.performFlourish(actor, flourish)
\ No newline at end of file
diff --git a/scripts/commands/gc.py b/scripts/commands/gc.py
new file mode 100644
index 00000000..b3559b3b
--- /dev/null
+++ b/scripts/commands/gc.py
@@ -0,0 +1,13 @@
+import sys
+
+def setup():
+ return
+
+def run(core, actor, target, commandString):
+ group = core.objectService.getObject(actor.getGroupId())
+
+ if group is None:
+ return
+
+ core.chatService.sendChatRoomMessage(actor, group.getChatRoomId(), commandString)
+ return
\ No newline at end of file
diff --git a/scripts/commands/getfriendlist.py b/scripts/commands/getfriendlist.py
index 5826dfac..41188658 100644
--- a/scripts/commands/getfriendlist.py
+++ b/scripts/commands/getfriendlist.py
@@ -1,4 +1,4 @@
-from protocol.swg import ChatOnGetFriendsList
+from protocol.swg.chat import ChatOnGetFriendsList
import sys
def setup():
diff --git a/scripts/commands/getplayerid.py b/scripts/commands/getplayerid.py
index 9b334674..bb4141a4 100644
--- a/scripts/commands/getplayerid.py
+++ b/scripts/commands/getplayerid.py
@@ -4,22 +4,18 @@ def setup():
return
def run(core, actor, target, commandString):
-
- if commandString.startswith("quart"):
- print ('commnad: ' + commandString)
- #cmdArgs = commandString.split(" ")
- #qY = cmdArgs[1]
- #qW = cmdArgs[2]
-
- quaternion = actor.getOrientation()
- #tp = core.travelService.getTravelPointByName(actor.getPlanet().name, "Mos Eisley Starport")
- #obj = tp.getShuttle()
- target.setOrientation(quaternion)
- print ('Orientation: qY- ' + str(quaternion.y) + ' --- qW- ' + str(quaternion.w))
- Console.println('Orientation: qY- ' + str(quaternion.y) + ' --- qW- ' + str(quaternion.w))
- return
-
- elif commandString.startswith("id"):
- print ( str(target.getObjectId()))
+ commandArgs = commandString.split(" ")
+ target = core.chatService.getObjectByFirstName(commandArgs[0])
+
+ if len(commandArgs) > 1:
+ if commandArgs[1].startswith("id"):
+ actor.sendSystemMessage('Player Object ID: ' + target.getObjectId())
+ return
+
+ elif commandArgs[1].startswith("pid"):
+ actor.sendSystemMessage('Account ID: ' + str(core.characterService.getAccountId(target.getObjectId())), 0)
+ return
+ else:
+ actor.sendSystemMessage('Player Object ID: ' + str(target.getObjectId()) + ' Account ID: ' + str(core.characterService.getAccountId(target.getObjectId())), 0)
return
return
\ No newline at end of file
diff --git a/scripts/commands/giveitem.py b/scripts/commands/giveitem.py
index de894888..2d5aba72 100644
--- a/scripts/commands/giveitem.py
+++ b/scripts/commands/giveitem.py
@@ -2,23 +2,26 @@ import sys
def setup():
return
-
+
def run(core, actor, target, commandString):
-
+
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 not object:
return
-
+
inventory = actor.getSlottedObject('inventory')
-
+
if inventory:
inventory.add(object)
-
+
return
\ No newline at end of file
diff --git a/scripts/commands/groupchat.py b/scripts/commands/groupchat.py
new file mode 100644
index 00000000..03a6ed26
--- /dev/null
+++ b/scripts/commands/groupchat.py
@@ -0,0 +1,19 @@
+import sys
+
+def setup():
+ return
+
+def run(core, actor, target, commandString):
+
+ group = core.objectService.getObject(actor.getGroupId())
+
+ if group is None:
+ return
+
+ room = core.chatService.getChatRoom(group.getChatRoomId())
+
+ if room is None:
+ return
+
+ core.chatService.sendChatRoomMessage(actor, room.getRoomId(), 0, commandString)
+ return
\ No newline at end of file
diff --git a/scripts/commands/harvesteractivate.py b/scripts/commands/harvesteractivate.py
new file mode 100644
index 00000000..5411445a
--- /dev/null
+++ b/scripts/commands/harvesteractivate.py
@@ -0,0 +1,10 @@
+import sys
+
+def setup():
+ return
+
+def run(core, actor, target, commandString):
+ core.harvesterService.handleHarvesterActivateCommand(actor, target, commandString)
+ return
+
+
\ No newline at end of file
diff --git a/scripts/commands/harvesterdeactivate.py b/scripts/commands/harvesterdeactivate.py
new file mode 100644
index 00000000..3a225b3f
--- /dev/null
+++ b/scripts/commands/harvesterdeactivate.py
@@ -0,0 +1,10 @@
+import sys
+
+def setup():
+ return
+
+def run(core, actor, target, commandString):
+ core.harvesterService.handleHarvesterDeactivateCommand(actor, target, commandString)
+ return
+
+
\ No newline at end of file
diff --git a/scripts/commands/harvesterdiscardhopper.py b/scripts/commands/harvesterdiscardhopper.py
new file mode 100644
index 00000000..3a52f754
--- /dev/null
+++ b/scripts/commands/harvesterdiscardhopper.py
@@ -0,0 +1,11 @@
+import sys
+
+def setup():
+ return
+
+def run(core, actor, target, commandString):
+ actor.sendSystemMessage('handleEmptyHarvester', 0)
+ core.harvesterService.handleEmptyHarvester(actor, target, commandString)
+ return
+
+
\ No newline at end of file
diff --git a/scripts/commands/harvesterselectresource.py b/scripts/commands/harvesterselectresource.py
new file mode 100644
index 00000000..69c8c725
--- /dev/null
+++ b/scripts/commands/harvesterselectresource.py
@@ -0,0 +1,10 @@
+import sys
+
+def setup():
+ return
+
+def run(core, actor, target, commandString):
+ core.harvesterService.handleHarvesterSelectResourceCommand(actor, target, commandString)
+ return
+
+
\ No newline at end of file
diff --git a/scripts/commands/holoemote.py b/scripts/commands/holoemote.py
new file mode 100644
index 00000000..36c15235
--- /dev/null
+++ b/scripts/commands/holoemote.py
@@ -0,0 +1,76 @@
+import sys
+
+def setup():
+ return
+
+def run(core, actor, target, commandString):
+ player = actor.getSlottedObject('ghost')
+
+ if player is None:
+ return
+
+ if commandString is not None:
+ commandString = commandString.lower()
+
+ installedEmote = ''
+
+ if actor.hasCooldown('holoEmote'):
+ actor.sendSystemMessage('Your Holo-Emote generator is in use or recharging.', 0) # Not sure if this is correct.
+ return
+
+ if player.getHoloEmote() is not None:
+ installedEmote = player.getHoloEmote().replace('holoemote_','')
+
+ if commandString is None or commandString == "":
+ commandString = installedEmote
+
+ if installedEmote == None or installedEmote == "":
+ actor.sendSystemMessage('@image_designer:no_holoemote', 0)
+ return
+
+ if commandString == 'help':
+ helpWindow = core.suiService.createMessageBox(1, 'HOLO-EMOTE HELP', holoPrompt(player, installedEmote), actor, actor, 10)
+ core.suiService.openSUIWindow(helpWindow)
+ return
+
+ if player.getHoloEmoteUses() < 1:
+ actor.sendSystemMessage('@image_designer:no_charges_holoemote', 0)
+ return
+
+ if commandString == "kitty":
+ commandString = "technokitty"
+
+ if commandString != installedEmote and installedEmote != 'all':
+ actor.sendSystemMessage('Your installed Holo-Emote generator does not support that emote.', 0)
+ return
+
+ effectObj = 'clienteffect/holoemote_' + commandString + '.cef'
+ actor.playEffectObject(effectObj, 'head')
+ player.setHoloEmoteUses(player.getHoloEmoteUses() - 1)
+
+ actor.addCooldown('holoEmote', float(30))
+
+ return
+
+def holoPrompt(player, emote):
+ emotesToPlay = "Your Holo-Emote generator can only play the " + emote + " Holo-Emote.\n"
+ if emote == "all":
+ emotesToPlay = "Your Holo-Emote generator can play all Holo-Emotes available.\n"
+
+ remainingCharges = "You have " + str(player.getHoloEmoteUses()) + " charges remaining.\n"
+ if player.getHoloEmoteUses() == 1:
+ remainingCharges = "You have 1 charge remaining.\n"
+
+ body = "To play a Holo-Emote, type /holoemote .\n" \
+"To delete your Holo-Emote type /holoemote delete.\n" \
+"Purchasing a new Holo-Emote will automatically delete your current Holo-Emote.\n" \
+"\n" \
+"The available Holo-Emote names are:\n\n" \
+"Beehive\t Blossom\tBrainstorm\n" \
+"Bubblehead\t Bullhorns\tButterflies\n" \
+"Champagne\t Haunted\tHearts\n" \
+"Hologlitter\t Holonotes\tImperial\n" \
+"Kitty\t\t Phonytail\tRebel\n" \
+"Sparky"
+
+ return emotesToPlay + remainingCharges + body
diff --git a/scripts/commands/imagedesign.py b/scripts/commands/imagedesign.py
new file mode 100644
index 00000000..d9a87e92
--- /dev/null
+++ b/scripts/commands/imagedesign.py
@@ -0,0 +1,33 @@
+from protocol.swg.objectControllerObjects import ImageDesignStartMessage
+from protocol.swg import ObjControllerMessage
+import sys
+
+def setup():
+ return
+
+def run(core, actor, target, commandString):
+
+ if target is None and commandString is None:
+ design = ImageDesignStartMessage(actor.getObjectId(), actor.getObjectId(), actor.getObjectId())
+ obj = ObjControllerMessage(11, design)
+ actor.getClient().getSession().write(obj.serialize())
+ return
+
+ else:
+ if target is None and commandString is not None:
+ target = core.chatService.getObjectByFirstName(commandString)
+ if target is None:
+ return
+
+ if target.getGroupId() == actor.getGroupId():
+
+ tDesign = ImageDesignStartMessage(target.getObjectId(), actor.getObjectId(), target.getObjectId())
+ tObj = ObjControllerMessage(11, tDesign)
+ target.getClient().getSession().write(tObj.serialize())
+
+ design = ImageDesignStartMessage(actor.getObjectId(), actor.getObjectId(), target.getObjectId())
+ obj = ObjControllerMessage(11, design)
+ actor.getClient().getSession().write(obj.serialize())
+ return
+ return
+ return
\ No newline at end of file
diff --git a/scripts/commands/inspire.py b/scripts/commands/inspire.py
index 30df2e29..57cd0a29 100644
--- a/scripts/commands/inspire.py
+++ b/scripts/commands/inspire.py
@@ -7,12 +7,22 @@ def setup():
def run(core, actor, target, commandString):
playerObject = actor.getSlottedObject('ghost')
- print playerObject.getProfession()
+
if not playerObject or playerObject.getProfession() != "entertainer_1a":
return
-
- print 'x'
- if actor.getPosture() != 0x09:
+
+ 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:
+ return
+
+ if actor.getPosture() != 0x09 and target.getObjectId() != actor.getObjectId():
actor.sendSystemMessage('@performance:insp_buff_must_perform', 2)
return
@@ -23,13 +33,16 @@ def run(core, actor, target, commandString):
else:
actor.sendSystemMessage('@performance:insp_buff_must_listen', 2)
return
-
- print ('Buffing Player: ' + str(target.getObjectId()) + ' or: ' + target.getCustomName())
- openBuffWindow = BuffBuilderStartMessage(actor.getObjectId(), actor.getObjectId(), target.getObjectId())
- objController = ObjControllerMessage(11, openBuffWindow)
+
+ if target.getPosition().getDistance2D(actor.getWorldPosition()) > float(20):
+ actor.sendSystemMessage(target.getCustomName() + ' is too far away to inspire.', 0)
+ return
+
+ builderWindow = BuffBuilderStartMessage(actor.getObjectId(), actor.getObjectId(), target.getObjectId())
+ objController = ObjControllerMessage(11, builderWindow)
actor.getClient().getSession().write(objController.serialize())
- openBuffWindow = BuffBuilderStartMessage(target.getObjectId(), actor.getObjectId(), target.getObjectId())
- objController2 = ObjControllerMessage(11, openBuffWindow)
+ recipientWindow = BuffBuilderStartMessage(target.getObjectId(), actor.getObjectId(), target.getObjectId())
+ objController2 = ObjControllerMessage(11, recipientWindow)
target.getClient().getSession().write(objController2.serialize())
return
diff --git a/scripts/commands/laserShow.py b/scripts/commands/laserShow.py
new file mode 100644
index 00000000..df9af800
--- /dev/null
+++ b/scripts/commands/laserShow.py
@@ -0,0 +1,14 @@
+import sys
+
+def setup():
+ return
+
+def run(core, actor, target, commandString):
+
+ if actor.getLevel() < 42:
+ actor.sendSystemMessage('@performance:effect_lack_skill_self', 0)
+ return
+
+ if core.entertainmentService.performEffect(actor, 'LaserShow', 'clienteffect/entertainer_laser_show.cef', target) is True:
+ actor.sendSystemMessage('@performance:effect_perform_laser_show', 0)
+ return
diff --git a/scripts/commands/lfg.py b/scripts/commands/lfg.py
index dc0033c5..4d22f5ca 100644
--- a/scripts/commands/lfg.py
+++ b/scripts/commands/lfg.py
@@ -1,4 +1,4 @@
-from resources.common import PlayerFlags
+from resources.datatables import PlayerFlags
import sys
def setup():
diff --git a/scripts/commands/lootall.py b/scripts/commands/lootall.py
new file mode 100644
index 00000000..7d0154a3
--- /dev/null
+++ b/scripts/commands/lootall.py
@@ -0,0 +1,11 @@
+import sys
+
+def setup():
+ return
+
+def run(core, actor, target, commandString):
+
+ actor.sendSystemMessage('LootALL.', 0)
+
+ return
+
\ No newline at end of file
diff --git a/scripts/commands/me_buff_health_1.py b/scripts/commands/me_buff_health_1.py
index 1bbefb27..ad02456d 100644
--- a/scripts/commands/me_buff_health_1.py
+++ b/scripts/commands/me_buff_health_1.py
@@ -4,5 +4,16 @@ def setup(core, actor, buff):
return
def run(core, actor, target, commandString):
- core.buffService.addGroupBuff(actor, 'me_buff_health')
- return
\ No newline at end of file
+
+ group = core.objectService.getObject(actor.getGroupId())
+
+ if target and target.getSlottedObject("ghost"):
+ if group and target in group.getMemberList():
+ core.buffService.addGroupBuff(target, 'me_buff_health_0', actor)
+ else:
+ core.buffService.addBuffToCreature(target, 'me_buff_health_0', actor)
+ else:
+ core.buffService.addGroupBuff(actor, 'me_buff_health_0', actor)
+
+ return
+
\ No newline at end of file
diff --git a/scripts/commands/me_buff_health_2.py b/scripts/commands/me_buff_health_2.py
index dad03f73..fb9880d2 100644
--- a/scripts/commands/me_buff_health_2.py
+++ b/scripts/commands/me_buff_health_2.py
@@ -4,5 +4,16 @@ def setup(core, actor, buff):
return
def run(core, actor, target, commandString):
- core.buffService.addGroupBuff(actor, 'me_buff_health_2')
- return
\ No newline at end of file
+
+ group = core.objectService.getObject(actor.getGroupId())
+
+ if target and target.getSlottedObject("ghost"):
+ if group and target in group.getMemberList():
+ core.buffService.addGroupBuff(target, 'me_buff_health', actor)
+ else:
+ core.buffService.addBuffToCreature(target, 'me_buff_health', actor)
+ else:
+ core.buffService.addGroupBuff(actor, 'me_buff_health', actor)
+
+ return
+
\ No newline at end of file
diff --git a/scripts/commands/me_buff_health_3.py b/scripts/commands/me_buff_health_3.py
index 7dce8f50..dd4c396c 100644
--- a/scripts/commands/me_buff_health_3.py
+++ b/scripts/commands/me_buff_health_3.py
@@ -4,5 +4,16 @@ def setup(core, actor, buff):
return
def run(core, actor, target, commandString):
- core.buffService.addGroupBuff(actor, 'me_buff_health_3')
- return
\ No newline at end of file
+
+ group = core.objectService.getObject(actor.getGroupId())
+
+ if target and target.getSlottedObject("ghost"):
+ if group and target in group.getMemberList():
+ core.buffService.addGroupBuff(target, 'me_buff_health_2', actor)
+ else:
+ core.buffService.addBuffToCreature(target, 'me_buff_health_2', actor)
+ else:
+ core.buffService.addGroupBuff(actor, 'me_buff_health_2', actor)
+
+ return
+
\ No newline at end of file
diff --git a/scripts/commands/me_enhance_action_1.py b/scripts/commands/me_enhance_action_1.py
index db09845c..9239af4d 100644
--- a/scripts/commands/me_enhance_action_1.py
+++ b/scripts/commands/me_enhance_action_1.py
@@ -4,6 +4,16 @@ def setup(core, actor, buff):
return
def run(core, actor, target, commandString):
- core.buffService.addGroupBuff(actor, 'me_buff_action_1')
+
+ group = core.objectService.getObject(actor.getGroupId())
+
+ if target and target.getSlottedObject("ghost"):
+ if group and target in group.getMemberList():
+ core.buffService.addGroupBuff(target, 'me_buff_action_1', actor)
+ else:
+ core.buffService.addBuffToCreature(target, 'me_buff_action_1', actor)
+ else:
+ core.buffService.addGroupBuff(actor, 'me_buff_action_1', actor)
+
return
\ No newline at end of file
diff --git a/scripts/commands/me_enhance_action_2.py b/scripts/commands/me_enhance_action_2.py
index cc476e94..1c9b8dff 100644
--- a/scripts/commands/me_enhance_action_2.py
+++ b/scripts/commands/me_enhance_action_2.py
@@ -4,6 +4,16 @@ def setup(core, actor, buff):
return
def run(core, actor, target, commandString):
- core.buffService.addGroupBuff(actor, 'me_buff_action_2')
+
+ group = core.objectService.getObject(actor.getGroupId())
+
+ if target and target.getSlottedObject("ghost"):
+ if group and target in group.getMemberList():
+ core.buffService.addGroupBuff(target, 'me_buff_action_2', actor)
+ else:
+ core.buffService.addBuffToCreature(target, 'me_buff_action_2', actor)
+ else:
+ core.buffService.addGroupBuff(actor, 'me_buff_action_2', actor)
+
return
\ No newline at end of file
diff --git a/scripts/commands/me_enhance_action_3.py b/scripts/commands/me_enhance_action_3.py
index e945d92c..a4d9dd4a 100644
--- a/scripts/commands/me_enhance_action_3.py
+++ b/scripts/commands/me_enhance_action_3.py
@@ -4,6 +4,16 @@ def setup(core, actor, buff):
return
def run(core, actor, target, commandString):
- core.buffService.addGroupBuff(actor, 'me_buff_action_3')
+
+ group = core.objectService.getObject(actor.getGroupId())
+
+ if target and target.getSlottedObject("ghost"):
+ if group and target in group.getMemberList():
+ core.buffService.addGroupBuff(target, 'me_buff_action_3', actor)
+ else:
+ core.buffService.addBuffToCreature(target, 'me_buff_action_3', actor)
+ else:
+ core.buffService.addGroupBuff(actor, 'me_buff_action_3', actor)
+
return
\ No newline at end of file
diff --git a/scripts/commands/me_enhance_agility_1.py b/scripts/commands/me_enhance_agility_1.py
index 5f489803..50b163ac 100644
--- a/scripts/commands/me_enhance_agility_1.py
+++ b/scripts/commands/me_enhance_agility_1.py
@@ -4,6 +4,16 @@ def setup(core, actor, buff):
return
def run(core, actor, target, commandString):
- core.buffService.addGroupBuff(actor, 'me_buff_agility_1')
+
+ group = core.objectService.getObject(actor.getGroupId())
+
+ if target and target.getSlottedObject("ghost"):
+ if group and target in group.getMemberList():
+ core.buffService.addGroupBuff(target, 'me_buff_agility_1', actor)
+ else:
+ core.buffService.addBuffToCreature(target, 'me_buff_agility_1', actor)
+ else:
+ core.buffService.addGroupBuff(actor, 'me_buff_agility_1', actor)
+
return
\ No newline at end of file
diff --git a/scripts/commands/me_enhance_agility_2.py b/scripts/commands/me_enhance_agility_2.py
index f3935dcb..0df03459 100644
--- a/scripts/commands/me_enhance_agility_2.py
+++ b/scripts/commands/me_enhance_agility_2.py
@@ -1,9 +1,19 @@
import sys
def setup(core, actor, buff):
- return
+ return
def run(core, actor, target, commandString):
- core.buffService.addGroupBuff(actor, 'me_buff_agility_2')
+
+ group = core.objectService.getObject(actor.getGroupId())
+
+ if target and target.getSlottedObject("ghost"):
+ if group and target in group.getMemberList():
+ core.buffService.addGroupBuff(target, 'me_buff_agility_2', actor)
+ else:
+ core.buffService.addBuffToCreature(target, 'me_buff_agility_2', actor)
+ else:
+ core.buffService.addGroupBuff(actor, 'me_buff_agility_2', actor)
+
return
\ No newline at end of file
diff --git a/scripts/commands/me_enhance_agility_3.py b/scripts/commands/me_enhance_agility_3.py
index e1dfd7fd..fe489909 100644
--- a/scripts/commands/me_enhance_agility_3.py
+++ b/scripts/commands/me_enhance_agility_3.py
@@ -4,5 +4,16 @@ def setup(core, actor, buff):
return
def run(core, actor, target, commandString):
- core.buffService.addGroupBuff(actor, 'me_buff_agility_3')
- return
\ No newline at end of file
+
+ group = core.objectService.getObject(actor.getGroupId())
+
+ if target and target.getSlottedObject("ghost"):
+ if group and target in group.getMemberList():
+ core.buffService.addGroupBuff(target, 'me_buff_agility_3', actor)
+ else:
+ core.buffService.addBuffToCreature(target, 'me_buff_agility_3', actor)
+ else:
+ core.buffService.addGroupBuff(actor, 'me_buff_agility_3', actor)
+
+ return
+
\ No newline at end of file
diff --git a/scripts/commands/me_enhance_block_1.py b/scripts/commands/me_enhance_block_1.py
index c2758143..d1f27220 100644
--- a/scripts/commands/me_enhance_block_1.py
+++ b/scripts/commands/me_enhance_block_1.py
@@ -4,5 +4,16 @@ def setup(core, actor, buff):
return
def run(core, actor, target, commandString):
- core.buffService.addGroupBuff(actor, 'me_buff_melee_gb_1')
- return
\ No newline at end of file
+
+ group = core.objectService.getObject(actor.getGroupId())
+
+ if target and target.getSlottedObject("ghost"):
+ if group and target in group.getMemberList():
+ core.buffService.addGroupBuff(target, 'me_buff_melee_gb_1', actor)
+ else:
+ core.buffService.addBuffToCreature(target, 'me_buff_melee_gb_1', actor)
+ else:
+ core.buffService.addGroupBuff(actor, 'me_buff_melee_gb_1', actor)
+
+ return
+
\ No newline at end of file
diff --git a/scripts/commands/me_enhance_dodge_1.py b/scripts/commands/me_enhance_dodge_1.py
index bb1a034e..9702a6f3 100644
--- a/scripts/commands/me_enhance_dodge_1.py
+++ b/scripts/commands/me_enhance_dodge_1.py
@@ -4,5 +4,16 @@ def setup(core, actor, buff):
return
def run(core, actor, target, commandString):
- core.buffService.addGroupBuff(actor, 'me_buff_ranged_gb_1')
- return
\ No newline at end of file
+
+ group = core.objectService.getObject(actor.getGroupId())
+
+ if target and target.getSlottedObject("ghost"):
+ if group and target in group.getMemberList():
+ core.buffService.addGroupBuff(target, 'me_buff_ranged_gb_1', actor)
+ else:
+ core.buffService.addBuffToCreature(target, 'me_buff_ranged_gb_1', actor)
+ else:
+ core.buffService.addGroupBuff(actor, 'me_buff_ranged_gb_1', actor)
+
+ return
+
\ No newline at end of file
diff --git a/scripts/commands/me_enhance_precision_1.py b/scripts/commands/me_enhance_precision_1.py
index 398e39fa..a5ddce5a 100644
--- a/scripts/commands/me_enhance_precision_1.py
+++ b/scripts/commands/me_enhance_precision_1.py
@@ -4,5 +4,16 @@ def setup(core, actor, buff):
return
def run(core, actor, target, commandString):
- core.buffService.addGroupBuff(actor, 'me_buff_precision_1')
- return
\ No newline at end of file
+
+ group = core.objectService.getObject(actor.getGroupId())
+
+ if target and target.getSlottedObject("ghost"):
+ if group and target in group.getMemberList():
+ core.buffService.addGroupBuff(target, 'me_buff_precision_1', actor)
+ else:
+ core.buffService.addBuffToCreature(target, 'me_buff_precision_1', actor)
+ else:
+ core.buffService.addGroupBuff(actor, 'me_buff_precision_1', actor)
+
+ return
+
\ No newline at end of file
diff --git a/scripts/commands/me_enhance_precision_2.py b/scripts/commands/me_enhance_precision_2.py
index a9bba8a5..9c6906d2 100644
--- a/scripts/commands/me_enhance_precision_2.py
+++ b/scripts/commands/me_enhance_precision_2.py
@@ -4,5 +4,16 @@ def setup(core, actor, buff):
return
def run(core, actor, target, commandString):
- core.buffService.addGroupBuff(actor, 'me_buff_precision_2')
- return
\ No newline at end of file
+
+ group = core.objectService.getObject(actor.getGroupId())
+
+ if target and target.getSlottedObject("ghost"):
+ if group and target in group.getMemberList():
+ core.buffService.addGroupBuff(target, 'me_buff_precision_2', actor)
+ else:
+ core.buffService.addBuffToCreature(target, 'me_buff_precision_2', actor)
+ else:
+ core.buffService.addGroupBuff(actor, 'me_buff_precision_2', actor)
+
+ return
+
\ No newline at end of file
diff --git a/scripts/commands/me_enhance_precision_3.py b/scripts/commands/me_enhance_precision_3.py
index 8f218b1c..a4997749 100644
--- a/scripts/commands/me_enhance_precision_3.py
+++ b/scripts/commands/me_enhance_precision_3.py
@@ -4,5 +4,16 @@ def setup(core, actor, buff):
return
def run(core, actor, target, commandString):
- core.buffService.addGroupBuff(actor, 'me_buff_precision_3')
- return
\ No newline at end of file
+
+ group = core.objectService.getObject(actor.getGroupId())
+
+ if target and target.getSlottedObject("ghost"):
+ if group and target in group.getMemberList():
+ core.buffService.addGroupBuff(target, 'me_buff_precision_3', actor)
+ else:
+ core.buffService.addBuffToCreature(target, 'me_buff_precision_3', actor)
+ else:
+ core.buffService.addGroupBuff(actor, 'me_buff_precision_3', actor)
+
+ return
+
\ No newline at end of file
diff --git a/scripts/commands/me_enhance_strength_1.py b/scripts/commands/me_enhance_strength_1.py
index 6ed252e5..cf3529bc 100644
--- a/scripts/commands/me_enhance_strength_1.py
+++ b/scripts/commands/me_enhance_strength_1.py
@@ -4,5 +4,16 @@ def setup(core, actor, buff):
return
def run(core, actor, target, commandString):
- core.buffService.addGroupBuff(actor, 'me_buff_strength_1')
- return
\ No newline at end of file
+
+ group = core.objectService.getObject(actor.getGroupId())
+
+ if target and target.getSlottedObject("ghost"):
+ if group and target in group.getMemberList():
+ core.buffService.addGroupBuff(target, 'me_buff_strength_1', actor)
+ else:
+ core.buffService.addBuffToCreature(target, 'me_buff_strength_1', actor)
+ else:
+ core.buffService.addGroupBuff(actor, 'me_buff_strength_1', actor)
+
+ return
+
\ No newline at end of file
diff --git a/scripts/commands/me_enhance_strength_2.py b/scripts/commands/me_enhance_strength_2.py
index b56331fe..13ddfe22 100644
--- a/scripts/commands/me_enhance_strength_2.py
+++ b/scripts/commands/me_enhance_strength_2.py
@@ -4,5 +4,16 @@ def setup(core, actor, buff):
return
def run(core, actor, target, commandString):
- core.buffService.addGroupBuff(actor, 'me_buff_strength_3')
- return
\ No newline at end of file
+
+ group = core.objectService.getObject(actor.getGroupId())
+
+ if target and target.getSlottedObject("ghost"):
+ if group and target in group.getMemberList():
+ core.buffService.addGroupBuff(target, 'me_buff_strength_2', actor)
+ else:
+ core.buffService.addBuffToCreature(target, 'me_buff_strength_2', actor)
+ else:
+ core.buffService.addGroupBuff(actor, 'me_buff_strength_2', actor)
+
+ return
+
\ No newline at end of file
diff --git a/scripts/commands/me_enhance_strength_3.py b/scripts/commands/me_enhance_strength_3.py
index b56331fe..2a822999 100644
--- a/scripts/commands/me_enhance_strength_3.py
+++ b/scripts/commands/me_enhance_strength_3.py
@@ -4,5 +4,16 @@ def setup(core, actor, buff):
return
def run(core, actor, target, commandString):
- core.buffService.addGroupBuff(actor, 'me_buff_strength_3')
- return
\ No newline at end of file
+
+ group = core.objectService.getObject(actor.getGroupId())
+
+ if target and target.getSlottedObject("ghost"):
+ if group and target in group.getMemberList():
+ core.buffService.addGroupBuff(target, 'me_buff_strength_3', actor)
+ else:
+ core.buffService.addBuffToCreature(target, 'me_buff_strength_3', actor)
+ else:
+ core.buffService.addGroupBuff(actor, 'me_buff_strength_3', actor)
+
+ return
+
\ No newline at end of file
diff --git a/scripts/commands/meditate.py b/scripts/commands/meditate.py
index 9c02f74f..8e0ed60f 100644
--- a/scripts/commands/meditate.py
+++ b/scripts/commands/meditate.py
@@ -6,8 +6,8 @@ def setup():
def run(core, actor, target, commandString):
##To do make it reset moodanimations when meditation is cancled.
- if core.collectionService.isComplete(actor, 'inv_holocron_collection_02') is False:
- return
+ # if core.collectionService.isComplete(actor, 'inv_holocron_collection_02') is False:
+ # return
if actor.getPosture() != 0x08:
actor.sendSystemMessage('You need to sit',0)
diff --git a/scripts/commands/mount.py b/scripts/commands/mount.py
new file mode 100644
index 00000000..40b6e080
--- /dev/null
+++ b/scripts/commands/mount.py
@@ -0,0 +1,16 @@
+import sys
+
+def setup():
+ return
+
+def run(core, actor, target, commandString):
+ if not target:
+ return
+
+ if actor.getObjectID() != target.getOwnerId():
+ return
+
+ if core.mountService.isMounted(actor) is False:
+ core.mountService.mount(actor, target)
+
+ return
diff --git a/scripts/commands/movefurniture.py b/scripts/commands/movefurniture.py
new file mode 100644
index 00000000..1f4a7148
--- /dev/null
+++ b/scripts/commands/movefurniture.py
@@ -0,0 +1,37 @@
+import sys
+from engine.resources.scene import Point3D
+
+def setup():
+ return
+
+def run(core, actor, target, commandString):
+ tarObj = core.objectService.getObject(actor.getTargetId())
+ container = actor.getContainer()
+ parsedMsg = commandString.split(' ', 2)
+
+ if core.housingService.getPermissions(actor, container): # i should probably relook into my permissions system... it kinda sucks
+ if parsedMsg[0] == "up":
+ core.simulationService.transform(tarObj, Point3D(0, float(parsedMsg[1]) * 0.01, 0))
+ return
+ elif parsedMsg[0] == "down":
+ core.simulationService.transform(tarObj, Point3D(0, float(parsedMsg[1]) * -0.01, 0))
+ return
+ elif parsedMsg[0] == "forward":
+ core.simulationService.transform(tarObj, Point3D(0, 0, float(parsedMsg[1]) * 0.01))
+ return
+ elif parsedMsg[0] == "back":
+ core.simulationService.transform(tarObj, Point3D(0, 0, float(parsedMsg[1]) * -0.01))
+ return
+ elif parsedMsg[0] == "right":
+ core.simulationService.transform(tarObj, Point3D(float(parsedMsg[1]) * 0.01, 0, 0))
+ return
+ elif parsedMsg[0] == "left":
+ core.simulationService.transform(tarObj, Point3D(float(parsedMsg[1]) * -0.01, 0, 0))
+ return
+
+ elif container.getTemplate() == "object/cell/shared_cell.iff":
+ actor.sendSystemMessage("You do not have permission to access that container!", 0)
+ return
+
+ return
+
\ No newline at end of file
diff --git a/scripts/commands/newbiehelper.py b/scripts/commands/newbiehelper.py
index cce8079c..277ecd01 100644
--- a/scripts/commands/newbiehelper.py
+++ b/scripts/commands/newbiehelper.py
@@ -1,4 +1,4 @@
-from resources.common import PlayerFlags
+from resources.datatables import PlayerFlags
import sys
def setup():
diff --git a/scripts/commands/npcconversationselect.py b/scripts/commands/npcconversationselect.py
new file mode 100644
index 00000000..01d6aa0d
--- /dev/null
+++ b/scripts/commands/npcconversationselect.py
@@ -0,0 +1,10 @@
+import sys
+
+def setup():
+ return
+
+def run(core, actor, target, commandString):
+ print int(commandString)
+ core.conversationService.handleConversationSelection(actor, int(commandString))
+ return
+
\ No newline at end of file
diff --git a/scripts/commands/npcconversationstop.py b/scripts/commands/npcconversationstop.py
new file mode 100644
index 00000000..f7b6b21b
--- /dev/null
+++ b/scripts/commands/npcconversationstop.py
@@ -0,0 +1,10 @@
+import sys
+
+def setup():
+ return
+
+def run(core, actor, target, commandString):
+ if actor.getConversingNpc():
+ core.conversationService.handleEndConversation(actor, actor.getConversingNpc())
+ return
+
\ No newline at end of file
diff --git a/scripts/commands/of_buff_def_1.py b/scripts/commands/of_buff_def_1.py
index d7403af1..a83218bd 100644
--- a/scripts/commands/of_buff_def_1.py
+++ b/scripts/commands/of_buff_def_1.py
@@ -4,9 +4,7 @@ def setup(core, actor, buff):
return
def run(core, actor, target, commandString):
- core.buffService.addBuffToCreature(actor, 'of_buff_def_1')
- group = core.objectService.getObject(actor.getGroupId())
- for creature in group.getMemberList():
- core.buffService.addBuffToCreature(creature, 'of_buff_def_1')
+
+ core.buffService.addGroupBuff(actor, 'of_buff_def_1', actor)
return
\ No newline at end of file
diff --git a/scripts/commands/of_buff_def_2.py b/scripts/commands/of_buff_def_2.py
index cd5fd42d..f8f1b6be 100644
--- a/scripts/commands/of_buff_def_2.py
+++ b/scripts/commands/of_buff_def_2.py
@@ -4,9 +4,7 @@ def setup(core, actor, buff):
return
def run(core, actor, target, commandString):
- core.buffService.addBuffToCreature(actor, 'of_buff_def_2')
- group = core.objectService.getObject(actor.getGroupId())
- for creature in group.getMemberList():
- core.buffService.addBuffToCreature(creature, 'of_buff_def_2')
+
+ core.buffService.addGroupBuff(actor, 'of_buff_def_2', actor)
return
\ No newline at end of file
diff --git a/scripts/commands/of_buff_def_3.py b/scripts/commands/of_buff_def_3.py
index 85b34c54..9215bcf2 100644
--- a/scripts/commands/of_buff_def_3.py
+++ b/scripts/commands/of_buff_def_3.py
@@ -4,9 +4,6 @@ def setup(core, actor, buff):
return
def run(core, actor, target, commandString):
- core.buffService.addBuffToCreature(actor, 'of_buff_def_3')
- group = core.objectService.getObject(actor.getGroupId())
- for creature in group.getMemberList():
- core.buffService.addBuffToCreature(creature, 'of_buff_def_3')
+ core.buffService.addGroupBuff(actor, 'of_buff_def_3', actor)
return
\ No newline at end of file
diff --git a/scripts/commands/of_buff_def_4.py b/scripts/commands/of_buff_def_4.py
index 0831b80f..819db023 100644
--- a/scripts/commands/of_buff_def_4.py
+++ b/scripts/commands/of_buff_def_4.py
@@ -4,9 +4,6 @@ def setup(core, actor, buff):
return
def run(core, actor, target, commandString):
- core.buffService.addBuffToCreature(actor, 'of_buff_def_4')
- group = core.objectService.getObject(actor.getGroupId())
- for creature in group.getMemberList():
- core.buffService.addBuffToCreature(creature, 'of_buff_def_4')
+ core.buffService.addGroupBuff(actor, 'of_buff_def_4', actor)
return
\ No newline at end of file
diff --git a/scripts/commands/of_buff_def_5.py b/scripts/commands/of_buff_def_5.py
index f3577253..f919171c 100644
--- a/scripts/commands/of_buff_def_5.py
+++ b/scripts/commands/of_buff_def_5.py
@@ -4,9 +4,6 @@ def setup(core, actor, buff):
return
def run(core, actor, target, commandString):
- core.buffService.addBuffToCreature(actor, 'of_buff_def_5')
- group = core.objectService.getObject(actor.getGroupId())
- for creature in group.getMemberList():
- core.buffService.addBuffToCreature(creature, 'of_buff_def_5')
+ core.buffService.addGroupBuff(actor, 'of_buff_def_5', actor)
return
\ No newline at end of file
diff --git a/scripts/commands/of_buff_def_6.py b/scripts/commands/of_buff_def_6.py
index 890aea37..54aaa36e 100644
--- a/scripts/commands/of_buff_def_6.py
+++ b/scripts/commands/of_buff_def_6.py
@@ -4,9 +4,7 @@ def setup(core, actor, buff):
return
def run(core, actor, target, commandString):
- core.buffService.addBuffToCreature(actor, 'of_buff_def_6')
- group = core.objectService.getObject(actor.getGroupId())
- for creature in group.getMemberList():
- core.buffService.addBuffToCreature(creature, 'of_buff_def_6')
+
+ core.buffService.addGroupBuff(actor, 'of_buff_def_6', actor)
return
\ No newline at end of file
diff --git a/scripts/commands/of_buff_def_7.py b/scripts/commands/of_buff_def_7.py
index 7235a9a0..a7b8e72a 100644
--- a/scripts/commands/of_buff_def_7.py
+++ b/scripts/commands/of_buff_def_7.py
@@ -4,9 +4,7 @@ def setup(core, actor, buff):
return
def run(core, actor, target, commandString):
- core.buffService.addBuffToCreature(actor, 'of_buff_def_7')
- group = core.objectService.getObject(actor.getGroupId())
- for creature in group.getMemberList():
- core.buffService.addBuffToCreature(creature, 'of_buff_def_7')
+
+ core.buffService.addGroupBuff(actor, 'of_buff_def_7', actor)
return
\ No newline at end of file
diff --git a/scripts/commands/of_buff_def_8.py b/scripts/commands/of_buff_def_8.py
index 3ef2ec72..d84ba723 100644
--- a/scripts/commands/of_buff_def_8.py
+++ b/scripts/commands/of_buff_def_8.py
@@ -4,9 +4,7 @@ def setup(core, actor, buff):
return
def run(core, actor, target, commandString):
- core.buffService.addBuffToCreature(actor, 'of_buff_def_8')
- group = core.objectService.getObject(actor.getGroupId())
- for creature in group.getMemberList():
- core.buffService.addBuffToCreature(creature, 'of_buff_def_8')
+
+ core.buffService.addGroupBuff(actor, 'of_buff_def_8', actor)
return
\ No newline at end of file
diff --git a/scripts/commands/of_buff_def_9.py b/scripts/commands/of_buff_def_9.py
index ecf3917c..45f6a8f8 100644
--- a/scripts/commands/of_buff_def_9.py
+++ b/scripts/commands/of_buff_def_9.py
@@ -4,9 +4,7 @@ def setup(core, actor, buff):
return
def run(core, actor, target, commandString):
- core.buffService.addBuffToCreature(actor, 'of_buff_def_9')
- group = core.objectService.getObject(actor.getGroupId())
- for creature in group.getMemberList():
- core.buffService.addBuffToCreature(creature, 'of_buff_def_9')
+
+ core.buffService.addGroupBuff(actor, 'of_buff_def_9', actor)
return
\ No newline at end of file
diff --git a/scripts/commands/of_charge_1.py b/scripts/commands/of_charge_1.py
index 8a1c683d..74dfbc79 100644
--- a/scripts/commands/of_charge_1.py
+++ b/scripts/commands/of_charge_1.py
@@ -4,6 +4,6 @@ def setup(core, actor, buff):
return
def run(core, actor, target, commandString):
- core.buffService.addBuffToCreature(actor, 'of_charge_1')
+ core.buffService.addBuffToCreature(actor, 'of_charge_1', actor)
return
\ No newline at end of file
diff --git a/scripts/commands/of_drillmaster_1.py b/scripts/commands/of_drillmaster_1.py
index 0b448c2b..179b494a 100644
--- a/scripts/commands/of_drillmaster_1.py
+++ b/scripts/commands/of_drillmaster_1.py
@@ -4,6 +4,6 @@ def setup(core, actor, buff):
return
def run(core, actor, target, commandString):
- core.buffService.addBuffToCreature(actor, 'of_drillmaster_1')
+ core.buffService.addGroupBuff(actor, 'of_drillmaster_1', actor)
return
\ No newline at end of file
diff --git a/scripts/commands/of_focus_fire_1.py b/scripts/commands/of_focus_fire_1.py
index d3a2cfb8..1cd0503c 100644
--- a/scripts/commands/of_focus_fire_1.py
+++ b/scripts/commands/of_focus_fire_1.py
@@ -4,11 +4,6 @@ def setup(core, actor, buff):
return
def run(core, actor, target, commandString):
- core.buffService.addBuffToCreature(actor, 'of_focus_fire_1')
- group = core.objectService.getObject(actor.getGroupId())
- if group is not None:
- for creature in group.getMemberList():
- core.buffService.addBuffToCreature(creature, 'of_focus_fire_1')
- return
+ core.buffService.addGroupBuff(actor, 'of_focus_fire_1', actor)
return
\ No newline at end of file
diff --git a/scripts/commands/of_focus_fire_2.py b/scripts/commands/of_focus_fire_2.py
index cafae5bd..b7fe9e07 100644
--- a/scripts/commands/of_focus_fire_2.py
+++ b/scripts/commands/of_focus_fire_2.py
@@ -4,11 +4,6 @@ def setup(core, actor, buff):
return
def run(core, actor, target, commandString):
- core.buffService.addBuffToCreature(actor, 'of_focus_fire_2')
- group = core.objectService.getObject(actor.getGroupId())
- if group is not None:
- for creature in group.getMemberList():
- core.buffService.addBuffToCreature(creature, 'of_focus_fire_2')
- return
+ core.buffService.addGroupBuff(actor, 'of_focus_fire_2', actor)
return
\ No newline at end of file
diff --git a/scripts/commands/of_focus_fire_3.py b/scripts/commands/of_focus_fire_3.py
index 75129446..a7cd6223 100644
--- a/scripts/commands/of_focus_fire_3.py
+++ b/scripts/commands/of_focus_fire_3.py
@@ -4,11 +4,6 @@ def setup(core, actor, buff):
return
def run(core, actor, target, commandString):
- core.buffService.addBuffToCreature(actor, 'of_focus_fire_3')
- group = core.objectService.getObject(actor.getGroupId())
- if group is not None:
- for creature in group.getMemberList():
- core.buffService.addBuffToCreature(creature, 'of_focus_fire_3')
- return
+ core.buffService.addGroupBuff(actor, 'of_focus_fire_3', actor)
return
\ No newline at end of file
diff --git a/scripts/commands/of_focus_fire_4.py b/scripts/commands/of_focus_fire_4.py
index a5fa51f9..208f53e5 100644
--- a/scripts/commands/of_focus_fire_4.py
+++ b/scripts/commands/of_focus_fire_4.py
@@ -4,5 +4,6 @@ def setup(core, actor, buff):
return
def run(core, actor, target, commandString):
- core.buffService.addBuffToCreature(actor, 'of_focus_fire_1')
- return
\ No newline at end of file
+ core.buffService.addGroupBuff(actor, 'of_focus_fire_4', actor)
+ return
+
\ No newline at end of file
diff --git a/scripts/commands/of_focus_fire_5.py b/scripts/commands/of_focus_fire_5.py
index a5fa51f9..7842cb4f 100644
--- a/scripts/commands/of_focus_fire_5.py
+++ b/scripts/commands/of_focus_fire_5.py
@@ -4,5 +4,6 @@ def setup(core, actor, buff):
return
def run(core, actor, target, commandString):
- core.buffService.addBuffToCreature(actor, 'of_focus_fire_1')
- return
\ No newline at end of file
+ core.buffService.addGroupBuff(actor, 'of_focus_fire_5', actor)
+ return
+
\ No newline at end of file
diff --git a/scripts/commands/of_focus_fire_6.py b/scripts/commands/of_focus_fire_6.py
index a5fa51f9..ae915fa1 100644
--- a/scripts/commands/of_focus_fire_6.py
+++ b/scripts/commands/of_focus_fire_6.py
@@ -4,5 +4,6 @@ def setup(core, actor, buff):
return
def run(core, actor, target, commandString):
- core.buffService.addBuffToCreature(actor, 'of_focus_fire_1')
- return
\ No newline at end of file
+ core.buffService.addGroupBuff(actor, 'of_focus_fire_6', actor)
+ return
+
\ No newline at end of file
diff --git a/scripts/commands/of_inspiration_1.py b/scripts/commands/of_inspiration_1.py
index 001b0e69..9f0c3a20 100644
--- a/scripts/commands/of_inspiration_1.py
+++ b/scripts/commands/of_inspiration_1.py
@@ -4,6 +4,6 @@ def setup(core, actor, buff):
return
def run(core, actor, target, commandString):
- core.buffService.addBuffToCreature(actor, 'of_inspiration_1')
+ core.buffService.addGroupBuff(actor, 'of_inspiration_1')
return
\ No newline at end of file
diff --git a/scripts/commands/of_inspiration_2.py b/scripts/commands/of_inspiration_2.py
index 01dbef43..c7ffcb5e 100644
--- a/scripts/commands/of_inspiration_2.py
+++ b/scripts/commands/of_inspiration_2.py
@@ -4,6 +4,6 @@ def setup(core, actor, buff):
return
def run(core, actor, target, commandString):
- core.buffService.addBuffToCreature(actor, 'of_inspiration_2')
+ core.buffService.addGroupBuff(actor, 'of_inspiration_2')
return
\ No newline at end of file
diff --git a/scripts/commands/of_inspiration_3.py b/scripts/commands/of_inspiration_3.py
index a1d2296f..fd2e8b80 100644
--- a/scripts/commands/of_inspiration_3.py
+++ b/scripts/commands/of_inspiration_3.py
@@ -4,6 +4,6 @@ def setup(core, actor, buff):
return
def run(core, actor, target, commandString):
- core.buffService.addBuffToCreature(actor, 'of_inspiration_3')
+ core.buffService.addGroupBuff(actor, 'of_inspiration_3')
return
\ No newline at end of file
diff --git a/scripts/commands/of_inspiration_4.py b/scripts/commands/of_inspiration_4.py
index d1954310..35bae1ab 100644
--- a/scripts/commands/of_inspiration_4.py
+++ b/scripts/commands/of_inspiration_4.py
@@ -4,6 +4,6 @@ def setup(core, actor, buff):
return
def run(core, actor, target, commandString):
- core.buffService.addBuffToCreature(actor, 'of_inspiration_4')
+ core.buffService.addGroupBuff(actor, 'of_inspiration_4')
return
\ No newline at end of file
diff --git a/scripts/commands/of_inspiration_5.py b/scripts/commands/of_inspiration_5.py
index e2d35933..f9c9ba48 100644
--- a/scripts/commands/of_inspiration_5.py
+++ b/scripts/commands/of_inspiration_5.py
@@ -4,6 +4,6 @@ def setup(core, actor, buff):
return
def run(core, actor, target, commandString):
- core.buffService.addBuffToCreature(actor, 'of_inspiration_5')
+ core.buffService.addGroupBuff(actor, 'of_inspiration_5')
return
\ No newline at end of file
diff --git a/scripts/commands/of_inspiration_6.py b/scripts/commands/of_inspiration_6.py
index c73a2000..ca05422d 100644
--- a/scripts/commands/of_inspiration_6.py
+++ b/scripts/commands/of_inspiration_6.py
@@ -4,6 +4,6 @@ def setup(core, actor, buff):
return
def run(core, actor, target, commandString):
- core.buffService.addBuffToCreature(actor, 'of_inspiration_6')
+ core.buffService.addGroupBuff(actor, 'of_inspiration_6')
return
\ No newline at end of file
diff --git a/scripts/commands/of_medical_sup_1.py b/scripts/commands/of_medical_sup_1.py
index b7186ab6..52ae6c13 100644
--- a/scripts/commands/of_medical_sup_1.py
+++ b/scripts/commands/of_medical_sup_1.py
@@ -39,6 +39,8 @@ def spawnCrate(core, actor, shuttle):
for i in range(0, 8):
tactical = core.objectService.createObject('object/tangible/loot/generic_usable/shared_stim_syringe_generic.iff', actor.getPlanet()) #FIXME: Use the correct template
tactical.setCustomName('Tactical Serum A')
+ tactical.setStringAttribute('proc_name', '@ui_buff:of_tactical_drop_6')
+ tactical.setAttachment("tempUseCount", 1)
crate.add(tactical)
for i in range(0, 8):
diff --git a/scripts/commands/of_scatter_1.py b/scripts/commands/of_scatter_1.py
index 8ee17071..3984ca10 100644
--- a/scripts/commands/of_scatter_1.py
+++ b/scripts/commands/of_scatter_1.py
@@ -4,6 +4,6 @@ def setup(core, actor, buff):
return
def run(core, actor, target, commandString):
- core.buffService.addBuffToCreature(actor, 'of_scatter_1')
+ core.buffService.addBuffToCreature(actor, 'of_scatter_1', actor)
return
\ No newline at end of file
diff --git a/scripts/commands/permissionlistmodify.py b/scripts/commands/permissionlistmodify.py
new file mode 100644
index 00000000..8c0108ba
--- /dev/null
+++ b/scripts/commands/permissionlistmodify.py
@@ -0,0 +1,17 @@
+import sys
+
+def setup():
+ return
+
+def run(core, actor, target, commandString):
+ permissionType = 'Undetermined'
+ commandArgs = commandString.split(' ')
+ if len(commandArgs) > 3:
+ permissionType = commandArgs[2]
+ if permissionType=='ENTRY' | permissionType=='BAN':
+ core.housingService.handlePermissionListModify(actor, target, commandString)
+ if permissionType=='ADMIN' | permissionType=='HOPPER':
+ core.harvesterService.handlePermissionListModify(actor, target, commandString)
+ return
+
+
\ No newline at end of file
diff --git a/scripts/commands/placestructure.py b/scripts/commands/placestructure.py
new file mode 100644
index 00000000..f6f5c122
--- /dev/null
+++ b/scripts/commands/placestructure.py
@@ -0,0 +1,32 @@
+import sys
+import resources.objects.deed.Harvester_Deed
+
+def setup():
+ return
+
+def run(core, actor, target, commandString):
+ cmdArgs = commandString.split(" ")
+
+ deedId = long(cmdArgs[0])
+ deed = core.objectService.getObject(deedId)
+
+ if (actor.getAttachment('UsingHarvesterDeed') == '1'):
+ actor.setAttachment('UsingHarvesterDeed', '0');
+ core.harvesterService.handlePlaceStructureCommand(actor, target, commandString)
+ return
+
+ positionX = float(cmdArgs[1])
+ positionZ = float(cmdArgs[2])
+ #positionY = core.terrainService.getHeight(actor.getPlanetId(), positionX, positionZ) + 2
+
+ rotation = float(cmdArgs[3])
+
+
+ #structureTemplate = deed.getAttachment("structureTemplate")
+
+ core.housingService.placeStructure(actor, deed, positionX, positionZ, rotation)
+
+ #building = core.objectService.createObject(structureTemplate, actor.getPlanet(), positionX, positionZ, positionY);
+ #core.simulationService.add(building, building.getPosition().x, building.getPosition().z);
+
+ return
\ No newline at end of file
diff --git a/scripts/commands/planetchat.py b/scripts/commands/planetchat.py
new file mode 100644
index 00000000..827fef78
--- /dev/null
+++ b/scripts/commands/planetchat.py
@@ -0,0 +1,13 @@
+import sys
+
+def setup():
+ return
+
+def run(core, actor, target, commandString):
+ room = core.chatService.getChatRoomByAddress('SWG.' + core.getGalaxyName() + '.' + actor.getPlanet().getName() + '.Planet')
+
+ if room is None:
+ return
+
+ core.chatService.sendChatRoomMessage(actor, room.getRoomId(), 0, commandString)
+ return
\ No newline at end of file
diff --git a/scripts/commands/pvp.py b/scripts/commands/pvp.py
index 54f1a40c..8fbdc155 100644
--- a/scripts/commands/pvp.py
+++ b/scripts/commands/pvp.py
@@ -31,6 +31,11 @@ def run(core, actor, target, commandString):
actor.setFaction('')
actor.sendSystemMessage('@faction_recruiter:resign_complete', 0)
+ if commandString == 'neutral' or commandString == 'resign':
+ time.sleep(1)
+ actor.setFaction('')
+ actor.sendSystemMessage('@faction_recruiter:resign_complete', 0)
+ return
time.sleep(1)
actor.setFaction(commandString)
@@ -42,31 +47,32 @@ def run(core, actor, target, commandString):
if factionStatus == FactionStatus.OnLeave:
actor.sendSystemMessage('@faction_recruiter:on_leave_to_covert', 0)
- actor.setPvpStatus(PvpStatus.GoingCovert, True)
+ #actor.setPvpStatus(PvpStatus.GoingCovert, True)
time.sleep(1)
actor.setFactionStatus(FactionStatus.Combatant)
- actor.setPvpStatus(PvpStatus.GoingCovert, False)
- actor.setPvpStatus(PvpStatus.Enemy, True)
+ #actor.setPvpStatus(PvpStatus.GoingCovert, False)
actor.sendSystemMessage('@faction_recruiter:covert_complete', 0)
+ actor.updatePvpStatus()
return
if factionStatus == FactionStatus.Combatant:
actor.sendSystemMessage('@faction_recruiter:covert_to_overt', 0)
- actor.setPvpStatus(PvpStatus.GoingOvert, True)
+ #actor.setPvpStatus(PvpStatus.GoingOvert, True)
time.sleep(30)
actor.setFactionStatus(FactionStatus.SpecialForces)
- actor.setPvpStatus(PvpStatus.GoingOvert, False)
- actor.setPvpStatus(PvpStatus.Overt | PvpStatus.Attackable | PvpStatus.Aggressive, True)
+ #actor.setPvpStatus(PvpStatus.GoingOvert, False)
actor.sendSystemMessage('@faction_recruiter:overt_complete', 0)
+ actor.updatePvpStatus()
return
if factionStatus == FactionStatus.SpecialForces:
actor.sendSystemMessage('@faction_recruiter:overt_to_covert', 0)
- actor.setPvpStatus(PvpStatus.GoingCovert, True)
+ #actor.setPvpStatus(PvpStatus.GoingCovert, True)
time.sleep(300)
actor.setFactionStatus(FactionStatus.Combatant)
- actor.setPvpStatus(PvpStatus.GoingCovert | PvpStatus.Overt | PvpStatus.Attackable | PvpStatus.Aggressive, False)
+ #actor.setPvpStatus(PvpStatus.GoingCovert, False)
actor.sendSystemMessage('@faction_recruiter:covert_complete', 0)
+ actor.updatePvpStatus()
return
return
diff --git a/scripts/commands/removeBuff.py b/scripts/commands/removeBuff.py
new file mode 100644
index 00000000..cd63145f
--- /dev/null
+++ b/scripts/commands/removeBuff.py
@@ -0,0 +1,15 @@
+import sys
+
+def setup():
+ return
+
+def run(core, actor, target, commandString):
+
+ buffObj = actor.getBuffByCRC(int(commandString))
+
+ if buffObj is None:
+ return
+
+ if buffObj.isRemovableByPlayer() and buffObj.isDebuff() is False:
+ core.buffService.removeBuffFromCreature(actor, buffObj)
+ return
\ No newline at end of file
diff --git a/scripts/commands/requestbiography.py b/scripts/commands/requestbiography.py
new file mode 100644
index 00000000..41ed2382
--- /dev/null
+++ b/scripts/commands/requestbiography.py
@@ -0,0 +1,24 @@
+import sys
+from protocol.swg.objectControllerObjects import BiographyUpdate
+from protocol.swg import ObjControllerMessage
+
+
+# Called when open Character tab
+def setup():
+ return
+
+def run(core, actor, target, commandString):
+
+ if actor is None:
+ return
+
+ if target is None:
+ return
+
+ tGhost = target.getSlottedObject('ghost')
+
+ bioUpdate = BiographyUpdate(actor.getObjectId(), target.getObjectId(), tGhost.getBiography())
+ objMsg = ObjControllerMessage(11, bioUpdate)
+ actor.getClient().getSession().write(objMsg.serialize())
+
+ return
\ No newline at end of file
diff --git a/scripts/commands/requestcoresample.py b/scripts/commands/requestcoresample.py
new file mode 100644
index 00000000..2931588a
--- /dev/null
+++ b/scripts/commands/requestcoresample.py
@@ -0,0 +1,8 @@
+import sys
+
+def setup():
+ return
+
+def run(core, actor, target, commandString):
+ core.surveyService.requestSampling(actor, target, commandString);
+ return
\ No newline at end of file
diff --git a/scripts/commands/requestsurvey.py b/scripts/commands/requestsurvey.py
new file mode 100644
index 00000000..ccff8b8a
--- /dev/null
+++ b/scripts/commands/requestsurvey.py
@@ -0,0 +1,8 @@
+import sys
+
+def setup():
+ return
+
+def run(core, actor, target, commandString):
+ core.surveyService.requestSurvey(actor, target, commandString);
+ return
\ No newline at end of file
diff --git a/scripts/commands/resourcecontainersplit.py b/scripts/commands/resourcecontainersplit.py
new file mode 100644
index 00000000..ae3869c5
--- /dev/null
+++ b/scripts/commands/resourcecontainersplit.py
@@ -0,0 +1,8 @@
+import sys
+
+def setup():
+ return
+
+def run(core, actor, target, commandString):
+ target.splitContainer(actor,target,commandString)
+ return
\ No newline at end of file
diff --git a/scripts/commands/resourcecontainertransfer.py b/scripts/commands/resourcecontainertransfer.py
new file mode 100644
index 00000000..8a369843
--- /dev/null
+++ b/scripts/commands/resourcecontainertransfer.py
@@ -0,0 +1,8 @@
+import sys
+
+def setup():
+ return
+
+def run(core, actor, target, commandString):
+ target.transferContainer(actor,target,commandString)
+ return
\ No newline at end of file
diff --git a/scripts/commands/resourceemptyhopper.py b/scripts/commands/resourceemptyhopper.py
new file mode 100644
index 00000000..3a225b3f
--- /dev/null
+++ b/scripts/commands/resourceemptyhopper.py
@@ -0,0 +1,10 @@
+import sys
+
+def setup():
+ return
+
+def run(core, actor, target, commandString):
+ core.harvesterService.handleHarvesterDeactivateCommand(actor, target, commandString)
+ return
+
+
\ No newline at end of file
diff --git a/scripts/commands/roleplay.py b/scripts/commands/roleplay.py
index a862303d..312e93fc 100644
--- a/scripts/commands/roleplay.py
+++ b/scripts/commands/roleplay.py
@@ -1,5 +1,5 @@
from java.lang import Integer
-from resources.common import PlayerFlags
+from resources.datatables import PlayerFlags
import sys
def setup():
diff --git a/scripts/commands/rotatefurniture.py b/scripts/commands/rotatefurniture.py
new file mode 100644
index 00000000..9d019d0c
--- /dev/null
+++ b/scripts/commands/rotatefurniture.py
@@ -0,0 +1,29 @@
+import sys
+from engine.resources.scene import Point3D
+
+def setup():
+ return
+
+def run(core, actor, target, commandString):
+ tarObj = core.objectService.getObject(actor.getTargetId())
+
+ container = actor.getContainer()
+ parsedMsg = commandString.split(' ', 2)
+
+ if core.housingService.getPermissions(actor, container): # i should probably relook into my permissions system... it kinda sucks
+ if parsedMsg[0] == "pitch":
+ core.simulationService.transform(tarObj, float(parsedMsg[1]), Point3D(1, 0, 0)) # this is messed up ???
+ return
+ elif parsedMsg[0] == "yaw":
+ core.simulationService.transform(tarObj, float(parsedMsg[1]), Point3D(0, 1, 0)) # this is correct
+ return
+ elif parsedMsg[0] == "roll":
+ core.simulationService.transform(tarObj, float(parsedMsg[1]), Point3D(0, 0, 1)) # this is messed up ???
+ return
+
+ elif container.getTemplate() == "object/cell/shared_cell.iff":
+ actor.sendSystemMessage("You do not have permission to access that container!", 0)
+ return
+
+ return
+
\ No newline at end of file
diff --git a/scripts/commands/server.py b/scripts/commands/server.py
index 946087e3..0514fa98 100644
--- a/scripts/commands/server.py
+++ b/scripts/commands/server.py
@@ -33,5 +33,8 @@ def run(core, actor, target, commandString):
actor.sendSystemMessage(str(core.getActiveZoneClients()) + ' online characters.', 0)
if command == 'shutdown':
core.initiateShutdown()
+ if command == 'getheight':
+ actor.sendSystemMessage(str(core.terrainService.getHeight(actor.getPlanetId(), actor.getWorldPosition().x, actor.getWorldPosition().z)), 0)
+
return
diff --git a/scripts/commands/serverdestroyobject.py b/scripts/commands/serverdestroyobject.py
index e3541bce..81c01698 100644
--- a/scripts/commands/serverdestroyobject.py
+++ b/scripts/commands/serverdestroyobject.py
@@ -22,7 +22,7 @@ def run(core, actor, target, commandString):
Console.println("Doesn't have permission!")
return
- parent.remove(target)
+ #parent.remove(target)
core.objectService.destroyObject(target)
return
\ No newline at end of file
diff --git a/scripts/commands/setbiography.py b/scripts/commands/setbiography.py
new file mode 100644
index 00000000..2d113622
--- /dev/null
+++ b/scripts/commands/setbiography.py
@@ -0,0 +1,25 @@
+import sys
+from protocol.swg.objectControllerObjects import BiographyUpdate
+from protocol.swg import ObjControllerMessage
+
+def setup():
+ return
+
+def run(core, actor, target, commandString):
+ if actor is None:
+ return
+
+ if len(commandString) > 200:
+ return
+
+ ghost = actor.getSlottedObject('ghost')
+
+ if ghost is None:
+ return
+
+ ghost.setBiography(commandString)
+
+ bioUpdate = BiographyUpdate(actor.getObjectId(), actor.getObjectId(), commandString)
+ objMsg = ObjControllerMessage(11, bioUpdate)
+ actor.getClient().getSession().write(objMsg.serialize())
+ return
\ No newline at end of file
diff --git a/scripts/commands/setcurrentskilltitle.py b/scripts/commands/setcurrentskilltitle.py
index 43e9e5f4..160c9091 100644
--- a/scripts/commands/setcurrentskilltitle.py
+++ b/scripts/commands/setcurrentskilltitle.py
@@ -11,5 +11,6 @@ def run(core, actor, target, commandString):
if playerObject is None:
return
- playerObject.setTitle(str(commandString))
+ if str(commandString) in playerObject.getTitleList() or str(commandString) == "citizenship" or str(commandString) == "": playerObject.setTitle(str(commandString))
+
return
\ No newline at end of file
diff --git a/scripts/commands/setgodmode.py b/scripts/commands/setgodmode.py
index 785de8d0..e66d7982 100644
--- a/scripts/commands/setgodmode.py
+++ b/scripts/commands/setgodmode.py
@@ -1,5 +1,7 @@
import sys
from engine.resources.scene import Point3D
+from protocol.swg import ObjControllerMessage
+from engine.resources.objects import SWGObject
def setup():
return
@@ -10,7 +12,7 @@ def run(core, actor, target, commandString):
if not playerObject:
return
-
+
commandArgs = commandString.split(' ')
command = commandArgs[0]
if len(commandArgs) > 1:
@@ -21,12 +23,24 @@ def run(core, actor, target, commandString):
arg3 = commandArgs[3]
if len(commandArgs) > 4:
arg4 = commandArgs[4]
+ if len(commandArgs) > 5:
+ arg5 = commandArgs[5]
if not command:
return
+ if actor.getClient().isGM() is False:
+ return
+
+ if playerObject.getGodLevel() == 0:
+ actor.addAbility("admin")
+ playerObject.setGodLevel(50)
+
if command == 'giveExperience' and arg1:
core.playerService.giveExperience(actor, int(arg1))
+
+ if command == 'level' and arg1:
+ core.playerService.grantLevel(actor, int(arg1))
elif command == 'setSpeed' and arg1:
actor.sendSystemMessage('Your speed was ' + str(actor.getSpeedMultiplierBase()) + '. Don\'t forget to set this back or it\'ll permanently imbalance your speed. Default without buffs or mods is 1.', 2)
@@ -36,13 +50,69 @@ def run(core, actor, target, commandString):
elif command == 'teleport' and arg2 and arg3 and arg4:
position = Point3D(float(arg2), float(arg3), float(arg4))
core.simulationService.transferToPlanet(actor, core.terrainService.getPlanetByName(arg1), position, actor.getOrientation(), None)
-
+
+ elif command == 'teleportplayer' and arg1 and arg2 and arg3 and arg4 and arg5:
+ player = core.chatService.getObjectByFirstName(arg1)
+ if player:
+ position = Point3D(float(arg3), float(arg4), float(arg5))
+ core.simulationService.transferToPlanet(player, core.terrainService.getPlanetByName(arg2), position, player.getOrientation(), None)
+
elif command == 'credits' and arg1:
actor.setCashCredits(actor.getCashCredits() + int(arg1))
actor.sendSystemMessage('The Galactic Empire has transferred ' + arg1 + ' credits to you for your service.', 0)
elif command == 'addability' and arg1:
actor.addAbility(str(arg1))
- actor.sendSystemMessage('You have learned ' + arg1 + '')
+ actor.sendSystemMessage('You have learned ' + arg1 + '.', 0)
+ elif command == 'anim' and arg1:
+ actor.doSkillAnimation(arg1)
+ actor.sendSystemMessage('Performed ' + arg1 ,0)
+
+ elif command == 'changeBio' and arg1:
+ actor.getSlottedObject('ghost').setBiography(arg1)
+
+ elif command == 'spawn' and arg1 and arg2:
+ pos = actor.getWorldPosition()
+ core.spawnService.spawnCreature(arg1, actor.getPlanet().getName(), 0, pos.x, pos.y, pos.z, 1, 0, 1, 0, int(arg2))
+
+ elif command == 'instance' and arg1:
+ core.instanceService.queue(arg1, actor)
+
+ elif command == 'action' and arg1:
+ actor.setAction(int(arg1))
+
+ elif command == 'health' and arg1:
+ actor.setHealth(int(arg1))
+
+ elif command == 'id':
+ actor.sendSystemMessage('Your id is: ' + str(actor.getObjectId()), 0)
+
+ elif command == 'cust' and arg1 and arg2 and arg3:
+ obj = core.objectService.getObject(long(arg1))
+ obj.setCustomizationVariable(str(arg2), int(arg3))
+
+ elif command == 'buff' and arg1:
+ core.buffService.addBuffToCreature(actor, str(arg1), actor)
+
+ elif command == 'stealth':
+ if (actor.isInStealth()):
+ actor.setInStealth(False)
+ actor.setRadarVisible(True)
+ actor.sendSystemMessage('You are now visible to other players.', 0)
+ else:
+ actor.setInStealth(True)
+ actor.setRadarVisible(False)
+ actor.sendSystemMessage('You are now hidden from players. "Stealth Effect" is not implemented, however players still won\'t be able to see you. Type /setgodmode stealth again to be visible.', 0)
+
+ elif command == 'holoEmote' and arg1:
+ playerObject.setHoloEmote('holoemote_' + arg1)
+ playerObject.setHoloEmoteUses(20)
+ actor.sendSystemMessage('Holo-Emote Generator set to ' + 'holoemote_' + arg1, 0)
+
+ elif command == 'off':
+ if playerObject.getGodLevel > 0:
+ actor.removeAbility("admin")
+ playerObject.setGodLevel(0)
+
return
diff --git a/scripts/commands/setspeed.py b/scripts/commands/setspeed.py
index e5929c25..c73266de 100644
--- a/scripts/commands/setspeed.py
+++ b/scripts/commands/setspeed.py
@@ -5,6 +5,5 @@ def setup():
def run(core, actor, target, commandString):
actor.setSpeedMultiplierBase(float(commandString))
- core.buffService.addBuffToCreature(actor, 'bh_prescience')
return
\ No newline at end of file
diff --git a/scripts/commands/sitserver.py b/scripts/commands/sitserver.py
index 2641b8a3..9e732988 100644
--- a/scripts/commands/sitserver.py
+++ b/scripts/commands/sitserver.py
@@ -23,10 +23,9 @@ def run(core, actor, target, commandString):
actor.setStateBitmask(32768)
actor.setTurnRadius(0)
return
-
+ # sit w/o chair
actor.setPosture(8)
actor.setSpeedMultiplierBase(0)
actor.setTurnRadius(0)
-
return
\ No newline at end of file
diff --git a/scripts/commands/smokebomb.py b/scripts/commands/smokebomb.py
new file mode 100644
index 00000000..a9da5abb
--- /dev/null
+++ b/scripts/commands/smokebomb.py
@@ -0,0 +1,38 @@
+import sys
+
+def setup():
+ return
+
+def run(core, actor, target, commandString):
+ level = actor.getLevel()
+ command = 'SmokeBomb1'
+ effect = 'clienteffect/entertainer_smoke_bomb_level_1.cef'
+ rLevel = 50 # minimum level to perform this effect
+
+ if commandString is None or commandString == '':
+ if level >= 90:
+ command = 'SmokeBomb3'
+ effect = 'clienteffect/entertainer_smoke_bomb_level_3.cef'
+
+ elif level >= 75:
+ command = 'SmokeBomb2'
+ effect = 'clienteffect/entertainer_smoke_bomb_level_2.cef'
+
+ if commandString is not None:
+ if commandString == '2':
+ command = 'SmokeBomb2'
+ effect = 'clienteffect/entertainer_smoke_bomb_level_2.cef'
+ rLevel = 75
+
+ elif commandString == '3':
+ command = 'SmokeBomb3'
+ effect = 'clienteffect/entertainer_smoke_bomb_level_3.cef'
+ rLevel = 90
+
+ if level < rLevel:
+ actor.sendSystemMessage('@performance:effect_lack_skill_self', 0)
+ return
+
+ if core.entertainmentService.performEffect(actor, command, effect, target) is True:
+ actor.sendSystemMessage('@performance:effect_perform_smoke_bomb', 0)
+ return
\ No newline at end of file
diff --git a/scripts/commands/spatialchatinternal.py b/scripts/commands/spatialchatinternal.py
index 451f6318..3a588dac 100644
--- a/scripts/commands/spatialchatinternal.py
+++ b/scripts/commands/spatialchatinternal.py
@@ -9,6 +9,7 @@ def run(core, actor, target, commandString):
chatMsg = parsedMsg[5]
chatType = int(parsedMsg[1])
moodId = int(parsedMsg[2])
- chatService.handleSpatialChat(actor, target, chatMsg, chatType, moodId)
+ languageId = int(parsedMsg[4])
+ chatService.spatialChat(actor, target, chatMsg, chatType, moodId, languageId, None)
return
\ No newline at end of file
diff --git a/scripts/commands/spotlight.py b/scripts/commands/spotlight.py
new file mode 100644
index 00000000..204c0017
--- /dev/null
+++ b/scripts/commands/spotlight.py
@@ -0,0 +1,39 @@
+from protocol.swg import PlayClientEffectObjectMessage
+import sys
+
+def setup():
+ return
+
+def run(core, actor, target, commandString):
+ level = actor.getLevel()
+ command = 'SpotLight1'
+ effect = 'clienteffect/entertainer_spot_light_level_1.cef'
+ rLevel = 1 # minimum level to perform this effect
+
+ if commandString is None or commandString == '':
+ if level >= 30:
+ command = 'SpotLight3'
+ effect = 'clienteffect/entertainer_spot_light_level_3.cef'
+
+ elif level >= 20:
+ command = 'SpotLight2'
+ effect = 'clienteffect/entertainer_spot_light_level_2.cef'
+
+ if commandString is not None:
+ if commandString == '2':
+ command = 'SpotLight2'
+ effect = 'clienteffect/entertainer_spot_light_level_2.cef'
+ rLevel = 20
+
+ elif commandString == '3':
+ command = 'SpotLight3'
+ effect = 'clienteffect/entertainer_spot_light_level_3.cef'
+ rLevel = 30
+
+ if level < rLevel:
+ actor.sendSystemMessage('@performance:effect_lack_skill_self', 0)
+ return
+
+ if core.entertainmentService.performEffect(actor, command, effect, None) is True:
+ actor.sendSystemMessage('@performance:effect_perform_spot_light', 0)
+ return
diff --git a/scripts/commands/startdance.py b/scripts/commands/startdance.py
index bae424d8..ce557827 100644
--- a/scripts/commands/startdance.py
+++ b/scripts/commands/startdance.py
@@ -4,6 +4,7 @@ from services.sui.SUIWindow import Trigger
from services.sui.SUIService import ListBoxType
from java.util import Vector
from java.util import HashMap
+from resources.datatables import Posture
import sys
def setup():
@@ -26,7 +27,6 @@ def run(core, actor, target, commandString):
else:
availableDances = entSvc.getAvailableDances(actor)
- print availableDances
suiSvc = core.suiService
suiWindow = suiSvc.createListBox(ListBoxType.LIST_BOX_OK_CANCEL, "@performance:select_dance", "@performance:available_dances", availableDances, actor, None, 10)
@@ -46,7 +46,7 @@ def handleStartdance(core, owner, eventType, returnList):
if not item:
return
-
+
#if eventType == 0:
startDance(coreObject, actorObject, '', int(item.getObjectId()))
return
@@ -74,8 +74,12 @@ def startDance(core, actor, danceName, visual):
actor.sendSystemMessage('@performance:already_performing_self',0)
return
- #TODO: check costume, posture, etc?
-
+ #TODO: check costume
+
+ if actor.getPosture() != Posture.Upright:
+ actor.sendSystemMessage('@performance:dance_fail', 0)
+ return
+
actor.sendSystemMessage('@performance:dance_start_self',0);
# i'm not sure about this. i think stopping just stopped any watchers anyways
# method doesn't exist now.
@@ -86,13 +90,13 @@ def startDance(core, actor, danceName, visual):
if not actor.getPerformanceWatchee():
#this also notifies the client with a delta4
actor.setPerformanceWatchee(actor)
- actor.addAudience(actor)
+ actor.addSpectator(actor)
#this should send a CREO3
actor.setPosture(0x09);
playerObject = actor.getSlottedObject('ghost')
- if playerObject and playerObject.getProfession() == "entertainer_1a":
+ if playerObject and playerObject.getProfession() == "entertainer_1a" and actor.getLevel() != 90:
entSvc.startPerformanceExperience(actor)
dance = entSvc.getDance(visual)
diff --git a/scripts/commands/stopdance.py b/scripts/commands/stopdance.py
index ed2b7a44..1427496b 100644
--- a/scripts/commands/stopdance.py
+++ b/scripts/commands/stopdance.py
@@ -11,10 +11,5 @@ def run(core, actor, target, commandString):
actor.sendSystemMessage('@performance:dance_not_performing', 0)
return
- #since we need to stop performance for any posture change,
- # all packets are triggered in setPosture.
- # this may not be very consistent, but it prevents
- # duplicate code.
- actor.setPosture(0x00)
-
+ actor.stopPerformance()
return
diff --git a/scripts/commands/stopwatching.py b/scripts/commands/stopwatching.py
index 7dc96fc8..555ee4ab 100644
--- a/scripts/commands/stopwatching.py
+++ b/scripts/commands/stopwatching.py
@@ -4,12 +4,14 @@ def setup():
return
def run(core, actor, target, commandString):
- dancer = actor.getPerformanceWatchee()
- if not dancer:
- return
-
+ performer = target
+ if commandString is not None and target is None:
+ performer = core.chatService.getObjectByFirstName(commandString)
+
+ if performer is None:
+ return
+ performer.removeSpectator(actor)
actor.setPerformanceWatchee(None)
- dancer.removeAudience(actor)
if not actor.getPerformanceListenee():
actor.setMoodAnimation('')
diff --git a/scripts/commands/teleporttarget.py b/scripts/commands/teleporttarget.py
new file mode 100644
index 00000000..f497fe25
--- /dev/null
+++ b/scripts/commands/teleporttarget.py
@@ -0,0 +1,29 @@
+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(' ')
+ 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)
+
+
+ return
diff --git a/scripts/commands/transferitemarmor.py b/scripts/commands/transferitemarmor.py
index bfd8486d..2edbec74 100644
--- a/scripts/commands/transferitemarmor.py
+++ b/scripts/commands/transferitemarmor.py
@@ -5,6 +5,7 @@ def setup():
def run(core, actor, target, commandString):
if core.equipmentService.canEquip(actor, target) is False:
+ actor.sendSystemMessage('@error_message:insufficient_skill', 0)
return
diff --git a/scripts/commands/transferitemmisc.py b/scripts/commands/transferitemmisc.py
index ee205206..e30072ba 100644
--- a/scripts/commands/transferitemmisc.py
+++ b/scripts/commands/transferitemmisc.py
@@ -1,17 +1,49 @@
import sys
-
+from engine.resources.scene import Quaternion
+
def setup():
return
def run(core, actor, target, commandString):
- if core.equipmentService.canEquip(actor, target) is False:
- return
-
-
parsedMsg = commandString.split(' ', 3)
objService = core.objectService
containerID = long(parsedMsg[1])
container = objService.getObject(containerID)
+ actorContainer = actor.getContainer()
+
+ if container == None: return
+
+ if target.getTemplate() == 'object/tangible/item/shared_loot_cash.iff':
+ core.lootService.handleCreditPickUp(actor,target)
+ core.objectService.destroyObject(target)
+ return
+
+ if target.isLootItem():
+ target.setLootItem(0)
+ name=target.getCustomName()
+ if target.getCustomName() == None:
+ name='@' + target.getStfFilename() + ':' + target.getStfName()
+
+ actor.sendSystemMessage('You looted ' + name + ' from corpse.', 0)
+
+ if actorContainer != None and (container.getTemplate() == "object/cell/shared_cell.iff") & core.housingService.getPermissions(actor, actorContainer):
+ target.getContainer().transferTo(actor, container, target)
+ core.simulationService.teleport(target, actor.getPosition(), Quaternion(1,0,0,0), containerID)
+ return
+
+ elif target.getContainer().getTemplate() == "object/cell/shared_cell.iff" and core.housingService.getPermissions(actor, target.getContainer()):
+ target.getContainer().transferTo(actor, container, target)
+ return
+
+ elif actorContainer != None and container.getTemplate() == "object/cell/shared_cell.iff":
+ actor.sendSystemMessage("You do not have permission to access that container!", 0)
+ return
+
+ if core.equipmentService.canEquip(actor, target) is False:
+ actor.sendSystemMessage('@error_message:insufficient_skill', 0)
+ return
+
+
if target and container and target.getContainer():
oldContainer = target.getContainer()
diff --git a/scripts/commands/transferitemweapon.py b/scripts/commands/transferitemweapon.py
index 2640ac0c..6e356571 100644
--- a/scripts/commands/transferitemweapon.py
+++ b/scripts/commands/transferitemweapon.py
@@ -5,6 +5,7 @@ def setup():
def run(core, actor, target, commandString):
if core.equipmentService.canEquip(actor, target) is False:
+ actor.sendSystemMessage('@error_message:insufficient_skill', 0)
return
diff --git a/scripts/commands/ventriloquism.py b/scripts/commands/ventriloquism.py
new file mode 100644
index 00000000..1781fbd1
--- /dev/null
+++ b/scripts/commands/ventriloquism.py
@@ -0,0 +1,38 @@
+import sys
+
+def setup():
+ return
+
+def run(core, actor, target, commandString):
+ level = actor.getLevel()
+ command = 'Ventriloquism1'
+ effect = 'clienteffect/entertainer_ventriloquism_level_1.cef'
+ rLevel = 58 # minimum level to perform this effect
+
+ if commandString is None or commandString == '':
+ if level >= 90:
+ command = 'Ventriloquism3'
+ effect = 'clienteffect/entertainer_ventriloquism_level_3.cef'
+
+ elif level >= 75:
+ command = 'Ventriloquism2'
+ effect = 'clienteffect/entertainer_ventriloquism_level_2.cef'
+
+ if commandString is not None:
+ if commandString == '2':
+ command = 'Ventriloquism2'
+ effect = 'clienteffect/entertainer_ventriloquism_level_2.cef'
+ rLevel = 75
+
+ elif commandString == '3':
+ command = 'Ventriloquism3'
+ effect = 'clienteffect/entertainer_ventriloquism_level_3.cef'
+ rLevel = 90
+
+ if level < rLevel:
+ actor.sendSystemMessage('@performance:effect_lack_skill_self', 0)
+ return
+
+ if core.entertainmentService.performEffect(actor, command, effect, target) is True:
+ actor.sendSystemMessage('@performance:effect_perform_ventriloquism', 0)
+ return
\ No newline at end of file
diff --git a/scripts/commands/watch.py b/scripts/commands/watch.py
index 5658d8fb..98627f98 100644
--- a/scripts/commands/watch.py
+++ b/scripts/commands/watch.py
@@ -4,31 +4,32 @@ def setup():
return
def run(core, actor, target, commandString):
- if not target:
- #FIXME: should accept name as a parameter.
- # since that probably needs support in many places,
- # best find a generic place for it in the server code
- return
+ entSvc = core.entertainmentService
+
+ if not target and commandString is not None:
+ target = core.chatService.getObjectByFirstName(commandString)
+
+ if target is None or actor.getPerformanceWatchee():
+ return
- if not target.isPlayer():
- actor.sendSystemMessage('@performance:dance_watch_npc')
- return
+ if target.getWorldPosition().getDistance2D(actor.getWorldPosition()) > float(20):
+ actor.sendSystemMessage(target.getCustomName() + ' is too far away to watch.', 0)
+ return
- entSvc = core.entertainmentService
- perf = entSvc.getPerformanceByIndex(target.getPerformanceId())
+ if not target.isPlayer():
+ actor.sendSystemMessage('@performance:dance_watch_npc', 0)
+ return
- if target.getPosture() != 0x09 or not perf or perf.getDanceVisualId() < 0:
- actor.sendSystemMessage('@performance:dance_watch_not_dancing',0)
- return
-
- oldWatchee = actor.getPerformanceWatchee()
- if oldWatchee and oldWatchee != target:
- oldWatchee.removeAudience(actor)
-
- actor.setPerformanceWatchee(target)
- target.addAudience(actor)
- actor.setMoodAnimation('entertained')
- actor.sendSystemMessage('@performance:dance_watch_self',0)
- return
+ perf = entSvc.getPerformanceByIndex(target.getPerformanceId())
+ if target.getPosture() != 0x09 or not perf or perf.getDanceVisualId() < 0:
+ actor.sendSystemMessage(target.getCustomName() + ' is not dancing.',0)
+ return
+
+ if target.getCoverCharge() > 0 or target.getCoverCharge() == None:
+ core.entertainmentService.handleCoverCharge(actor, target)
+ return
+ else:
+ core.entertainmentService.startSpectating(actor, target, True)
+ return
\ No newline at end of file
diff --git a/scripts/conversation/demo.py b/scripts/conversation/demo.py
new file mode 100644
index 00000000..35ab97b6
--- /dev/null
+++ b/scripts/conversation/demo.py
@@ -0,0 +1,60 @@
+from resources.common import ConversationOption
+from resources.common import OutOfBand
+from resources.common import ProsePackage
+from java.util import Vector
+import sys
+
+def startConversation(core, actor, npc):
+ convSvc = core.conversationService
+
+ convSvc.sendConversationMessage(actor, npc, OutOfBand(ProsePackage('conversation/respecseller:s_31')))
+
+ options = Vector()
+ options.add(ConversationOption(OutOfBand(ProsePackage('conversation/respecseller:s_32')), 0))
+ options.add(ConversationOption(OutOfBand(ProsePackage('conversation/respecseller:s_33')), 1))
+ convSvc.sendConversationOptions(actor, npc, options, handleFirstScreen)
+
+ return
+
+def handleFirstScreen(core, actor, npc, selection):
+ convSvc = core.conversationService
+
+ # TODO: check for prices
+
+ if selection == 0: # respec
+ convSvc.sendConversationMessage(actor, npc, OutOfBand(ProsePackage('conversation/respecseller:s_58')))
+
+ options = Vector()
+ options.add(ConversationOption(OutOfBand(ProsePackage('conversation/respecseller:s_60')), 0))
+ options.add(ConversationOption(OutOfBand(ProsePackage('conversation/respecseller:s_64')), 1))
+ convSvc.sendConversationOptions(actor, npc, options, handleRespecScreen)
+
+ if selection == 1: # expertise reset
+ convSvc.sendConversationMessage(actor, npc, OutOfBand(ProsePackage('conversation/respecseller:s_35')))
+
+ options = Vector()
+ options.add(ConversationOption(OutOfBand(ProsePackage('conversation/respecseller:s_71')), 0))
+ options.add(ConversationOption(OutOfBand(ProsePackage('conversation/respecseller:s_72')), 1))
+ convSvc.sendConversationOptions(actor, npc, options, handleResetScreen)
+
+ return
+
+def handleRespecScreen(core, actor, npc, selection):
+ if selection == 0:
+ core.skillService.sendRespecWindow(actor)
+
+ core.conversationService.handleEndConversation(actor, npc)
+
+ return
+
+def handleResetScreen(core, actor, npc, selection):
+ if selection == 0:
+ core.skillService.resetExpertise(actor)
+
+ core.conversationService.handleEndConversation(actor, npc)
+
+ return
+
+def endConversation(core, actor, npc):
+ core.conversationService.sendStopConversation(actor, npc, 'conversation/respecseller', 's_38')
+ return
diff --git a/scripts/conversation/junk_dealer.py b/scripts/conversation/junk_dealer.py
new file mode 100644
index 00000000..7c146b0f
--- /dev/null
+++ b/scripts/conversation/junk_dealer.py
@@ -0,0 +1,572 @@
+from resources.common import ConversationOption
+from resources.common import OutOfBand
+from resources.common import ProsePackage
+from resources.common import RadialOptions
+from services.sui import SUIWindow
+from services.sui.SUIWindow import Trigger
+from java.util import Vector
+import sys
+
+sellItemListRef = 0
+buyItemListRef = 0
+coreRef = 0
+junkDealerRef = 0
+
+def startConversation(core, actor, npc):
+ #core.lootService.prepInv(actor)
+ global coreRef
+ global junkDealerRef
+ global sellItemListRef
+ sellItemListRef = core.lootService.getSellableInventoryItems(actor)
+ coreRef = core
+ junkDealerRef = npc
+ convSvc = core.conversationService
+ prose = ProsePackage('conversation/junk_dealer_generic', 's_bef51e38')
+ outOfBand = OutOfBand()
+ outOfBand.addProsePackage(prose)
+ convSvc.sendConversationMessage(actor, npc, outOfBand)
+ prose2 = ProsePackage('conversation/junk_dealer_generic', 's_54fab04f')
+ outOfBand2 = OutOfBand()
+ outOfBand2.addProsePackage(prose2)
+ prose3 = ProsePackage('conversation/junk_dealer_generic', 's_48')
+ outOfBand3 = OutOfBand()
+ outOfBand3.addProsePackage(prose3)
+ prose4 = ProsePackage('conversation/junk_dealer_generic', 's_3aa18b2d')
+ outOfBand4 = OutOfBand()
+ outOfBand4.addProsePackage(prose4)
+ option1 = ConversationOption(outOfBand2, 0)
+ option2 = ConversationOption(outOfBand3, 1)
+ option3 = ConversationOption(outOfBand4, 1)
+
+ options = Vector()
+ options.add(option1)
+ options.add(option2)
+ options.add(option3)
+
+ if len(core.lootService.getBuyHistory(actor,npc))!= 0:
+ prose5 = ProsePackage('conversation/junk_dealer_generic', 's_43')
+ outOfBand5 = OutOfBand()
+ outOfBand5.addProsePackage(prose5)
+ option4 = ConversationOption(outOfBand5, 1)
+ options.add(option4)
+
+ convSvc.sendConversationOptions(actor, npc, options, handleFirstScreen)
+ return
+
+def handleFirstScreen(core, actor, npc, selection):
+
+ convSvc = core.conversationService
+
+ if selection == 0:
+ # sell items
+
+ prose = ProsePackage('conversation/junk_dealer_generic', 's_84a67771')
+ outOfBand = OutOfBand()
+ outOfBand.addProsePackage(prose)
+ convSvc.sendConversationMessage(actor, npc, outOfBand)
+
+ sellItemListRef = core.lootService.getSellableInventoryItems(actor)
+
+ if len(sellItemListRef) == 0:
+ actor.sendSystemMessage('@loot_dealer:no_items', 1)
+ startConversation(coreRef,actor,junkDealerRef)
+ return # no point
+
+ window = core.suiService.createSUIWindow('Script.listBox', actor, npc, 0)
+ window.setProperty('bg.caption.lblTitle:Text', '@loot_dealer:sell_title')
+ window.setProperty('Prompt.lblPrompt:Text', '@loot_dealer:sell_prompt')
+
+ for item in sellItemListRef:
+ window.addListBoxMenuItem(item.getCustomName(), 0);
+
+ window.setProperty('btnOther:visible', 'True')
+ window.setProperty('btnCancel:visible', 'True')
+ window.setProperty('btnOk:visible', 'True')
+ window.setProperty('btnOther:Text', '@loot_dealer:examine')
+ window.setProperty('btnCancel:Text', '@cancel')
+ window.setProperty('btnOk:Text', '@loot_dealer:btn_sell')
+ returnList = Vector()
+ returnList.add('List.lstList:SelectedRow')
+
+ window.addHandler(0, '', Trigger.TRIGGER_OK, returnList, sellWindowCallBack)
+ window.addHandler(1, '', Trigger.TRIGGER_CANCEL, returnList, sellWindowCallBack)
+ window.addHandler(2, '', Trigger.TRIGGER_UPDATE, returnList, sellWindowCallBack)
+ core.suiService.openSUIWindow(window);
+
+ return
+
+ if selection == 1:
+ # mark items
+ window = core.suiService.createSUIWindow('Script.listBox', actor, npc, 0)
+ window.setProperty('bg.caption.lblTitle:Text', '@loot_dealer:junk_no_sell_title')
+ window.setProperty('Prompt.lblPrompt:Text', '@loot_dealer:junk_no_sell_desc')
+
+ sellItemListRef = core.lootService.getSellableInventoryItems(actor)
+
+ for item in sellItemListRef:
+ nameString = item.getCustomName()
+ nameString = 'TestJunkItem'
+ if item.isNoSell():
+ nameString = '[*No Sell*]' + item.getCustomName()
+ window.addListBoxMenuItem(nameString, 0)
+ else:
+ nameString = '[Sellable]' + item.getCustomName()
+ window.addListBoxMenuItem(nameString, 0)
+
+ window.setProperty('btnOther:visible', 'True')
+ window.setProperty('btnCancel:visible', 'True')
+ window.setProperty('btnOk:visible', 'True')
+ window.setProperty('btnOther:Text', '@loot_dealer:examine')
+ window.setProperty('btnCancel:Text', '@cancel')
+ window.setProperty('btnOk:Text', '@loot_dealer:junk_no_sell_button')
+ returnList = Vector()
+ returnList.add('List.lstList:SelectedRow')
+
+ #window.addHandler(0, '', Trigger.TRIGGER_OK, returnList, noSellWindowCallBack)
+ #window.addHandler(1, '', Trigger.TRIGGER_CANCEL, returnList, noSellWindowCallBack)
+ window.addHandler(0, '',9, returnList, noSellWindowCallBack)
+ window.addHandler(1, '',10, returnList, noSellWindowCallBack)
+ window.addHandler(2, '',11, returnList, noSellWindowCallBack)
+ core.suiService.openSUIWindow(window);
+ return
+
+ if selection == 2:
+ lootKitScreen1(core, actor, npc)
+
+
+ if selection == 3:
+ # buy back
+
+ buyHistory = coreRef.lootService.getBuyHistory(actor,npc)
+ if len(buyHistory) == 0:
+ actor.sendSystemMessage('@loot_dealer:no_buy_back_items_found', 1)
+ startConversation(coreRef,actor,npc)
+ return
+
+ prose = ProsePackage('conversation/junk_dealer_generic', 's_44')
+ outOfBand = OutOfBand()
+ outOfBand.addProsePackage(prose)
+ convSvc.sendConversationMessage(actor, npc, outOfBand)
+
+ window = core.suiService.createSUIWindow('Script.listBox', actor, npc, 0)
+ window.setProperty('bg.caption.lblTitle:Text', '@loot_dealer:buy_back_title')
+ window.setProperty('Prompt.lblPrompt:Text', '@loot_dealer:buy_back_prompt')
+
+ buyHistory = core.lootService.getBuyHistory(actor,junkDealerRef)
+ if buyHistory==None:
+ return
+
+
+
+ for item in buyHistory:
+ junkDealerPrice = item.getJunkDealerPrice()
+ if junkDealerPrice == 0:
+ junkDealerPrice = 20
+ nameString = '[%s' % junkDealerPrice + ']' + item.getCustomName() #%
+ window.addListBoxMenuItem(nameString, 0)
+
+ window.setProperty('btnOther:visible', 'True')
+ window.setProperty('btnCancel:visible', 'True')
+ window.setProperty('btnOk:visible', 'True')
+ window.setProperty('btnOther:Text', '@loot_dealer:examine')
+ window.setProperty('btnCancel:Text', '@cancel')
+ window.setProperty('btnOk:Text', '@loot_dealer:btn_buy_back')
+ returnList = Vector()
+ returnList.add('List.lstList:SelectedRow')
+
+ window.addHandler(0, '', Trigger.TRIGGER_OK, returnList, buyBackWindowCallBack)
+ window.addHandler(1, '', Trigger.TRIGGER_CANCEL, returnList, buyBackWindowCallBack)
+ window.addHandler(2, '', Trigger.TRIGGER_UPDATE, returnList, buyBackWindowCallBack)
+ core.suiService.openSUIWindow(window);
+
+ return
+
+def handleRespecScreen(core, actor, npc, selection):
+
+ if selection == 0:
+ core.skillService.sendRespecWindow(actor)
+
+ core.conversationService.handleEndConversation(actor, npc)
+
+ return
+
+
+def handleResetScreen(core, actor, npc, selection):
+
+ if selection == 0:
+ core.skillService.resetExpertise(actor)
+
+ core.conversationService.handleEndConversation(actor, npc)
+
+ return
+
+def endConversation(core, actor, npc):
+ core.conversationService.sendStopConversation(actor, npc, 'conversation/junk_dealer_generic', 's_4bd9d15e')
+ return
+
+
+def sellWindowCallBack(owner, window, eventType, returnList):
+
+ sellItemListRef = coreRef.lootService.getSellableInventoryItems(owner)
+
+ #sell
+ if eventType == 0:
+
+ sellItem = sellItemListRef.get(int(returnList.get(0)))
+
+ #if len(sellItemListRef):
+ #owner.sendSystemMessage('@junk_dealer:no_items', 1)
+ #return
+
+ if sellItem == None:
+ owner.sendSystemMessage('@junk_dealer:no_items', 1)
+ return
+
+ inventory = owner.getSlottedObject('inventory')
+
+
+ junkDealerPrice = sellItem.getJunkDealerPrice()
+ if junkDealerPrice == 0:
+ junkDealerPrice = 20
+ owner.setCashCredits(owner.getCashCredits()+junkDealerPrice)
+
+ # add item to 10-item junk dealer history
+ coreRef.lootService.addToBuyHistory(owner,junkDealerRef,sellItem)
+
+ owner.sendSystemMessage(OutOfBand.ProsePackage("@junk_dealer:prose_sold_junk", "TT", sellItem.getCustomName(),junkDealerPrice), 0)
+
+ inventory.remove(sellItem)
+
+ coreRef.suiService.closeSUIWindow(owner,window.getWindowId())
+ handleFirstScreen(coreRef, owner, junkDealerRef, 0)
+ return
+
+ #cancel
+ if eventType == 1:
+ owner.sendSystemMessage("cancel ", 1)
+ coreRef.suiService.closeSUIWindow(owner,window.getWindowId())
+ startConversation(coreRef,owner,junkDealerRef)
+ return
+
+ #examine
+ if eventType == 2:
+ owner.sendSystemMessage("examine ", 1)
+ #coreRef.suiService.closeSUIWindow(window,window.getWindowId())
+ #startConversation(coreRef,owner,junkDealerRef)
+ #owner.sendSystemMessage('Examine', 0)
+ return
+
+ return
+
+def noSellWindowCallBack(owner, window, eventType, returnList):
+
+ if returnList.get(0) == 0:
+ startConversation(coreRef,owner,junkDealerRef)
+ return
+
+ #toggle
+ if eventType == 0:
+ owner.sendSystemMessage('Toggle', 0)
+ toggleItem = sellItemListRef.get(int(returnList.get(0)))
+ if toggleItem.isNoSell():
+ toggleItem.setNoSell(0)
+ else:
+ toggleItem.setNoSell(1)
+
+ #core.suiService.closeSUIWindow(window)
+ handleFirstScreen(coreRef, owner, junkDealerRef, 1)
+ return
+
+ #cancel
+ if eventType == 1:
+ owner.sendSystemMessage('Cancle', 0)
+ sellItem = returnList.get(0)
+ startConversation(coreRef,owner,junkDealerRef)
+ return
+
+ #examine
+ if eventType == 2:
+ owner.sendSystemMessage('Ex', 0)
+ sellItem = returnList.get(0)
+ startConversation(coreRef,owner,junkDealerRef)
+ owner.sendSystemMessage('Examine', 0)
+ return
+
+def buyBackWindowCallBack(owner, window, eventType, returnList):
+
+ convSvc = coreRef.conversationService
+
+ if returnList.get(0) == 0:
+ startConversation(coreRef,owner,junkDealerRef)
+ return
+
+ #buy
+ if eventType == 0:
+ index = int(returnList.get(0))
+ buyHistory = coreRef.lootService.getBuyHistory(owner,junkDealerRef)
+ if len(buyHistory) == 0:
+ owner.sendSystemMessage('@loot_dealer:no_buy_back_items_found', 1)
+ startConversation(coreRef,owner,junkDealerRef)
+ return
+
+ buyBackItem = buyHistory.get(index)
+
+ if buyBackItem == None:
+ owner.sendSystemMessage('@loot_dealer:no_buy_back_items_found', 0)
+ startConversation(coreRef,owner,junkDealerRef)
+ return
+
+ if owner.getInventoryItemCount() >= 80:
+ prose = ProsePackage('conversation/junk_dealer_generic', 's_47')
+ outOfBand = OutOfBand()
+ outOfBand.addProsePackage(prose)
+ convSvc.sendConversationMessage(owner, junkDealerRef, outOfBand)
+ return
+
+ junkDealerPrice = buyBackItem.getJunkDealerPrice()
+ if junkDealerPrice == 0:
+ junkDealerPrice = 20
+ owner.setCashCredits(owner.getCashCredits()+junkDealerPrice)
+
+ if owner.getCashCredits()>=junkDealerPrice:
+ owner.setCashCredits(owner.getCashCredits()-junkDealerPrice)
+ inventory = owner.getSlottedObject('inventory')
+ inventory.add(buyBackItem)
+ owner.sendSystemMessage('You buy back ' + buyBackItem.getCustomName() + ' for %s' % junkDealerPrice + ' credits.', 0)
+ # remove from junk dealer history
+ coreRef.lootService.removeBoughtBackItemFromHistory(owner,junkDealerRef,buyBackItem)
+ else:
+ owner.sendSystemMessage('@loot_dealer:prose_no_buy_back', 0)
+
+ coreRef.suiService.closeSUIWindow(owner,window.getWindowId());
+ handleFirstScreen(coreRef, owner, junkDealerRef, 3)
+ return
+
+ #cancel
+ if eventType == 1:
+ owner.sendSystemMessage('Cancel', 0)
+ sellItem = returnList.get(0)
+ startConversation(coreRef,owner,junkDealerRef)
+ return
+
+ #examine
+ if eventType == 2:
+ owner.sendSystemMessage('Ex', 0)
+ sellItem = returnList.get(0)
+ startConversation(coreRef,owner,junkDealerRef)
+ owner.sendSystemMessage('Examine', 0)
+ return
+
+def handleLootScreenSelection1(core, actor, npc, selection):
+
+ convSvc = core.conversationService
+ if selection == 0:
+ lootKitScreen1(core, actor, npc)
+
+ return
+
+def handleLootScreenSelection2(core, actor, npc, selection):
+
+ convSvc = core.conversationService
+ if selection == 0:
+ lootKitScreen2(core, actor, npc)
+
+ return
+
+def handleLootScreenSelection3(core, actor, npc, selection):
+
+ convSvc = core.conversationService
+ if selection == 0:
+ lootKitScreen3(core, actor, npc)
+
+ return
+
+def handleLootScreenSelection4(core, actor, npc, selection):
+
+ convSvc = core.conversationService
+ if selection == 0:
+ lootKitScreen4(core, actor, npc)
+
+ return
+
+def handleLootScreenSelection5(core, actor, npc, selection):
+
+ convSvc = core.conversationService
+ if selection == 0:
+ lootKitScreen5a(core, actor, npc)
+
+ if selection == 1:
+ lootKitScreen5b(core, actor, npc)
+
+ return
+
+def handleLootScreenSelection6(core, actor, npc, selection):
+
+ convSvc = core.conversationService
+ prose = ProsePackage('conversation/junk_dealer_generic', 's_14efaaa2')
+ outOfBand = OutOfBand()
+ outOfBand.addProsePackage(prose)
+ convSvc.sendConversationMessage(actor, npc, outOfBand)
+ if selection == 0:
+ template = 'object/tangible/loot/collectible/kits/shared_orange_rug_kit.iff'
+ addLootKit(core, actor, npc,template)
+
+ if selection == 1:
+ template = 'object/tangible/loot/collectible/kits/shared_blue_rug_kit.iff'
+ addLootKit(core, actor, npc,template)
+
+ if selection == 2:
+ template = 'object/tangible/loot/collectible/kits/shared_gong_kit.iff'
+ addLootKit(core, actor, npc,template)
+
+ if selection == 3:
+ template = 'object/tangible/loot/collectible/kits/shared_light_table_kit.iff'
+ addLootKit(core, actor, npc,template)
+
+ if selection == 4:
+ template = 'object/tangible/loot/collectible/kits/shared_sculpture_kit.iff'
+ addLootKit(core, actor, npc,template)
+
+ return
+
+def addLootKit(core, actor, npc,template):
+
+ kit = core.objectService.createObject(template, actor.getPlanet())
+ inventory = actor.getSlottedObject('inventory')
+ inventory.add(kit)
+ return
+
+def lootKitScreen1(core, actor, npc):
+
+ convSvc = core.conversationService
+ prose = ProsePackage('conversation/junk_dealer_generic', 's_d9e6b751')
+ outOfBand = OutOfBand()
+ outOfBand.addProsePackage(prose)
+ convSvc.sendConversationMessage(actor, npc, outOfBand)
+
+ prose2 = ProsePackage('conversation/junk_dealer_generic', 's_6d53d062')
+ outOfBand2 = OutOfBand()
+ outOfBand2.addProsePackage(prose2)
+
+ option1 = ConversationOption(outOfBand2, 0)
+
+ options = Vector()
+ options.add(option1)
+
+ convSvc.sendConversationOptions(actor, npc, options, handleLootScreenSelection2)
+
+ return
+
+def lootKitScreen2(core, actor, npc):
+
+ convSvc = core.conversationService
+ prose = ProsePackage('conversation/junk_dealer_generic', 's_e29f48dc')
+ outOfBand = OutOfBand()
+ outOfBand.addProsePackage(prose)
+ convSvc.sendConversationMessage(actor, npc, outOfBand)
+
+ prose2 = ProsePackage('conversation/junk_dealer_generic', 's_324b9b0f')
+ outOfBand2 = OutOfBand()
+ outOfBand2.addProsePackage(prose2)
+
+ option1 = ConversationOption(outOfBand2, 0)
+
+ options = Vector()
+ options.add(option1)
+
+ convSvc.sendConversationOptions(actor, npc, options, handleLootScreenSelection3)
+
+ return
+
+def lootKitScreen3(core, actor, npc):
+
+ convSvc = core.conversationService
+ prose = ProsePackage('conversation/junk_dealer_generic', 's_12fe83a6')
+ outOfBand = OutOfBand()
+ outOfBand.addProsePackage(prose)
+ convSvc.sendConversationMessage(actor, npc, outOfBand)
+
+ prose2 = ProsePackage('conversation/junk_dealer_generic', 's_e1a103e5')
+ outOfBand2 = OutOfBand()
+ outOfBand2.addProsePackage(prose2)
+
+ option1 = ConversationOption(outOfBand2, 0)
+
+ options = Vector()
+ options.add(option1)
+
+ convSvc.sendConversationOptions(actor, npc, options, handleLootScreenSelection4)
+
+ return
+
+def lootKitScreen4(core, actor, npc):
+
+ convSvc = core.conversationService
+ prose = ProsePackage('conversation/junk_dealer_generic', 's_4d65752')
+ outOfBand = OutOfBand()
+ outOfBand.addProsePackage(prose)
+ convSvc.sendConversationMessage(actor, npc, outOfBand)
+
+ prose2 = ProsePackage('conversation/junk_dealer_generic', 's_d347bee3')
+ outOfBand2 = OutOfBand()
+ outOfBand2.addProsePackage(prose2)
+ prose3 = ProsePackage('conversation/junk_dealer_generic', 's_b60b73f8')
+ outOfBand3 = OutOfBand()
+ outOfBand3.addProsePackage(prose3)
+
+ option1 = ConversationOption(outOfBand2, 0)
+ option2 = ConversationOption(outOfBand3, 0)
+
+ options = Vector()
+ options.add(option1)
+ options.add(option2)
+
+ convSvc.sendConversationOptions(actor, npc, options, handleLootScreenSelection5)
+
+ return
+
+def lootKitScreen5a(core, actor, npc):
+
+ convSvc = core.conversationService
+ prose = ProsePackage('conversation/junk_dealer_generic', 's_3fc7eb45')
+ outOfBand = OutOfBand()
+ outOfBand.addProsePackage(prose)
+ convSvc.sendConversationMessage(actor, npc, outOfBand)
+
+ prose2 = ProsePackage('conversation/junk_dealer_generic', 's_ee977dee')
+ outOfBand2 = OutOfBand()
+ outOfBand2.addProsePackage(prose2)
+ prose3 = ProsePackage('conversation/junk_dealer_generic', 's_8f39769')
+ outOfBand3 = OutOfBand()
+ outOfBand3.addProsePackage(prose3)
+ prose4 = ProsePackage('conversation/junk_dealer_generic', 's_fe657cdd')
+ outOfBand4 = OutOfBand()
+ outOfBand4.addProsePackage(prose4)
+ prose5 = ProsePackage('conversation/junk_dealer_generic', 's_9ede4b84')
+ outOfBand5 = OutOfBand()
+ outOfBand5.addProsePackage(prose5)
+ prose6 = ProsePackage('conversation/junk_dealer_generic', 's_87c5851b')
+ outOfBand6 = OutOfBand()
+ outOfBand6.addProsePackage(prose6)
+
+ option1 = ConversationOption(outOfBand2, 0)
+ option2 = ConversationOption(outOfBand3, 0)
+ option3 = ConversationOption(outOfBand4, 0)
+ option4 = ConversationOption(outOfBand5, 0)
+ option5 = ConversationOption(outOfBand6, 0)
+
+ options = Vector()
+ options.add(option1)
+ options.add(option2)
+ options.add(option3)
+ options.add(option4)
+ options.add(option5)
+
+ convSvc.sendConversationOptions(actor, npc, options, handleLootScreenSelection6)
+
+ return
+
+def lootKitScreen5b(core, actor, npc):
+
+ startConversation(core,actor,npc)
+ return
\ No newline at end of file
diff --git a/scripts/conversation/respec.py b/scripts/conversation/respec.py
new file mode 100644
index 00000000..f929002e
--- /dev/null
+++ b/scripts/conversation/respec.py
@@ -0,0 +1,96 @@
+from resources.common import ConversationOption
+from resources.common import OutOfBand
+from resources.common import ProsePackage
+from java.util import Vector
+import sys
+
+def startConversation(core, actor, npc):
+ convSvc = core.conversationService
+ prose = ProsePackage('conversation/respecseller', 's_31')
+ outOfBand = OutOfBand()
+ outOfBand.addProsePackage(prose)
+ convSvc.sendConversationMessage(actor, npc, outOfBand)
+ prose2 = ProsePackage('conversation/respecseller', 's_32')
+ outOfBand2 = OutOfBand()
+ outOfBand2.addProsePackage(prose2)
+ prose3 = ProsePackage('conversation/respecseller', 's_33')
+ outOfBand3 = OutOfBand()
+ outOfBand3.addProsePackage(prose3)
+ option1 = ConversationOption(outOfBand2, 0)
+ option2 = ConversationOption(outOfBand3, 1)
+ options = Vector()
+ options.add(option1)
+ options.add(option2)
+ convSvc.sendConversationOptions(actor, npc, options, handleFirstScreen)
+ return
+
+def handleFirstScreen(core, actor, npc, selection):
+
+ if selection == 0:
+ # respec
+ # TODO: check for prices
+ convSvc = core.conversationService
+ prose = ProsePackage('conversation/respecseller', 's_58')
+ outOfBand = OutOfBand()
+ outOfBand.addProsePackage(prose)
+ convSvc.sendConversationMessage(actor, npc, outOfBand)
+ prose2 = ProsePackage('conversation/respecseller', 's_60')
+ outOfBand2 = OutOfBand()
+ outOfBand2.addProsePackage(prose2)
+ prose3 = ProsePackage('conversation/respecseller', 's_64')
+ outOfBand3 = OutOfBand()
+ outOfBand3.addProsePackage(prose3)
+ option1 = ConversationOption(outOfBand2, 0)
+ option2 = ConversationOption(outOfBand3, 1)
+ options = Vector()
+ options.add(option1)
+ options.add(option2)
+ convSvc.sendConversationOptions(actor, npc, options, handleRespecScreen)
+ return
+ if selection == 1:
+ # expertise reset
+ # TODO: check for prices
+ convSvc = core.conversationService
+ prose = ProsePackage('conversation/respecseller', 's_35')
+ outOfBand = OutOfBand()
+ outOfBand.addProsePackage(prose)
+ convSvc.sendConversationMessage(actor, npc, outOfBand)
+ prose2 = ProsePackage('conversation/respecseller', 's_71')
+ outOfBand2 = OutOfBand()
+ outOfBand2.addProsePackage(prose2)
+ prose3 = ProsePackage('conversation/respecseller', 's_72')
+ outOfBand3 = OutOfBand()
+ outOfBand3.addProsePackage(prose3)
+ option1 = ConversationOption(outOfBand2, 0)
+ option2 = ConversationOption(outOfBand3, 1)
+ options = Vector()
+ options.add(option1)
+ options.add(option2)
+ convSvc.sendConversationOptions(actor, npc, options, handleResetScreen)
+
+
+ return
+
+def handleRespecScreen(core, actor, npc, selection):
+
+ if selection == 0:
+ core.skillService.sendRespecWindow(actor)
+
+ core.conversationService.handleEndConversation(actor, npc)
+
+ return
+
+
+def handleResetScreen(core, actor, npc, selection):
+
+ if selection == 0:
+ core.skillService.resetExpertise(actor)
+
+ core.conversationService.handleEndConversation(actor, npc)
+
+ return
+
+def endConversation(core, actor, npc):
+ core.conversationService.sendStopConversation(actor, npc, 'conversation/respecseller', 's_38')
+ return
+
\ No newline at end of file
diff --git a/scripts/demo.py b/scripts/demo.py
index 92b340a8..1b5dbf3d 100644
--- a/scripts/demo.py
+++ b/scripts/demo.py
@@ -2,23 +2,23 @@ import sys
def CreateStartingCharacter(core, object):
-# testObject = core.objectService.createObject('object/weapon/ranged/rifle/shared_rifle_t21.iff', object.getPlanet())
-# testObject.setCustomName('This is a Jython Rifle')
-# testObject.setStringAttribute('crafter', 'Light')
-# testObject.setDamageType('@obj_attr_n:armor_eff_energy')
-# testObject.setElementalType('@obj_attr_n:elemental_cold')
-# testObject.setStringAttribute('cat_wpn_damage.damage', '0-0')
-# testObject.setMinDamage(425)
-# testObject.setMaxDamage(1150)
-# testObject.setElementalDamage(50)
-# testObject.setIntAttribute('cat_wpn_damage.weapon_dps', testObject.getDamagePerSecond())
-# testObject.setIntAttribute('cat_skill_mod_bonus.@stat_n:precision_modified', 35)
-# object.addSkillMod('kinetic' , 0)
-# object.addSkillMod('energy' , 0)
-# object.addSkillMod('heat' , 0)
-# object.addSkillMod('cold' , 0)
-# object.addSkillMod('acid' , 0)
-# object.addSkillMod('electricity' , 0)
+ #testObject = core.objectService.createObject('object/weapon/ranged/rifle/shared_rifle_t21.iff', object.getPlanet())
+ #testObject.setCustomName('This is a Jython Rifle')
+ #testObject.setStringAttribute('crafter', 'Light')
+ #testObject.setDamageType('@obj_attr_n:armor_eff_energy')
+ #testObject.setElementalType('@obj_attr_n:elemental_cold')
+ #testObject.setStringAttribute('cat_wpn_damage.damage', '0-0')
+ #testObject.setMinDamage(425)
+ #testObject.setMaxDamage(1150)
+ #testObject.setElementalDamage(50)
+ #testObject.setIntAttribute('cat_wpn_damage.weapon_dps', testObject.getDamagePerSecond())
+ #testObject.setIntAttribute('cat_skill_mod_bonus.@stat_n:precision_modified', 35)
+ #object.addSkillMod('kinetic' , 0)
+ #object.addSkillMod('energy' , 0)
+ #object.addSkillMod('heat' , 0)
+ #object.addSkillMod('cold' , 0)
+ #object.addSkillMod('acid' , 0)
+ #object.addSkillMod('electricity' , 0)
#object.addSkillMod('combat_strikethrough_value' , 50)
#object.addSkillMod('display_only_dodge' , 2000)
#object.addSkillMod('display_only_parry' , 1000)
@@ -29,40 +29,40 @@ def CreateStartingCharacter(core, object):
#object.addSkillMod('display_only_block' , 2000)
#object.addSkillMod('combat_block_value' , 0)
-# inventory = object.getSlottedObject('inventory')
-# if not inventory:
-# return
-# inventory.add(testObject)
+# #inventory = object.getSlottedObject('inventory')
+# #if not inventory:
+# # return
+# #inventory.add(testObject)
-# testClothing = core.objectService.createObject('object/tangible/wearables/cape/shared_cape_rebel_01.iff', object.getPlanet())
-# testClothing.setCustomName('Test Cape')
-# testCloak = core.objectService.createObject('object/tangible/wearables/robe/shared_robe_jedi_dark_s05.iff', object.getPlanet())
-# testCloak.setCustomName('Test Cloak')
-
-# inventory.add(testClothing)
-# inventory.add(testCloak)
-# profession = object.getSlottedObject('ghost').getProfession()
-# if profession == 'commando_1a':
-# object.addSkillMod('expertise_devastation_bonus' , 20)
-# testObject2 = core.objectService.createObject('object/weapon/ranged/heavy/shared_heavy_rocket_launcher.iff', object.getPlanet())
-# testObject2.setCustomName('Test Heavy Weapon')
-# testObject2.setStringAttribute('crafter', 'Light')
-# testObject2.setDamageType('@obj_attr_n:armor_eff_kinetic')
-# testObject2.setElementalType('@obj_attr_n:elemental_heat')
-# testObject2.setStringAttribute('cat_wpn_damage.damage', '0-0')
-# testObject2.setMinDamage(550)
-# testObject2.setMaxDamage(1315)
-# testObject2.setElementalDamage(216)
-# testObject2.setIntAttribute('cat_wpn_damage.weapon_dps', testObject2.getDamagePerSecond())
-# inventory.add(testObject2)
+# #testClothing = core.objectService.createObject('object/tangible/wearables/cape/shared_cape_rebel_01.iff', object.getPlanet())
+# #testClothing.setCustomName('Test Cape')
+# #testCloak = core.objectService.createObject('object/tangible/wearables/robe/shared_robe_jedi_dark_s05.iff', object.getPlanet())
+# #testCloak.setCustomName('Test Cloak')
+# #inventory.add(testClothing)
+# #inventory.add(testCloak)
+# #profession = object.getSlottedObject('ghost').getProfession()
+# #if profession == 'commando_1a':
+# # object.addSkillMod('expertise_devastation_bonus' , 20)
+# # testObject2 = core.objectService.createObject('object/weapon/ranged/heavy/shared_heavy_rocket_launcher.iff', object.getPlanet())
+# # testObject2.setCustomName('Test Heavy Weapon')
+# # testObject2.setStringAttribute('crafter', 'Light')
+# # testObject2.setDamageType('@obj_attr_n:armor_eff_kinetic')
+# # testObject2.setElementalType('@obj_attr_n:elemental_heat')
+# # testObject2.setStringAttribute('cat_wpn_damage.damage', '0-0')
+# # testObject2.setMinDamage(550)
+# # testObject2.setMaxDamage(1315)
+# # testObject2.setElementalDamage(216)
+# # testObject2.setIntAttribute('cat_wpn_damage.weapon_dps', testObject2.getDamagePerSecond())
+# # inventory.add(testObject2)
+#
# addProfessionAbilities(core, object, profession)
# heroism1 = core.objectService.createObject('object/tangible/wearables/necklace/shared_necklace_s10.iff', object.getPlanet())
-# heroism1.setStfFilename('static_item_n')
-# heroism1.setStfName('item_necklace_set_hero_01_01')
-# heroism1.setDetailFilename('static_item_d')
-# heroism1.setDetailName('item_necklace_set_hero_01_01')
+ # heroism1.setStfFilename('static_item_n')
+ # heroism1.setStfName('item_necklace_set_hero_01_01')
+ # heroism1.setDetailFilename('static_item_d')
+ # heroism1.setDetailName('item_necklace_set_hero_01_01')
# heroism1.setStringAttribute('@set_bonus:piece_bonus_count_2', '@set_bonus:set_bonus_hero_1')
# heroism1.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_hero_2')
# heroism1.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_hero_3')
@@ -71,22 +71,22 @@ def CreateStartingCharacter(core, object):
# heroism1.setIntAttribute('cat_stat_mod_bonus.food_strength_modified' , 30)
-# inventory = object.getSlottedObject('inventory')
-# if not inventory:
-# return
-# inventory.add(heroism1)
+ # inventory = object.getSlottedObject('inventory')
+ # if not inventory:
+ # return
+ # inventory.add(heroism1)
-# heroism2 = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s03_r.iff', object.getPlanet())
-# heroism2.setStfFilename('static_item_n')
-# heroism2.setStfName('item_bracelet_r_set_hero_01_01')
-# heroism2.setDetailFilename('static_item_d')
-# heroism2.setDetailName('item_bracelet_r_set_hero_01_01')
-# heroism2.setStringAttribute('@set_bonus:piece_bonus_count_2', '@set_bonus:set_bonus_hero_1')
-# heroism2.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_hero_2')
-# heroism2.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_hero_3')
-# heroism2.setIntAttribute('cat_stat_mod_bonus.food_luck_modified' , 30)
-# heroism2.setIntAttribute('cat_stat_mod_bonus.food_precision_modified' , 30)
-# heroism2.setIntAttribute('cat_stat_mod_bonus.food_strength_modified' , 30)
+ # heroism2 = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s03_r.iff', object.getPlanet())
+ # heroism2.setStfFilename('static_item_n')
+ # heroism2.setStfName('item_bracelet_r_set_hero_01_01')
+ # heroism2.setDetailFilename('static_item_d')
+ # heroism2.setDetailName('item_bracelet_r_set_hero_01_01')
+ # heroism2.setStringAttribute('@set_bonus:piece_bonus_count_2', '@set_bonus:set_bonus_hero_1')
+ # heroism2.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_hero_2')
+ # heroism2.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_hero_3')
+ # heroism2.setIntAttribute('cat_stat_mod_bonus.food_luck_modified' , 30)
+ # heroism2.setIntAttribute('cat_stat_mod_bonus.food_precision_modified' , 30)
+ # heroism2.setIntAttribute('cat_stat_mod_bonus.food_strength_modified' , 30)
# inventory = object.getSlottedObject('inventory')
@@ -102,27 +102,27 @@ def CreateStartingCharacter(core, object):
# heroism3.setStringAttribute('@set_bonus:piece_bonus_count_2', '@set_bonus:set_bonus_hero_1')
# heroism3.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_hero_2')
# heroism3.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_hero_3')
-# heroism3.setIntAttribute('cat_stat_mod_bonus.food_luck_modified' , 30)
-# heroism3.setIntAttribute('cat_stat_mod_bonus.food_precision_modified' , 30)
-# heroism3.setIntAttribute('cat_stat_mod_bonus.food_strength_modified' , 30)
+ # heroism3.setIntAttribute('cat_stat_mod_bonus.food_luck_modified' , 30)
+ # heroism3.setIntAttribute('cat_stat_mod_bonus.food_precision_modified' , 30)
+ # heroism3.setIntAttribute('cat_stat_mod_bonus.food_strength_modified' , 30)
-# inventory = object.getSlottedObject('inventory')
-# if not inventory:
-# return
-# inventory.add(heroism3)
+ # inventory = object.getSlottedObject('inventory')
+ # if not inventory:
+ # return
+ # inventory.add(heroism3)
-# heroism4 = core.objectService.createObject('object/tangible/wearables/ring/shared_ring_s04.iff', object.getPlanet())
-# heroism4.setStfFilename('static_item_n')
-# heroism4.setStfName('item_ring_set_hero_01_01')
-# heroism4.setDetailFilename('static_item_d')
-# heroism4.setDetailName('item_ring_set_hero_01_01')
-# heroism4.setStringAttribute('@set_bonus:piece_bonus_count_2', '@set_bonus:set_bonus_hero_1')
-# heroism4.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_hero_2')
-# heroism4.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_hero_3')
-# heroism4.setIntAttribute('cat_stat_mod_bonus.food_luck_modified' , 30)
-# heroism4.setIntAttribute('cat_stat_mod_bonus.food_precision_modified' , 30)
-# heroism4.setIntAttribute('cat_stat_mod_bonus.food_strength_modified' , 30)
+ # heroism4 = core.objectService.createObject('object/tangible/wearables/ring/shared_ring_s04.iff', object.getPlanet())
+ # heroism4.setStfFilename('static_item_n')
+ # heroism4.setStfName('item_ring_set_hero_01_01')
+ # heroism4.setDetailFilename('static_item_d')
+ # heroism4.setDetailName('item_ring_set_hero_01_01')
+ # heroism4.setStringAttribute('@set_bonus:piece_bonus_count_2', '@set_bonus:set_bonus_hero_1')
+ # heroism4.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_hero_2')
+ # heroism4.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_hero_3')
+ # heroism4.setIntAttribute('cat_stat_mod_bonus.food_luck_modified' , 30)
+ # heroism4.setIntAttribute('cat_stat_mod_bonus.food_precision_modified' , 30)
+ # heroism4.setIntAttribute('cat_stat_mod_bonus.food_strength_modified' , 30)
# inventory = object.getSlottedObject('inventory')
@@ -130,39 +130,39 @@ def CreateStartingCharacter(core, object):
# return
# inventory.add(heroism4)
-# heroism5 = core.objectService.createObject('object/tangible/wearables/ring/shared_ring_s02.iff', object.getPlanet())
-# heroism5.setStfFilename('static_item_n')
-# heroism5.setStfName('item_ring_a_set_hero')
-# heroism5.setDetailFilename('static_item_d')
-# heroism5.setDetailName('item_ring_a_set_hero')
-# heroism5.setStringAttribute('@set_bonus:piece_bonus_count_2', '@set_bonus:set_bonus_hero_1')
-# heroism5.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_hero_2')
-# heroism5.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_hero_3')
-# heroism5.setIntAttribute('cat_stat_mod_bonus.food_luck_modified' , 30)
-# heroism5.setIntAttribute('cat_stat_mod_bonus.food_precision_modified' , 30)
-# heroism5.setIntAttribute('cat_stat_mod_bonus.food_strength_modified' , 30)
+ # heroism5 = core.objectService.createObject('object/tangible/wearables/ring/shared_ring_s02.iff', object.getPlanet())
+ # heroism5.setStfFilename('static_item_n')
+ # heroism5.setStfName('item_ring_a_set_hero')
+ # heroism5.setDetailFilename('static_item_d')
+ # heroism5.setDetailName('item_ring_a_set_hero')
+ # heroism5.setStringAttribute('@set_bonus:piece_bonus_count_2', '@set_bonus:set_bonus_hero_1')
+ # heroism5.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_hero_2')
+ # heroism5.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_hero_3')
+ # heroism5.setIntAttribute('cat_stat_mod_bonus.food_luck_modified' , 30)
+ # heroism5.setIntAttribute('cat_stat_mod_bonus.food_precision_modified' , 30)
+ # heroism5.setIntAttribute('cat_stat_mod_bonus.food_strength_modified' , 30)
-# inventory = object.getSlottedObject('inventory')
-# if not inventory:
-# return
-# inventory.add(heroism5)
+ # inventory = object.getSlottedObject('inventory')
+ # if not inventory:
+ # return
+ # inventory.add(heroism5)
return
def addProfessionAbilities(core, object, profession):
# if profession == 'force_sensitive_1a':
# testObject = core.objectService.createObject('object/weapon/melee/2h_sword/crafted_saber/shared_sword_lightsaber_two_handed_gcw_s01_gen5.iff', object.getPlanet())
-# testObject.setCustomName('Lightsaber')
+# testObject.setCustomName('Lightsaber')
# testObject.setStringAttribute('crafter', 'Light')
# testObject.setDamageType('@obj_attr_n:armor_eff_energy')
-# testObject.setElementalType('@obj_attr_n:elemental_cold')
+# testObject.setElementalType('@obj_attr_n:elemental_cold')
# testObject.setStringAttribute('cat_wpn_damage.damage', '0-0')
# testObject.setMinDamage(600)
# testObject.setMaxDamage(1190)
-# testObject.setElementalDamage(72)
+# testObject.setElementalDamage(72)
# testObject.setIntAttribute('cat_wpn_damage.weapon_dps', testObject.getDamagePerSecond())
-# inventory = object.getSlottedObject('inventory')
+# inventory = object.getSlottedObject('inventory')
# inventory.add(testObject)
##Case Sensitive
@@ -203,16 +203,16 @@ def addProfessionAbilities(core, object, profession):
# object.addAbility('co_hw_dot')
# object.addAbility('co_ae_hw_dot')
#elif profession == 'bounty_hunter_1a':
- # object.addAbility('bh_shields_1')
- # object.addAbility('bh_dm_8')
- # object.addAbility('bh_sh_3')
- # object.addAbility('bh_armor_sprint_1')
- # object.addAbility('bh_prescience')
- # object.addAbility('bh_dm_crit_8')
- # object.addAbility('crippleShot')
- # object.addAbility('bh_fumble_6')
- # object.addAbility('bh_intimidate_6')
- # object.addAbility('bh_flawless_strike')
+ #object.addAbility('bh_shields_1')
+ #object.addAbility('bh_dm_8')
+ #object.addAbility('bh_sh_3')
+ #object.addAbility('bh_armor_sprint_1')
+ #object.addAbility('bh_prescience')
+ #object.addAbility('bh_dm_crit_8')
+ #object.addAbility('crippleShot')
+ #object.addAbility('bh_fumble_6')
+ #object.addAbility('bh_intimidate_6')
+ #object.addAbility('bh_flawless_strike')
# direfate1 = core.objectService.createObject('object/tangible/wearables/necklace/shared_necklace_s03.iff', object.getPlanet())
# direfate1.setStfFilename('static_item_n')
@@ -404,71 +404,71 @@ def addProfessionAbilities(core, object, profession):
# enforcer2.setStringAttribute('@set_bonus:piece_bonus_count_2', '@set_bonus:set_bonus_bh_dps_1')
# enforcer2.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_bh_dps_2')
# enforcer2.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_bh_dps_3')
- # enforcer2.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_action_line_dm' , 1)
- # enforcer2.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_action_line_dm_crit' , 1)
- # enforcer2.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_buff_duration_line_bh_return_fire' , 1)
- # enforcer2.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_cooldown_line_dm' , 1)
-
- # inventory = object.getSlottedObject('inventory')
- # if not inventory:
- # return
- # inventory.add(enforcer2)
-
- # enforcer3 = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s02_l.iff', object.getPlanet())
- # enforcer3.setStfFilename('static_item_n')
- # enforcer3.setStfName('item_bracelet_l_set_bh_dps_01_01')
- # enforcer3.setDetailFilename('static_item_d')
- # enforcer3.setDetailName('item_bracelet_l_set_bh_dps_01_01')
- # enforcer3.setStringAttribute('@set_bonus:piece_bonus_count_2', '@set_bonus:set_bonus_bh_dps_1')
- # enforcer3.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_bh_dps_2')
- # enforcer3.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_bh_dps_3')
- # enforcer3.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_action_line_dm' , 1)
- # enforcer3.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_action_line_dm_crit' , 1)
- # enforcer3.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_buff_duration_line_bh_return_fire' , 1)
- # enforcer3.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_cooldown_line_dm' , 1)
-
- # inventory = object.getSlottedObject('inventory')
- # if not inventory:
- # return
- # inventory.add(enforcer3)
-
- # enforcer4 = core.objectService.createObject('object/tangible/wearables/ring/shared_ring_s01.iff', object.getPlanet())
- # enforcer4.setStfFilename('static_item_n')
- # enforcer4.setStfName('item_ring_set_bh_dps_01_01')
- # enforcer4.setDetailFilename('static_item_d')
- # enforcer4.setDetailName('item_ring_set_bh_dps_01_01')
- # enforcer4.setStringAttribute('@set_bonus:piece_bonus_count_2', '@set_bonus:set_bonus_bh_dps_1')
- # enforcer4.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_bh_dps_2')
- # enforcer4.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_bh_dps_3')
- # enforcer4.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_action_line_dm' , 1)
- # enforcer4.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_action_line_dm_crit' , 1)
- # enforcer4.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_buff_duration_line_bh_return_fire' , 1)
- # enforcer4.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_cooldown_line_dm' , 1)
-
- # inventory = object.getSlottedObject('inventory')
- # if not inventory:
- # return
- # inventory.add(enforcer4)
-
- # enforcer5 = core.objectService.createObject('object/tangible/wearables/ring/shared_ring_s03.iff', object.getPlanet())
- # enforcer5.setStfFilename('static_item_n')
- # enforcer5.setStfName('item_ring_a_set_bh_dps')
- # enforcer5.setDetailFilename('static_item_d')
- # enforcer5.setDetailName('item_ring_a_set_bh_dps')
- # enforcer5.setStringAttribute('@set_bonus:piece_bonus_count_2', '@set_bonus:set_bonus_bh_dps_1')
- # enforcer5.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_bh_dps_2')
- # enforcer5.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_bh_dps_3')
- # enforcer5.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_action_line_dm' , 1)
- # enforcer5.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_action_line_dm_crit' , 1)
- # enforcer5.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_buff_duration_line_bh_return_fire' , 1)
- # enforcer5.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_cooldown_line_dm' , 1)
-
- # inventory = object.getSlottedObject('inventory')
- # if not inventory:
- # return
- # inventory.add(enforcer5)
- # return
- #return
+ # enforcer2.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_action_line_dm' , 1)
+ # enforcer2.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_action_line_dm_crit' , 1)
+ # enforcer2.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_buff_duration_line_bh_return_fire' , 1)
+ # enforcer2.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_cooldown_line_dm' , 1)
+
+ # inventory = object.getSlottedObject('inventory')
+ # if not inventory:
+ # return
+ # inventory.add(enforcer2)
+
+ # enforcer3 = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s02_l.iff', object.getPlanet())
+ # enforcer3.setStfFilename('static_item_n')
+ # enforcer3.setStfName('item_bracelet_l_set_bh_dps_01_01')
+ #enforcer3.setDetailFilename('static_item_d')
+ # enforcer3.setDetailName('item_bracelet_l_set_bh_dps_01_01')
+ # enforcer3.setStringAttribute('@set_bonus:piece_bonus_count_2', '@set_bonus:set_bonus_bh_dps_1')
+ # enforcer3.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_bh_dps_2')
+ # enforcer3.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_bh_dps_3')
+ #enforcer3.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_action_line_dm' , 1)
+ # enforcer3.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_action_line_dm_crit' , 1)
+ # enforcer3.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_buff_duration_line_bh_return_fire' , 1)
+ # enforcer3.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_cooldown_line_dm' , 1)
+
+ #inventory = object.getSlottedObject('inventory')
+ #if not inventory:
+ # return
+ #inventory.add(enforcer3)
+
+ #enforcer4 = core.objectService.createObject('object/tangible/wearables/ring/shared_ring_s01.iff', object.getPlanet())
+ #enforcer4.setStfFilename('static_item_n')
+ #enforcer4.setStfName('item_ring_set_bh_dps_01_01')
+ #enforcer4.setDetailFilename('static_item_d')
+ #enforcer4.setDetailName('item_ring_set_bh_dps_01_01')
+ #enforcer4.setStringAttribute('@set_bonus:piece_bonus_count_2', '@set_bonus:set_bonus_bh_dps_1')
+ #enforcer4.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_bh_dps_2')
+ #enforcer4.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_bh_dps_3')
+ #enforcer4.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_action_line_dm' , 1)
+ #enforcer4.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_action_line_dm_crit' , 1)
+ #enforcer4.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_buff_duration_line_bh_return_fire' , 1)
+ #enforcer4.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_cooldown_line_dm' , 1)
+
+ #inventory = object.getSlottedObject('inventory')
+ #if not inventory:
+ # return
+ #inventory.add(enforcer4)
+
+ #enforcer5 = core.objectService.createObject('object/tangible/wearables/ring/shared_ring_s03.iff', object.getPlanet())
+ #enforcer5.setStfFilename('static_item_n')
+ #enforcer5.setStfName('item_ring_a_set_bh_dps')
+ #enforcer5.setDetailFilename('static_item_d')
+ #enforcer5.setDetailName('item_ring_a_set_bh_dps')
+ #enforcer5.setStringAttribute('@set_bonus:piece_bonus_count_2', '@set_bonus:set_bonus_bh_dps_1')
+ #enforcer5.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_bh_dps_2')
+ #enforcer5.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_bh_dps_3')
+ #enforcer5.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_action_line_dm' , 1)
+ #enforcer5.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_action_line_dm_crit' , 1)
+ #enforcer5.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_buff_duration_line_bh_return_fire' , 1)
+ #enforcer5.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_cooldown_line_dm' , 1)
+
+ #inventory = object.getSlottedObject('inventory')
+ #if not inventory:
+ # return
+ #inventory.add(enforcer5)
+ #return
+ #return
- return
\ No newline at end of file
+ return
diff --git a/scripts/equipment/bonus_sets/set_bonus_bh_dps.py b/scripts/equipment/bonus_sets/set_bonus_bh_dps.py
new file mode 100644
index 00000000..61b48b47
--- /dev/null
+++ b/scripts/equipment/bonus_sets/set_bonus_bh_dps.py
@@ -0,0 +1,28 @@
+import sys
+from services.equipment import BonusSetTemplate
+from java.util import Vector
+
+def addBonusSet(core):
+ bonusSet = BonusSetTemplate("set_bonus_bh_dps")
+
+ bonusSet.addRequiredItem("item_band_set_bh_dps_01_01")
+ bonusSet.addRequiredItem("item_ring_set_bh_dps_01_01")
+ bonusSet.addRequiredItem("item_necklace_set_bh_dps_01_01")
+ bonusSet.addRequiredItem("item_bracelet_r_set_bh_dps_01_01")
+ bonusSet.addRequiredItem("item_bracelet_l_set_bh_dps_01_01")
+
+ core.equipmentService.addBonusSetTemplate(bonusSet)
+
+def handleChange(core, creature, set):
+ wornItems = set.getWornTemplateCount(creature)
+
+ if wornItems == 3:
+ core.buffService.addBuffToCreature(creature, "set_bonus_bh_dps_1", creature)
+ elif wornItems == 4:
+ core.buffService.addBuffToCreature(creature, "set_bonus_bh_dps_2", creature)
+ elif wornItems == 5:
+ core.buffService.addBuffToCreature(creature, "set_bonus_bh_dps_3", creature)
+ else:
+ core.buffService.removeBuffFromCreatureByName(creature, "set_bonus_bh_dps_1")
+ core.buffService.removeBuffFromCreatureByName(creature, "set_bonus_bh_dps_2")
+ core.buffService.removeBuffFromCreatureByName(creature, "set_bonus_bh_dps_3")
\ No newline at end of file
diff --git a/scripts/equipment/bonus_sets/set_bonus_bh_utility_a.py b/scripts/equipment/bonus_sets/set_bonus_bh_utility_a.py
new file mode 100644
index 00000000..609c2d28
--- /dev/null
+++ b/scripts/equipment/bonus_sets/set_bonus_bh_utility_a.py
@@ -0,0 +1,28 @@
+import sys
+from services.equipment import BonusSetTemplate
+from java.util import Vector
+
+def addBonusSet(core):
+ bonusSet = BonusSetTemplate("set_bonus_bh_utility_a")
+
+ bonusSet.addRequiredItem("item_band_set_bh_utility_a_01_01")
+ bonusSet.addRequiredItem("item_ring_set_bh_utility_a_01_01")
+ bonusSet.addRequiredItem("item_necklace_set_bh_utility_a_01_01")
+ bonusSet.addRequiredItem("item_bracelet_r_set_bh_utility_a_01_01")
+ bonusSet.addRequiredItem("item_bracelet_l_set_bh_utility_a_01_01")
+
+ core.equipmentService.addBonusSetTemplate(bonusSet)
+
+def handleChange(core, creature, set):
+ wornItems = set.getWornTemplateCount(creature)
+
+ if wornItems == 3:
+ core.buffService.addBuffToCreature(creature, "set_bonus_bh_utility_a_1", creature)
+ elif wornItems == 4:
+ core.buffService.addBuffToCreature(creature, "set_bonus_bh_utility_a_2", creature)
+ elif wornItems == 5:
+ core.buffService.addBuffToCreature(creature, "set_bonus_bh_utility_a_3", creature)
+ else:
+ core.buffService.removeBuffFromCreatureByName(creature, "set_bonus_bh_utility_a_1")
+ core.buffService.removeBuffFromCreatureByName(creature, "set_bonus_bh_utility_a_2")
+ core.buffService.removeBuffFromCreatureByName(creature, "set_bonus_bh_utility_a_3")
\ No newline at end of file
diff --git a/scripts/equipment/bonus_sets/set_bonus_bh_utility_b.py b/scripts/equipment/bonus_sets/set_bonus_bh_utility_b.py
new file mode 100644
index 00000000..ed612f4e
--- /dev/null
+++ b/scripts/equipment/bonus_sets/set_bonus_bh_utility_b.py
@@ -0,0 +1,31 @@
+import sys
+from services.equipment import BonusSetTemplate
+from java.util import Vector
+
+def addBonusSet(core):
+ bonusSet = BonusSetTemplate("set_bonus_bh_utility_b")
+
+ bonusSet.addRequiredItem("item_band_set_bh_utility_b_01_01")
+ bonusSet.addRequiredItem("item_ring_set_bh_utility_b_01_01")
+ bonusSet.addRequiredItem("item_necklace_set_bh_utility_b_01_01")
+ bonusSet.addRequiredItem("item_bracelet_r_set_bh_utility_b_01_01")
+ bonusSet.addRequiredItem("item_bracelet_l_set_bh_utility_b_01_01")
+
+ core.equipmentService.addBonusSetTemplate(bonusSet)
+
+def handleChange(core, creature, set):
+ wornItems = set.getWornTemplateCount(creature)
+
+ if wornItems == 3:
+ core.buffService.addBuffToCreature(creature, "set_bonus_bh_utility_b_1", creature)
+ creature.sendSystemMessage('@set_bonus:set_bonus_bh_utility_b_1_sys', 0)
+ elif wornItems == 4:
+ core.buffService.addBuffToCreature(creature, "set_bonus_bh_utility_b_2", creature)
+ creature.sendSystemMessage('@set_bonus:set_bonus_bh_utility_b_2_sys', 0)
+ elif wornItems == 5:
+ core.buffService.addBuffToCreature(creature, "set_bonus_bh_utility_b_3", creature)
+ creature.sendSystemMessage('@set_bonus:set_bonus_bh_utility_b_3_sys', 0)
+ else:
+ core.buffService.removeBuffFromCreatureByName(creature, "set_bonus_bh_utility_b_1")
+ core.buffService.removeBuffFromCreatureByName(creature, "set_bonus_bh_utility_b_2")
+ core.buffService.removeBuffFromCreatureByName(creature, "set_bonus_bh_utility_b_3")
\ No newline at end of file
diff --git a/scripts/equipment/bonus_sets/set_bonus_hero.py b/scripts/equipment/bonus_sets/set_bonus_hero.py
new file mode 100644
index 00000000..0b1b27c6
--- /dev/null
+++ b/scripts/equipment/bonus_sets/set_bonus_hero.py
@@ -0,0 +1,31 @@
+import sys
+from services.equipment import BonusSetTemplate
+from java.util import Vector
+
+def addBonusSet(core):
+ bonusSet = BonusSetTemplate("set_bonus_hero")
+
+ bonusSet.addRequiredItem("item_band_set_hero_01_01")
+ bonusSet.addRequiredItem("item_ring_set_hero_01_01")
+ bonusSet.addRequiredItem("item_necklace_set_hero_01_01")
+ bonusSet.addRequiredItem("item_bracelet_r_set_hero_01_01")
+ bonusSet.addRequiredItem("item_bracelet_l_set_hero_01_01")
+
+ core.equipmentService.addBonusSetTemplate(bonusSet)
+
+def handleChange(core, creature, set):
+ wornItems = set.getWornTemplateCount(creature)
+
+ if wornItems == 3:
+ core.buffService.addBuffToCreature(creature, "set_bonus_hero_1", creature)
+ creature.sendSystemMessage('@set_bonus:set_bonus_hero_1_sys', 0)
+ elif wornItems == 4:
+ core.buffService.addBuffToCreature(creature, "set_bonus_hero_2", creature)
+ creature.sendSystemMessage('@set_bonus:set_bonus_hero_2_sys', 0)
+ elif wornItems == 5:
+ core.buffService.addBuffToCreature(creature, "set_bonus_hero_3", creature)
+ creature.sendSystemMessage('@set_bonus:set_bonus_hero_3_sys', 0)
+ else:
+ core.buffService.removeBuffFromCreatureByName(creature, "set_bonus_hero_1")
+ core.buffService.removeBuffFromCreatureByName(creature, "set_bonus_hero_2")
+ core.buffService.removeBuffFromCreatureByName(creature, "set_bonus_hero_3")
\ No newline at end of file
diff --git a/scripts/equipment/bonus_sets/set_bonus_imperial_snow_armor.py b/scripts/equipment/bonus_sets/set_bonus_imperial_snow_armor.py
new file mode 100644
index 00000000..fc245ba4
--- /dev/null
+++ b/scripts/equipment/bonus_sets/set_bonus_imperial_snow_armor.py
@@ -0,0 +1,45 @@
+import sys
+from services.equipment import BonusSetTemplate
+from java.util import Vector
+
+def addBonusSet(core):
+ bonusSet = BonusSetTemplate("set_bonus_imperial_snow_armor")
+
+ bonusSet.addRequiredItem("backpack_snowtrooper")
+ bonusSet.addRequiredItem("armor_snowtrooper_belt")
+ bonusSet.addRequiredItem("armor_snowtrooper_bicep_l")
+ bonusSet.addRequiredItem("armor_snowtrooper_bicep_r")
+ bonusSet.addRequiredItem("armor_snowtrooper_boots")
+ bonusSet.addRequiredItem("armor_snowtrooper_bracer_l")
+ bonusSet.addRequiredItem("armor_snowtrooper_bracer_r")
+ bonusSet.addRequiredItem("armor_snowtrooper_chest_plate")
+ bonusSet.addRequiredItem("armor_snowtrooper_gloves")
+ bonusSet.addRequiredItem("armor_snowtrooper_helmet")
+ bonusSet.addRequiredItem("armor_snowtrooper_leggings")
+
+ core.equipmentService.addBonusSetTemplate(bonusSet)
+
+def handleChange(core, creature, set):
+ wornItems = set.getWornTemplateCount(creature)
+
+ if wornItems == 3:
+ core.buffService.addBuffToCreature(creature, "set_bonus_imperial_snow_armor_3", creature)
+ creature.sendSystemMessage('@set_bonus:set_bonus_imperial_snow_armor_3_sys', 0)
+ elif wornItems == 5:
+ core.buffService.addBuffToCreature(creature, "set_bonus_imperial_snow_armor_5", creature)
+ creature.sendSystemMessage('@set_bonus:set_bonus_imperial_snow_armor_5_sys', 0)
+ elif wornItems == 7:
+ core.buffService.addBuffToCreature(creature, "set_bonus_imperial_snow_armor_7", creature)
+ creature.sendSystemMessage('@set_bonus:set_bonus_imperial_snow_armor_7_sys', 0)
+ elif wornItems == 9:
+ core.buffService.addBuffToCreature(creature, "set_bonus_imperial_snow_armor_9", creature)
+ creature.sendSystemMessage('@set_bonus:set_bonus_imperial_snow_armor_9_sys', 0)
+ elif wornItems == 11:
+ core.buffService.addBuffToCreature(creature, "set_bonus_imperial_snow_armor_11", creature)
+ creature.sendSystemMessage('@set_bonus:set_bonus_imperial_snow_armor_11_sys', 0)
+ else:
+ core.buffService.removeBuffFromCreatureByName(creature, "set_bonus_imperial_snow_armor_3")
+ core.buffService.removeBuffFromCreatureByName(creature, "set_bonus_imperial_snow_armor_5")
+ core.buffService.removeBuffFromCreatureByName(creature, "set_bonus_imperial_snow_armor_7")
+ core.buffService.removeBuffFromCreatureByName(creature, "set_bonus_imperial_snow_armor_9")
+ core.buffService.removeBuffFromCreatureByName(creature, "set_bonus_imperial_snow_armor_11")
\ No newline at end of file
diff --git a/scripts/equipment/bonus_sets/set_bonus_jedi_robe.py b/scripts/equipment/bonus_sets/set_bonus_jedi_robe.py
new file mode 100644
index 00000000..734e9c89
--- /dev/null
+++ b/scripts/equipment/bonus_sets/set_bonus_jedi_robe.py
@@ -0,0 +1,40 @@
+import sys
+from services.equipment import BonusSetTemplate
+from java.util import Vector
+
+def addBonusSet(core):
+ bonusSet = BonusSetTemplate("set_bonus_jedi_robe")
+
+ # Waistpack
+ bonusSet.addRequiredItem("object/tangible/wearables/backpack/shared_fannypack_s01.iff")
+
+ # Jedi Robes - Light
+ bonusSet.addRequiredItem("object/tangible/wearables/robe/shared_robe_jedi_light_s01.iff")
+ bonusSet.addRequiredItem("object/tangible/wearables/robe/shared_robe_jedi_light_s02.iff")
+ bonusSet.addRequiredItem("object/tangible/wearables/robe/shared_robe_jedi_light_s03.iff")
+ bonusSet.addRequiredItem("object/tangible/wearables/robe/shared_robe_jedi_light_s04.iff")
+ bonusSet.addRequiredItem("object/tangible/wearables/robe/shared_robe_jedi_light_s05.iff")
+
+ # Jedi Robes - Dark
+ bonusSet.addRequiredItem("object/tangible/wearables/robe/shared_robe_jedi_dark_s01.iff")
+ bonusSet.addRequiredItem("object/tangible/wearables/robe/shared_robe_jedi_dark_s02.iff")
+ bonusSet.addRequiredItem("object/tangible/wearables/robe/shared_robe_jedi_dark_s03.iff")
+ bonusSet.addRequiredItem("object/tangible/wearables/robe/shared_robe_jedi_dark_s04.iff")
+ bonusSet.addRequiredItem("object/tangible/wearables/robe/shared_robe_jedi_dark_s05.iff")
+
+ # Jedi Cloaks
+ bonusSet.addRequiredItem("object/tangible/wearables/robe/shared_robe_s32.iff")
+ 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")
+
+ core.equipmentService.addBonusSetTemplate(bonusSet)
+
+def handleChange(core, creature, set):
+ wornItems = set.getWornTemplateCount(creature)
+
+ if wornItems == 2:
+ core.buffService.addBuffToCreature(creature, "set_bonus_jedi_robe_1", creature)
+ creature.sendSystemMessage('@set_bonus:set_bonus_jedi_robe_1_sys', 0)
+ else:
+ core.buffService.removeBuffFromCreatureByName(creature, "set_bonus_jedi_robe_1")
\ No newline at end of file
diff --git a/scripts/equipment/bonus_sets/set_bonus_medic_dps.py b/scripts/equipment/bonus_sets/set_bonus_medic_dps.py
new file mode 100644
index 00000000..f1966755
--- /dev/null
+++ b/scripts/equipment/bonus_sets/set_bonus_medic_dps.py
@@ -0,0 +1,28 @@
+import sys
+from services.equipment import BonusSetTemplate
+from java.util import Vector
+
+def addBonusSet(core):
+ bonusSet = BonusSetTemplate("set_bonus_medic_dps")
+
+ bonusSet.addRequiredItem("item_band_set_medic_dps_01_01")
+ bonusSet.addRequiredItem("item_ring_set_medic_dps_01_01")
+ bonusSet.addRequiredItem("item_necklace_set_medic_dps_01_01")
+ bonusSet.addRequiredItem("item_bracelet_r_set_medic_dps_01_01")
+ bonusSet.addRequiredItem("item_bracelet_l_set_medic_dps_01_01")
+
+ core.equipmentService.addBonusSetTemplate(bonusSet)
+
+def handleChange(core, creature, set):
+ wornItems = set.getWornTemplateCount(creature)
+
+ if wornItems == 3:
+ core.buffService.addBuffToCreature(creature, "set_bonus_medic_dps_1", creature)
+ elif wornItems == 4:
+ core.buffService.addBuffToCreature(creature, "set_bonus_medic_dps_2", creature)
+ elif wornItems == 5:
+ core.buffService.addBuffToCreature(creature, "set_bonus_medic_dps_3", creature)
+ else:
+ core.buffService.removeBuffFromCreatureByName(creature, "set_bonus_medic_dps_1")
+ core.buffService.removeBuffFromCreatureByName(creature, "set_bonus_medic_dps_2")
+ core.buffService.removeBuffFromCreatureByName(creature, "set_bonus_medic_dps_3")
\ No newline at end of file
diff --git a/scripts/equipment/bonus_sets/set_bonus_medic_utility_a.py b/scripts/equipment/bonus_sets/set_bonus_medic_utility_a.py
new file mode 100644
index 00000000..c21b2adb
--- /dev/null
+++ b/scripts/equipment/bonus_sets/set_bonus_medic_utility_a.py
@@ -0,0 +1,28 @@
+import sys
+from services.equipment import BonusSetTemplate
+from java.util import Vector
+
+def addBonusSet(core):
+ bonusSet = BonusSetTemplate("set_bonus_medic_utility_a")
+
+ bonusSet.addRequiredItem("item_band_set_medic_utility_a_01_01")
+ bonusSet.addRequiredItem("item_ring_set_medic_utility_a_01_01")
+ bonusSet.addRequiredItem("item_necklace_set_medic_utility_a_01_01")
+ bonusSet.addRequiredItem("item_bracelet_r_set_medic_utility_a_01_01")
+ bonusSet.addRequiredItem("item_bracelet_l_set_medic_utility_a_01_01")
+
+ core.equipmentService.addBonusSetTemplate(bonusSet)
+
+def handleChange(core, creature, set):
+ wornItems = set.getWornTemplateCount(creature)
+
+ if wornItems == 3:
+ core.buffService.addBuffToCreature(creature, "set_bonus_medic_utility_a_1", creature)
+ elif wornItems == 4:
+ core.buffService.addBuffToCreature(creature, "set_bonus_medic_utility_a_2", creature)
+ elif wornItems == 5:
+ core.buffService.addBuffToCreature(creature, "set_bonus_medic_utility_a_3", creature)
+ else:
+ core.buffService.removeBuffFromCreatureByName(creature, "set_bonus_medic_utility_a_1")
+ core.buffService.removeBuffFromCreatureByName(creature, "set_bonus_medic_utility_a_2")
+ core.buffService.removeBuffFromCreatureByName(creature, "set_bonus_medic_utility_a_3")
\ No newline at end of file
diff --git a/scripts/equipment/bonus_sets/set_bonus_medic_utility_b.py b/scripts/equipment/bonus_sets/set_bonus_medic_utility_b.py
new file mode 100644
index 00000000..cc02a043
--- /dev/null
+++ b/scripts/equipment/bonus_sets/set_bonus_medic_utility_b.py
@@ -0,0 +1,28 @@
+import sys
+from services.equipment import BonusSetTemplate
+from java.util import Vector
+
+def addBonusSet(core):
+ bonusSet = BonusSetTemplate("set_bonus_medic_utility_b")
+
+ bonusSet.addRequiredItem("item_band_set_medic_utility_b_01_01")
+ bonusSet.addRequiredItem("item_ring_set_medic_utility_b_01_01")
+ bonusSet.addRequiredItem("item_necklace_set_medic_utility_b_01_01")
+ bonusSet.addRequiredItem("item_bracelet_r_set_medic_utility_b_01_01")
+ bonusSet.addRequiredItem("item_bracelet_l_set_medic_utility_b_01_01")
+
+ core.equipmentService.addBonusSetTemplate(bonusSet)
+
+def handleChange(core, creature, set):
+ wornItems = set.getWornTemplateCount(creature)
+
+ if wornItems == 3:
+ core.buffService.addBuffToCreature(creature, "set_bonus_medic_utility_b_1", creature)
+ elif wornItems == 4:
+ core.buffService.addBuffToCreature(creature, "set_bonus_medic_utility_b_2", creature)
+ elif wornItems == 5:
+ core.buffService.addBuffToCreature(creature, "set_bonus_medic_utility_b_3", creature)
+ else:
+ core.buffService.removeBuffFromCreatureByName(creature, "set_bonus_medic_utility_b_1")
+ core.buffService.removeBuffFromCreatureByName(creature, "set_bonus_medic_utility_b_2")
+ core.buffService.removeBuffFromCreatureByName(creature, "set_bonus_medic_utility_b_3")
\ No newline at end of file
diff --git a/scripts/equipment/bonus_sets/set_bonus_rebel_snow_armor.py b/scripts/equipment/bonus_sets/set_bonus_rebel_snow_armor.py
new file mode 100644
index 00000000..bea743e8
--- /dev/null
+++ b/scripts/equipment/bonus_sets/set_bonus_rebel_snow_armor.py
@@ -0,0 +1,45 @@
+import sys
+from services.equipment import BonusSetTemplate
+from java.util import Vector
+
+def addBonusSet(core):
+ bonusSet = BonusSetTemplate("set_bonus_rebel_snow_armor")
+
+ bonusSet.addRequiredItem("armor_rebel_snow_backpack")
+ bonusSet.addRequiredItem("armor_rebel_snow_belt")
+ bonusSet.addRequiredItem("armor_rebel_snow_boots")
+ bonusSet.addRequiredItem("armor_rebel_snow_chest_plate")
+ bonusSet.addRequiredItem("armor_rebel_snow_gloves")
+ bonusSet.addRequiredItem("armor_rebel_snow_helmet")
+ bonusSet.addRequiredItem("armor_rebel_snow_bicep_l")
+ bonusSet.addRequiredItem("armor_rebel_snow_bicep_r")
+ bonusSet.addRequiredItem("armor_rebel_snow_bracer_l")
+ bonusSet.addRequiredItem("armor_rebel_snow_bracer_r")
+ bonusSet.addRequiredItem("armor_rebel_snow_leggings")
+
+ core.equipmentService.addBonusSetTemplate(bonusSet)
+
+def handleChange(core, creature, set):
+ wornItems = set.getWornTemplateCount(creature)
+
+ if wornItems == 3:
+ core.buffService.addBuffToCreature(creature, "set_bonus_rebel_snow_armor_3", creature)
+ creature.sendSystemMessage('@set_bonus:set_bonus_rebel_snow_armor_3_sys', 0)
+ elif wornItems == 5:
+ core.buffService.addBuffToCreature(creature, "set_bonus_rebel_snow_armor_5", creature)
+ creature.sendSystemMessage('@set_bonus:set_bonus_imperial_snow_armor_5_sys', 0)
+ elif wornItems == 7:
+ core.buffService.addBuffToCreature(creature, "set_bonus_rebel_snow_armor_7", creature)
+ creature.sendSystemMessage('@set_bonus:set_bonus_rebel_snow_armor_7_sys', 0)
+ elif wornItems == 9:
+ core.buffService.addBuffToCreature(creature, "set_bonus_rebel_snow_armor_9", creature)
+ creature.sendSystemMessage('@set_bonus:set_bonus_rebel_snow_armor_9_sys', 0)
+ elif wornItems == 11:
+ core.buffService.addBuffToCreature(creature, "set_bonus_rebel_snow_armor_11", creature)
+ creature.sendSystemMessage('@set_bonus:set_bonus_rebel_snow_armor_11_sys', 0)
+ else:
+ core.buffService.removeBuffFromCreatureByName(creature, "set_bonus_rebel_snow_armor_3")
+ core.buffService.removeBuffFromCreatureByName(creature, "set_bonus_rebel_snow_armor_5")
+ core.buffService.removeBuffFromCreatureByName(creature, "set_bonus_rebel_snow_armor_7")
+ core.buffService.removeBuffFromCreatureByName(creature, "set_bonus_rebel_snow_armor_9")
+ core.buffService.removeBuffFromCreatureByName(creature, "set_bonus_rebel_snow_armor_11")
\ No newline at end of file
diff --git a/scripts/equipment/bonus_sets/set_bonus_spy_dps.py b/scripts/equipment/bonus_sets/set_bonus_spy_dps.py
new file mode 100644
index 00000000..0cd1747e
--- /dev/null
+++ b/scripts/equipment/bonus_sets/set_bonus_spy_dps.py
@@ -0,0 +1,28 @@
+import sys
+from services.equipment import BonusSetTemplate
+from java.util import Vector
+
+def addBonusSet(core):
+ bonusSet = BonusSetTemplate("set_bonus_spy_dps")
+
+ bonusSet.addRequiredItem("item_band_set_spy_dps_01_01")
+ bonusSet.addRequiredItem("item_ring_set_spy_dps_01_01")
+ bonusSet.addRequiredItem("item_necklace_set_spy_dps_01_01")
+ bonusSet.addRequiredItem("item_bracelet_r_set_spy_dps_01_01")
+ bonusSet.addRequiredItem("item_bracelet_l_set_spy_dps_01_01")
+
+ core.equipmentService.addBonusSetTemplate(bonusSet)
+
+def handleChange(core, creature, set):
+ wornItems = set.getWornTemplateCount(creature)
+
+ if wornItems == 3:
+ core.buffService.addBuffToCreature(creature, "set_bonus_spy_dps_1", creature)
+ elif wornItems == 4:
+ core.buffService.addBuffToCreature(creature, "set_bonus_spy_dps_2", creature)
+ elif wornItems == 5:
+ core.buffService.addBuffToCreature(creature, "set_bonus_spy_dps_3", creature)
+ else:
+ core.buffService.removeBuffFromCreatureByName(creature, "set_bonus_spy_dps_1")
+ core.buffService.removeBuffFromCreatureByName(creature, "set_bonus_spy_dps_2")
+ core.buffService.removeBuffFromCreatureByName(creature, "set_bonus_spy_dps_3")
\ No newline at end of file
diff --git a/scripts/equipment/bonus_sets/set_bonus_spy_utility_a.py b/scripts/equipment/bonus_sets/set_bonus_spy_utility_a.py
new file mode 100644
index 00000000..7ecc68fa
--- /dev/null
+++ b/scripts/equipment/bonus_sets/set_bonus_spy_utility_a.py
@@ -0,0 +1,28 @@
+import sys
+from services.equipment import BonusSetTemplate
+from java.util import Vector
+
+def addBonusSet(core):
+ bonusSet = BonusSetTemplate("set_bonus_spy_utility_a")
+
+ bonusSet.addRequiredItem("item_band_set_spy_utility_a_01_01")
+ bonusSet.addRequiredItem("item_ring_set_spy_utility_a_01_01")
+ bonusSet.addRequiredItem("item_necklace_set_spy_utility_a_01_01")
+ bonusSet.addRequiredItem("item_bracelet_r_set_spy_utility_a_01_01")
+ bonusSet.addRequiredItem("item_bracelet_l_set_spy_utility_a_01_01")
+
+ core.equipmentService.addBonusSetTemplate(bonusSet)
+
+def handleChange(core, creature, set):
+ wornItems = set.getWornTemplateCount(creature)
+
+ if wornItems == 3:
+ core.buffService.addBuffToCreature(creature, "set_bonus_spy_utility_a_1", creature)
+ elif wornItems == 4:
+ core.buffService.addBuffToCreature(creature, "set_bonus_spy_utility_a_2", creature)
+ elif wornItems == 5:
+ core.buffService.addBuffToCreature(creature, "set_bonus_spy_utility_a_3", creature)
+ else:
+ core.buffService.removeBuffFromCreatureByName(creature, "set_bonus_spy_utility_a_1")
+ core.buffService.removeBuffFromCreatureByName(creature, "set_bonus_spy_utility_a_2")
+ core.buffService.removeBuffFromCreatureByName(creature, "set_bonus_spy_utility_a_3")
\ No newline at end of file
diff --git a/scripts/equipment/bonus_sets/set_bonus_spy_utility_b.py b/scripts/equipment/bonus_sets/set_bonus_spy_utility_b.py
new file mode 100644
index 00000000..09536bd4
--- /dev/null
+++ b/scripts/equipment/bonus_sets/set_bonus_spy_utility_b.py
@@ -0,0 +1,28 @@
+import sys
+from services.equipment import BonusSetTemplate
+from java.util import Vector
+
+def addBonusSet(core):
+ bonusSet = BonusSetTemplate("set_bonus_spy_utility_b")
+
+ bonusSet.addRequiredItem("item_band_set_spy_utility_b_01_01")
+ bonusSet.addRequiredItem("item_ring_set_spy_utility_b_01_01")
+ bonusSet.addRequiredItem("item_necklace_set_spy_utility_b_01_01")
+ bonusSet.addRequiredItem("item_bracelet_r_set_spy_utility_b_01_01")
+ bonusSet.addRequiredItem("item_bracelet_l_set_spy_utility_b_01_01")
+
+ core.equipmentService.addBonusSetTemplate(bonusSet)
+
+def handleChange(core, creature, set):
+ wornItems = set.getWornTemplateCount(creature)
+
+ if wornItems == 3:
+ core.buffService.addBuffToCreature(creature, "set_bonus_spy_utility_b_1", creature)
+ elif wornItems == 4:
+ core.buffService.addBuffToCreature(creature, "set_bonus_spy_utility_b_2", creature)
+ elif wornItems == 5:
+ core.buffService.addBuffToCreature(creature, "set_bonus_spy_utility_b_3", creature)
+ else:
+ core.buffService.removeBuffFromCreatureByName(creature, "set_bonus_spy_utility_b_1")
+ core.buffService.removeBuffFromCreatureByName(creature, "set_bonus_spy_utility_b_2")
+ core.buffService.removeBuffFromCreatureByName(creature, "set_bonus_spy_utility_b_3")
\ No newline at end of file
diff --git a/scripts/equipment/force_protection.py b/scripts/equipment/force_protection.py
new file mode 100644
index 00000000..c5fd6ce0
--- /dev/null
+++ b/scripts/equipment/force_protection.py
@@ -0,0 +1,32 @@
+import sys
+
+def jedi_robe_Faint():
+ return 1400
+
+def jedi_robe_Weak():
+ return 3000
+
+def jedi_robe_Lucent():
+ return 4000
+
+def jedi_robe_Luminous():
+ return 5000
+
+def jedi_robe_Radiant():
+ return 6500
+
+def jedi_cloak_Faint():
+ return 0
+
+def jedi_cloak_Weak():
+ return 0
+
+def jedi_cloak_Lucent():
+ return 4500
+
+def jedi_cloak_Luminous():
+ return 5600
+
+def jedi_cloak_Radiant():
+ return 6500
+
\ No newline at end of file
diff --git a/scripts/equipment/slot_protection.py b/scripts/equipment/slot_protection.py
new file mode 100644
index 00000000..e6de1f33
--- /dev/null
+++ b/scripts/equipment/slot_protection.py
@@ -0,0 +1,23 @@
+import sys
+
+def chest2():
+ return "35.70"
+
+def pants1():
+ return "21.43"
+
+def hat():
+ return "14.27"
+
+def bracer_upper_l():
+ return "7.15"
+
+def bracer_upper_r():
+ return "7.15"
+
+def bicep_l():
+ return "7.15"
+
+def bicep_r():
+ return "7.15"
+
\ No newline at end of file
diff --git a/scripts/equipment/weapon_critical.py b/scripts/equipment/weapon_critical.py
new file mode 100644
index 00000000..9f392f34
--- /dev/null
+++ b/scripts/equipment/weapon_critical.py
@@ -0,0 +1,37 @@
+import sys
+
+def weap_0():
+ return "expertise_critical_rifle"
+
+def weap_1():
+ return "expertise_critical_carbine"
+
+def weap_2():
+ return "expertise_critical_pistol"
+
+def weap_4():
+ return "expertise_critical_1h"
+
+def weap_5():
+ return "expertise_critical_2h"
+
+def weap_6():
+ return "expertise_critical_unarmed"
+
+def weap_7():
+ return "expertise_critical_polearm"
+
+def weap_9():
+ return ""
+
+def weap_10():
+ return ""
+
+def weap_11():
+ return ""
+
+def weap_12():
+ return "expertise_critical_heavy"
+
+def weap_13():
+ return "expertise_critical_heavy"
\ No newline at end of file
diff --git a/scripts/expertise/expertise_bh_absorbtion_1.py b/scripts/expertise/expertise_bh_absorbtion_1.py
index 80b8479e..81963132 100644
--- a/scripts/expertise/expertise_bh_absorbtion_1.py
+++ b/scripts/expertise/expertise_bh_absorbtion_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_absorbtion_1')
-
- actor.addSkillMod('expertise_innate_protection_all', 125)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_absorbtion_1')
-
- actor.removeSkillMod('expertise_innate_protection_all', 125)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_absorption_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_absorption_1")
return
diff --git a/scripts/expertise/expertise_bh_absorbtion_2.py b/scripts/expertise/expertise_bh_absorbtion_2.py
index 96a6ff72..732e9847 100644
--- a/scripts/expertise/expertise_bh_absorbtion_2.py
+++ b/scripts/expertise/expertise_bh_absorbtion_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_absorbtion_2')
-
- actor.addSkillMod('expertise_innate_protection_all', 125)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_absorbtion_2')
-
- actor.removeSkillMod('expertise_innate_protection_all', 125)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_absorption_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_absorption_2")
return
diff --git a/scripts/expertise/expertise_bh_absorbtion_3.py b/scripts/expertise/expertise_bh_absorbtion_3.py
index e46daa07..b8d44ab2 100644
--- a/scripts/expertise/expertise_bh_absorbtion_3.py
+++ b/scripts/expertise/expertise_bh_absorbtion_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_absorbtion_3')
-
- actor.addSkillMod('expertise_innate_protection_all', 125)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_absorbtion_3')
-
- actor.removeSkillMod('expertise_innate_protection_all', 125)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_absorption_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_absorption_3")
return
diff --git a/scripts/expertise/expertise_bh_absorbtion_4.py b/scripts/expertise/expertise_bh_absorbtion_4.py
index f62d4493..3210a0b0 100644
--- a/scripts/expertise/expertise_bh_absorbtion_4.py
+++ b/scripts/expertise/expertise_bh_absorbtion_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_absorbtion_4')
-
- actor.addSkillMod('expertise_innate_protection_all', 125)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_absorbtion_4')
-
- actor.removeSkillMod('expertise_innate_protection_all', 125)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_absorption_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_absorption_4")
return
diff --git a/scripts/expertise/expertise_bh_agility_1.py b/scripts/expertise/expertise_bh_agility_1.py
index aab87823..007b7232 100644
--- a/scripts/expertise/expertise_bh_agility_1.py
+++ b/scripts/expertise/expertise_bh_agility_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_agility_1')
-
- actor.addSkillMod('agility_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_agility_1')
-
- actor.removeSkillMod('agility_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_agility_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_agility_1")
return
diff --git a/scripts/expertise/expertise_bh_agility_2.py b/scripts/expertise/expertise_bh_agility_2.py
index 2724b112..2d896352 100644
--- a/scripts/expertise/expertise_bh_agility_2.py
+++ b/scripts/expertise/expertise_bh_agility_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_agility_2')
-
- actor.addSkillMod('agility_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_agility_2')
-
- actor.removeSkillMod('agility_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_agility_1")
return
def removeAbilities(core, actor, player):
-
-
- return
+ actor.removeAbility("expertise_bh_agility_1")
+ return
\ No newline at end of file
diff --git a/scripts/expertise/expertise_bh_agility_3.py b/scripts/expertise/expertise_bh_agility_3.py
index d869fbc4..d55eaa3a 100644
--- a/scripts/expertise/expertise_bh_agility_3.py
+++ b/scripts/expertise/expertise_bh_agility_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_agility_3')
-
- actor.addSkillMod('agility_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_agility_3')
-
- actor.removeSkillMod('agility_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_agility_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_agility_3")
return
diff --git a/scripts/expertise/expertise_bh_agility_4.py b/scripts/expertise/expertise_bh_agility_4.py
index 6152ee4b..84d67d3f 100644
--- a/scripts/expertise/expertise_bh_agility_4.py
+++ b/scripts/expertise/expertise_bh_agility_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_agility_4')
-
- actor.addSkillMod('agility_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_agility_4')
-
- actor.removeSkillMod('agility_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_agility_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_agility_4")
return
diff --git a/scripts/expertise/expertise_bh_amb_act_1.py b/scripts/expertise/expertise_bh_amb_act_1.py
index 7a0c4ee0..55a6b1d7 100644
--- a/scripts/expertise/expertise_bh_amb_act_1.py
+++ b/scripts/expertise/expertise_bh_amb_act_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_amb_act_1')
-
- actor.addSkillMod('expertise_action_line_dm_crit', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_amb_act_1')
-
- actor.removeSkillMod('expertise_action_line_dm_crit', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_amb_act_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_amb_act_1")
return
diff --git a/scripts/expertise/expertise_bh_amb_act_2.py b/scripts/expertise/expertise_bh_amb_act_2.py
index a19f7ba9..e1d3bd74 100644
--- a/scripts/expertise/expertise_bh_amb_act_2.py
+++ b/scripts/expertise/expertise_bh_amb_act_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_amb_act_2')
-
- actor.addSkillMod('expertise_action_line_dm_crit', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_amb_act_2')
-
- actor.removeSkillMod('expertise_action_line_dm_crit', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_amb_act_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_amb_act_2")
return
diff --git a/scripts/expertise/expertise_bh_amb_act_3.py b/scripts/expertise/expertise_bh_amb_act_3.py
index cb649c64..da81f8ad 100644
--- a/scripts/expertise/expertise_bh_amb_act_3.py
+++ b/scripts/expertise/expertise_bh_amb_act_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_amb_act_3')
-
- actor.addSkillMod('expertise_action_line_dm_crit', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_amb_act_3')
-
- actor.removeSkillMod('expertise_action_line_dm_crit', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_amb_act_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_amb_act_3")
return
diff --git a/scripts/expertise/expertise_bh_amb_cool_1.py b/scripts/expertise/expertise_bh_amb_cool_1.py
index 8749deaa..6e07401d 100644
--- a/scripts/expertise/expertise_bh_amb_cool_1.py
+++ b/scripts/expertise/expertise_bh_amb_cool_1.py
@@ -1,48 +1,10 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_amb_cool_1')
-
- actor.addSkillMod('expertise_cooldown_line_dm_crit', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_amb_cool_1')
-
- actor.removeSkillMod('expertise_cooldown_line_dm_crit', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_amb_cool_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_amb_cool_1")
return
+
\ No newline at end of file
diff --git a/scripts/expertise/expertise_bh_amb_cool_2.py b/scripts/expertise/expertise_bh_amb_cool_2.py
index a7a26a52..b1e0427e 100644
--- a/scripts/expertise/expertise_bh_amb_cool_2.py
+++ b/scripts/expertise/expertise_bh_amb_cool_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_amb_cool_2')
-
- actor.addSkillMod('expertise_cooldown_line_dm_crit', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_amb_cool_2')
-
- actor.removeSkillMod('expertise_cooldown_line_dm_crit', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("bh_amb_cool_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("bh_amb_cool_2")
return
diff --git a/scripts/expertise/expertise_bh_amb_dam_1.py b/scripts/expertise/expertise_bh_amb_dam_1.py
index 7d057532..932bf6e5 100644
--- a/scripts/expertise/expertise_bh_amb_dam_1.py
+++ b/scripts/expertise/expertise_bh_amb_dam_1.py
@@ -1,48 +1,10 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_amb_dam_1')
-
- actor.addSkillMod('expertise_damage_line_dm_crit', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_amb_dam_1')
-
- actor.removeSkillMod('expertise_damage_line_dm_crit', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_amb_dam_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_amb_dam_1")
return
+
\ No newline at end of file
diff --git a/scripts/expertise/expertise_bh_amb_dam_2.py b/scripts/expertise/expertise_bh_amb_dam_2.py
index df566fbd..53bdcb8a 100644
--- a/scripts/expertise/expertise_bh_amb_dam_2.py
+++ b/scripts/expertise/expertise_bh_amb_dam_2.py
@@ -1,48 +1,10 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_amb_dam_2')
-
- actor.addSkillMod('expertise_damage_line_dm_crit', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_amb_dam_2')
-
- actor.removeSkillMod('expertise_damage_line_dm_crit', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_amb_dam_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_amb_dam_2")
return
+
\ No newline at end of file
diff --git a/scripts/expertise/expertise_bh_amb_dam_3.py b/scripts/expertise/expertise_bh_amb_dam_3.py
index ba9a05e9..02832491 100644
--- a/scripts/expertise/expertise_bh_amb_dam_3.py
+++ b/scripts/expertise/expertise_bh_amb_dam_3.py
@@ -1,48 +1,10 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_amb_dam_3')
-
- actor.addSkillMod('expertise_damage_line_dm_crit', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_amb_dam_3')
-
- actor.removeSkillMod('expertise_damage_line_dm_crit', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_amb_dam_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_amb_dam_3")
return
+
\ No newline at end of file
diff --git a/scripts/expertise/expertise_bh_amb_dam_cool.py b/scripts/expertise/expertise_bh_amb_dam_cool.py
index 1f9d3b03..633d3846 100644
--- a/scripts/expertise/expertise_bh_amb_dam_cool.py
+++ b/scripts/expertise/expertise_bh_amb_dam_cool.py
@@ -1,50 +1,10 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_amb_dam_cool')
-
- actor.addSkillMod('expertise_dm_crit_advanced', 1)
- actor.addSkillMod('expertise_critical_line_dm_crit', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_amb_dam_cool')
-
- actor.removeSkillMod('expertise_dm_crit_advanced', 1)
- actor.removeSkillMod('expertise_critical_line_dm_crit', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_dam_cool")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_amb_dam_cool")
return
+
\ No newline at end of file
diff --git a/scripts/expertise/expertise_bh_armor_duelist_1.py b/scripts/expertise/expertise_bh_armor_duelist_1.py
index a8955362..c4529a37 100644
--- a/scripts/expertise/expertise_bh_armor_duelist_1.py
+++ b/scripts/expertise/expertise_bh_armor_duelist_1.py
@@ -1,48 +1,22 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_armor_duelist_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_armor_duelist_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('bh_armor_duelist_1')
-
+ if actor.getLevel() >= 26:
+ actor.addAbility("bh_armor_duelist_1")
+ if actor.getLevel() >= 34:
+ actor.addAbility("bh_armor_duelist_2")
+ if actor.getLevel() >= 48:
+ actor.addAbility("bh_armor_duelist_3")
+ if actor.getLevel() >= 62:
+ actor.addAbility("bh_armor_duelist_4")
+ if actor.getLevel() >= 76:
+ actor.addAbility("bh_armor_duelist_5")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('bh_armor_duelist_1')
-
+ actor.removeAbility("bh_armor_duelist_1")
+ actor.removeAbility("bh_armor_duelist_2")
+ actor.removeAbility("bh_armor_duelist_3")
+ actor.removeAbility("bh_armor_duelist_4")
+ actor.removeAbility("bh_armor_duelist_5")
return
diff --git a/scripts/expertise/expertise_bh_armor_eng_1.py b/scripts/expertise/expertise_bh_armor_eng_1.py
index dfcf05f9..a67e6dee 100644
--- a/scripts/expertise/expertise_bh_armor_eng_1.py
+++ b/scripts/expertise/expertise_bh_armor_eng_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_armor_eng_1')
-
- actor.addSkillMod('expertise_innate_protection_energy', 500)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_armor_eng_1')
-
- actor.removeSkillMod('expertise_innate_protection_energy', 500)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_armor_eng_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_armor_eng_1")
return
diff --git a/scripts/expertise/expertise_bh_armor_eng_2.py b/scripts/expertise/expertise_bh_armor_eng_2.py
index c04179da..86521742 100644
--- a/scripts/expertise/expertise_bh_armor_eng_2.py
+++ b/scripts/expertise/expertise_bh_armor_eng_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_armor_eng_2')
-
- actor.addSkillMod('expertise_innate_protection_energy', 500)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_armor_eng_2')
-
- actor.removeSkillMod('expertise_innate_protection_energy', 500)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_armor_eng_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_armor_eng_2")
return
diff --git a/scripts/expertise/expertise_bh_armor_eng_3.py b/scripts/expertise/expertise_bh_armor_eng_3.py
index a175c1bc..9674d322 100644
--- a/scripts/expertise/expertise_bh_armor_eng_3.py
+++ b/scripts/expertise/expertise_bh_armor_eng_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_armor_eng_3')
-
- actor.addSkillMod('expertise_innate_protection_energy', 500)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_armor_eng_3')
-
- actor.removeSkillMod('expertise_innate_protection_energy', 500)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_armor_eng_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_armor_eng_3")
return
diff --git a/scripts/expertise/expertise_bh_armor_eng_4.py b/scripts/expertise/expertise_bh_armor_eng_4.py
index 5157fef5..2282200c 100644
--- a/scripts/expertise/expertise_bh_armor_eng_4.py
+++ b/scripts/expertise/expertise_bh_armor_eng_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_armor_eng_4')
-
- actor.addSkillMod('expertise_innate_protection_energy', 500)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_armor_eng_4')
-
- actor.removeSkillMod('expertise_innate_protection_energy', 500)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_armor_eng_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_armor_eng_4")
return
diff --git a/scripts/expertise/expertise_bh_armor_kin_1.py b/scripts/expertise/expertise_bh_armor_kin_1.py
index 0f0fb7f5..91acd05a 100644
--- a/scripts/expertise/expertise_bh_armor_kin_1.py
+++ b/scripts/expertise/expertise_bh_armor_kin_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_armor_kin_1')
-
- actor.addSkillMod('expertise_innate_protection_kinetic', 500)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_armor_kin_1')
-
- actor.removeSkillMod('expertise_innate_protection_kinetic', 500)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_armor_kin_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_armor_kin_1")
return
diff --git a/scripts/expertise/expertise_bh_armor_kin_2.py b/scripts/expertise/expertise_bh_armor_kin_2.py
index c4897930..8e603d50 100644
--- a/scripts/expertise/expertise_bh_armor_kin_2.py
+++ b/scripts/expertise/expertise_bh_armor_kin_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_armor_kin_2')
-
- actor.addSkillMod('expertise_innate_protection_kinetic', 500)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_armor_kin_2')
-
- actor.removeSkillMod('expertise_innate_protection_kinetic', 500)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_armor_kin_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_armor_kin_2")
return
diff --git a/scripts/expertise/expertise_bh_armor_kin_3.py b/scripts/expertise/expertise_bh_armor_kin_3.py
index 2eacb73d..d54efcba 100644
--- a/scripts/expertise/expertise_bh_armor_kin_3.py
+++ b/scripts/expertise/expertise_bh_armor_kin_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_armor_kin_3')
-
- actor.addSkillMod('expertise_innate_protection_kinetic', 500)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_armor_kin_3')
-
- actor.removeSkillMod('expertise_innate_protection_kinetic', 500)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_armor_kin_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_armor_kin_3")
return
diff --git a/scripts/expertise/expertise_bh_armor_kin_4.py b/scripts/expertise/expertise_bh_armor_kin_4.py
index 7d0980cc..7351a899 100644
--- a/scripts/expertise/expertise_bh_armor_kin_4.py
+++ b/scripts/expertise/expertise_bh_armor_kin_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_armor_kin_4')
-
- actor.addSkillMod('expertise_innate_protection_kinetic', 500)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_armor_kin_4')
-
- actor.removeSkillMod('expertise_innate_protection_kinetic', 500)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_armor_kin_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_armor_kin_4")
return
diff --git a/scripts/expertise/expertise_bh_armor_mgb_1.py b/scripts/expertise/expertise_bh_armor_mgb_1.py
index b96d73ae..f6a10221 100644
--- a/scripts/expertise/expertise_bh_armor_mgb_1.py
+++ b/scripts/expertise/expertise_bh_armor_mgb_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_armor_mgb_1')
-
- actor.addSkillMod('expertise_dodge', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_armor_mgb_1')
-
- actor.removeSkillMod('expertise_dodge', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_armor_mgb_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_armor_mgb_1")
return
diff --git a/scripts/expertise/expertise_bh_armor_mgb_2.py b/scripts/expertise/expertise_bh_armor_mgb_2.py
index 3712b6e1..b71a226c 100644
--- a/scripts/expertise/expertise_bh_armor_mgb_2.py
+++ b/scripts/expertise/expertise_bh_armor_mgb_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_armor_mgb_2')
-
- actor.addSkillMod('expertise_dodge', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_armor_mgb_2')
-
- actor.removeSkillMod('expertise_dodge', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_armor_mgb_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_armor_mgb_2")
return
diff --git a/scripts/expertise/expertise_bh_armor_mgb_3.py b/scripts/expertise/expertise_bh_armor_mgb_3.py
index 10a05268..957b4b88 100644
--- a/scripts/expertise/expertise_bh_armor_mgb_3.py
+++ b/scripts/expertise/expertise_bh_armor_mgb_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_armor_mgb_3')
-
- actor.addSkillMod('expertise_dodge', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_armor_mgb_3')
-
- actor.removeSkillMod('expertise_dodge', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_armor_mgb_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_armor_mgb_3")
return
diff --git a/scripts/expertise/expertise_bh_armor_rgb_1.py b/scripts/expertise/expertise_bh_armor_rgb_1.py
index d529151c..c1d48b96 100644
--- a/scripts/expertise/expertise_bh_armor_rgb_1.py
+++ b/scripts/expertise/expertise_bh_armor_rgb_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_armor_rgb_1')
-
- actor.addSkillMod('expertise_critical_hit_reduction', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_armor_rgb_1')
-
- actor.removeSkillMod('expertise_critical_hit_reduction', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_armor_rgb_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_armor_rgb_1")
return
diff --git a/scripts/expertise/expertise_bh_armor_rgb_2.py b/scripts/expertise/expertise_bh_armor_rgb_2.py
index 54da7d9e..d0757ff7 100644
--- a/scripts/expertise/expertise_bh_armor_rgb_2.py
+++ b/scripts/expertise/expertise_bh_armor_rgb_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_armor_rgb_2')
-
- actor.addSkillMod('expertise_critical_hit_reduction', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_armor_rgb_2')
-
- actor.removeSkillMod('expertise_critical_hit_reduction', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_armor_rgb_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_armor_rgb_2")
return
diff --git a/scripts/expertise/expertise_bh_armor_rgb_3.py b/scripts/expertise/expertise_bh_armor_rgb_3.py
index c94386c5..7f8e5879 100644
--- a/scripts/expertise/expertise_bh_armor_rgb_3.py
+++ b/scripts/expertise/expertise_bh_armor_rgb_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_armor_rgb_3')
-
- actor.addSkillMod('expertise_critical_hit_reduction', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_armor_rgb_3')
-
- actor.removeSkillMod('expertise_critical_hit_reduction', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_armor_rgb_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_armor_rgb_3")
return
diff --git a/scripts/expertise/expertise_bh_armor_sprint_1.py b/scripts/expertise/expertise_bh_armor_sprint_1.py
index 247c23e1..b0ebf1ec 100644
--- a/scripts/expertise/expertise_bh_armor_sprint_1.py
+++ b/scripts/expertise/expertise_bh_armor_sprint_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_armor_sprint_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_armor_sprint_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('bh_armor_sprint_1')
-
+ actor.addAbility("bh_armor_sprint_1")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('bh_armor_sprint_1')
-
+ actor.removeAbility("bh_armor_sprint_1")
return
diff --git a/scripts/expertise/expertise_bh_ass_act_1.py b/scripts/expertise/expertise_bh_ass_act_1.py
index 4b60f445..35100c39 100644
--- a/scripts/expertise/expertise_bh_ass_act_1.py
+++ b/scripts/expertise/expertise_bh_ass_act_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_ass_act_1')
-
- actor.addSkillMod('expertise_action_line_dm', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_ass_act_1')
-
- actor.removeSkillMod('expertise_action_line_dm', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_ass_act_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_ass_act_1")
return
diff --git a/scripts/expertise/expertise_bh_ass_act_2.py b/scripts/expertise/expertise_bh_ass_act_2.py
index 07f25018..e647dfd4 100644
--- a/scripts/expertise/expertise_bh_ass_act_2.py
+++ b/scripts/expertise/expertise_bh_ass_act_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_ass_act_2')
-
- actor.addSkillMod('expertise_action_line_dm', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_ass_act_2')
-
- actor.removeSkillMod('expertise_action_line_dm', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_ass_act_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_ass_act_2")
return
diff --git a/scripts/expertise/expertise_bh_ass_act_3.py b/scripts/expertise/expertise_bh_ass_act_3.py
index c24cbdd3..7011247d 100644
--- a/scripts/expertise/expertise_bh_ass_act_3.py
+++ b/scripts/expertise/expertise_bh_ass_act_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_ass_act_3')
-
- actor.addSkillMod('expertise_action_line_dm', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_ass_act_3')
-
- actor.removeSkillMod('expertise_action_line_dm', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_ass_act_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_ass_act_3")
return
diff --git a/scripts/expertise/expertise_bh_ass_cool_1.py b/scripts/expertise/expertise_bh_ass_cool_1.py
index aaff3675..c9d4f6bf 100644
--- a/scripts/expertise/expertise_bh_ass_cool_1.py
+++ b/scripts/expertise/expertise_bh_ass_cool_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_ass_cool_1')
-
- actor.addSkillMod('expertise_cooldown_line_dm', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_ass_cool_1')
-
- actor.removeSkillMod('expertise_cooldown_line_dm', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_ass_cool_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_ass_cool_1")
return
diff --git a/scripts/expertise/expertise_bh_ass_cool_2.py b/scripts/expertise/expertise_bh_ass_cool_2.py
index af01e9aa..4532702b 100644
--- a/scripts/expertise/expertise_bh_ass_cool_2.py
+++ b/scripts/expertise/expertise_bh_ass_cool_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_ass_cool_2')
-
- actor.addSkillMod('expertise_cooldown_line_dm', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_ass_cool_2')
-
- actor.removeSkillMod('expertise_cooldown_line_dm', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_ass_cool_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_ass_cool_2")
return
diff --git a/scripts/expertise/expertise_bh_ass_dam_1.py b/scripts/expertise/expertise_bh_ass_dam_1.py
index 04fb74e7..7d52ed2f 100644
--- a/scripts/expertise/expertise_bh_ass_dam_1.py
+++ b/scripts/expertise/expertise_bh_ass_dam_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_ass_dam_1')
-
- actor.addSkillMod('expertise_damage_line_dm', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_ass_dam_1')
-
- actor.removeSkillMod('expertise_damage_line_dm', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_ass_dam_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_ass_dam_1")
return
diff --git a/scripts/expertise/expertise_bh_ass_dam_2.py b/scripts/expertise/expertise_bh_ass_dam_2.py
index ea7ec873..a6587bd4 100644
--- a/scripts/expertise/expertise_bh_ass_dam_2.py
+++ b/scripts/expertise/expertise_bh_ass_dam_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_ass_dam_2')
-
- actor.addSkillMod('expertise_damage_line_dm', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_ass_dam_2')
-
- actor.removeSkillMod('expertise_damage_line_dm', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_ass_dam_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_ass_dam_2")
return
diff --git a/scripts/expertise/expertise_bh_ass_dam_3.py b/scripts/expertise/expertise_bh_ass_dam_3.py
index 7fce7d94..57e2d7c4 100644
--- a/scripts/expertise/expertise_bh_ass_dam_3.py
+++ b/scripts/expertise/expertise_bh_ass_dam_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_ass_dam_3')
-
- actor.addSkillMod('expertise_damage_line_dm', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_ass_dam_3')
-
- actor.removeSkillMod('expertise_damage_line_dm', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_ass_dam_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_ass_dam_3")
return
diff --git a/scripts/expertise/expertise_bh_carbine_act_1.py b/scripts/expertise/expertise_bh_carbine_act_1.py
index ce2dd758..bb7e39f3 100644
--- a/scripts/expertise/expertise_bh_carbine_act_1.py
+++ b/scripts/expertise/expertise_bh_carbine_act_1.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_carbine_act_1')
-
- actor.addSkillMod('expertise_action_weapon_1', 3)
- actor.addSkillMod('expertise_action_weapon_2', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_carbine_act_1')
-
- actor.removeSkillMod('expertise_action_weapon_1', 3)
- actor.removeSkillMod('expertise_action_weapon_2', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_carbine_act_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_carbine_act_1")
return
diff --git a/scripts/expertise/expertise_bh_carbine_act_2.py b/scripts/expertise/expertise_bh_carbine_act_2.py
index bb494e3f..c2024eab 100644
--- a/scripts/expertise/expertise_bh_carbine_act_2.py
+++ b/scripts/expertise/expertise_bh_carbine_act_2.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_carbine_act_2')
-
- actor.addSkillMod('expertise_action_weapon_1', 3)
- actor.addSkillMod('expertise_action_weapon_2', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_carbine_act_2')
-
- actor.removeSkillMod('expertise_action_weapon_1', 3)
- actor.removeSkillMod('expertise_action_weapon_2', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_carbine_act_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_carbine_act_2")
return
diff --git a/scripts/expertise/expertise_bh_carbine_act_3.py b/scripts/expertise/expertise_bh_carbine_act_3.py
index 6f07762a..ddb0ac36 100644
--- a/scripts/expertise/expertise_bh_carbine_act_3.py
+++ b/scripts/expertise/expertise_bh_carbine_act_3.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_carbine_act_3')
-
- actor.addSkillMod('expertise_action_weapon_1', 4)
- actor.addSkillMod('expertise_action_weapon_2', 4)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_carbine_act_3')
-
- actor.removeSkillMod('expertise_action_weapon_1', 4)
- actor.removeSkillMod('expertise_action_weapon_2', 4)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_carbine_act_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_carbine_act_3")
return
diff --git a/scripts/expertise/expertise_bh_carbine_act_4.py b/scripts/expertise/expertise_bh_carbine_act_4.py
index 96142cc2..30d33f95 100644
--- a/scripts/expertise/expertise_bh_carbine_act_4.py
+++ b/scripts/expertise/expertise_bh_carbine_act_4.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_carbine_act_4')
-
- actor.addSkillMod('expertise_action_weapon_1', 5)
- actor.addSkillMod('expertise_action_weapon_2', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_carbine_act_4')
-
- actor.removeSkillMod('expertise_action_weapon_1', 5)
- actor.removeSkillMod('expertise_action_weapon_2', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_carbine_act_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_carbine_act_4")
return
diff --git a/scripts/expertise/expertise_bh_carbine_crit_1.py b/scripts/expertise/expertise_bh_carbine_crit_1.py
index 131db4c7..76d07aa9 100644
--- a/scripts/expertise/expertise_bh_carbine_crit_1.py
+++ b/scripts/expertise/expertise_bh_carbine_crit_1.py
@@ -1,54 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_carbine_crit_1')
-
- actor.addSkillMod('expertise_range_bonus_carbine', 10)
- actor.addSkillMod('expertise_undiminished_critical_carbine', 10)
- actor.addSkillMod('expertise_undiminished_critical_pistol', 10)
- actor.addSkillMod('expertise_range_bonus_pistol', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_carbine_crit_1')
-
- actor.removeSkillMod('expertise_range_bonus_carbine', 10)
- actor.removeSkillMod('expertise_undiminished_critical_carbine', 10)
- actor.removeSkillMod('expertise_undiminished_critical_pistol', 10)
- actor.removeSkillMod('expertise_range_bonus_pistol', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_carbine_crit_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_carbine_crit_1")
return
diff --git a/scripts/expertise/expertise_bh_carbine_dam_1.py b/scripts/expertise/expertise_bh_carbine_dam_1.py
index 4681ff5a..101aaaa0 100644
--- a/scripts/expertise/expertise_bh_carbine_dam_1.py
+++ b/scripts/expertise/expertise_bh_carbine_dam_1.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_carbine_dam_1')
-
- actor.addSkillMod('expertise_damage_weapon_1', 2)
- actor.addSkillMod('expertise_damage_weapon_2', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_carbine_dam_1')
-
- actor.removeSkillMod('expertise_damage_weapon_1', 2)
- actor.removeSkillMod('expertise_damage_weapon_2', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_carbine_dam_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_carbine_dam_1")
return
diff --git a/scripts/expertise/expertise_bh_carbine_dam_2.py b/scripts/expertise/expertise_bh_carbine_dam_2.py
index bca390dc..311fdf16 100644
--- a/scripts/expertise/expertise_bh_carbine_dam_2.py
+++ b/scripts/expertise/expertise_bh_carbine_dam_2.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_carbine_dam_2')
-
- actor.addSkillMod('expertise_damage_weapon_1', 3)
- actor.addSkillMod('expertise_damage_weapon_2', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_carbine_dam_2')
-
- actor.removeSkillMod('expertise_damage_weapon_1', 3)
- actor.removeSkillMod('expertise_damage_weapon_2', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_carbine_dam_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_carbine_dam_2")
return
diff --git a/scripts/expertise/expertise_bh_constitution_1.py b/scripts/expertise/expertise_bh_constitution_1.py
index bf9c095e..4311146c 100644
--- a/scripts/expertise/expertise_bh_constitution_1.py
+++ b/scripts/expertise/expertise_bh_constitution_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_constitution_1')
-
- actor.addSkillMod('constitution_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_constitution_1')
-
- actor.removeSkillMod('constitution_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_constitution_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_constitution_1")
return
diff --git a/scripts/expertise/expertise_bh_constitution_2.py b/scripts/expertise/expertise_bh_constitution_2.py
index a7a36229..b08059f1 100644
--- a/scripts/expertise/expertise_bh_constitution_2.py
+++ b/scripts/expertise/expertise_bh_constitution_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_constitution_2')
-
- actor.addSkillMod('constitution_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_constitution_2')
-
- actor.removeSkillMod('constitution_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_constitution_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_constitution_2")
return
diff --git a/scripts/expertise/expertise_bh_constitution_3.py b/scripts/expertise/expertise_bh_constitution_3.py
index 4259b57a..3cd7edf6 100644
--- a/scripts/expertise/expertise_bh_constitution_3.py
+++ b/scripts/expertise/expertise_bh_constitution_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_constitution_3')
-
- actor.addSkillMod('constitution_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_constitution_3')
-
- actor.removeSkillMod('constitution_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_constitution_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_constitution_3")
return
diff --git a/scripts/expertise/expertise_bh_constitution_4.py b/scripts/expertise/expertise_bh_constitution_4.py
index dd89792b..662706cb 100644
--- a/scripts/expertise/expertise_bh_constitution_4.py
+++ b/scripts/expertise/expertise_bh_constitution_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_constitution_4')
-
- actor.addSkillMod('constitution_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_constitution_4')
-
- actor.removeSkillMod('constitution_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_constitution_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_constitution_4")
return
diff --git a/scripts/expertise/expertise_bh_cover_1.py b/scripts/expertise/expertise_bh_cover_1.py
index 019850cd..b3021ddf 100644
--- a/scripts/expertise/expertise_bh_cover_1.py
+++ b/scripts/expertise/expertise_bh_cover_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_cover_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_cover_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('bh_cover_1')
-
+ actor.addAbility("bh_cover_1")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('bh_cover_1')
-
+ actor.removeAbility("bh_cover_1")
return
diff --git a/scripts/expertise/expertise_bh_deflection_1.py b/scripts/expertise/expertise_bh_deflection_1.py
index ab02e0a6..8ac3bf4c 100644
--- a/scripts/expertise/expertise_bh_deflection_1.py
+++ b/scripts/expertise/expertise_bh_deflection_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_deflection_1')
-
- actor.addSkillMod('expertise_innate_protection_all', 250)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_deflection_1')
-
- actor.removeSkillMod('expertise_innate_protection_all', 250)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_deflection_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_deflection_1")
return
diff --git a/scripts/expertise/expertise_bh_deflection_2.py b/scripts/expertise/expertise_bh_deflection_2.py
index 33b98bf0..35b2c47e 100644
--- a/scripts/expertise/expertise_bh_deflection_2.py
+++ b/scripts/expertise/expertise_bh_deflection_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_deflection_2')
-
- actor.addSkillMod('expertise_innate_protection_all', 250)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_deflection_2')
-
- actor.removeSkillMod('expertise_innate_protection_all', 250)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_deflection_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_deflection_2")
return
diff --git a/scripts/expertise/expertise_bh_deflection_3.py b/scripts/expertise/expertise_bh_deflection_3.py
index c408ca42..d1cd6d2d 100644
--- a/scripts/expertise/expertise_bh_deflection_3.py
+++ b/scripts/expertise/expertise_bh_deflection_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_deflection_3')
-
- actor.addSkillMod('expertise_innate_protection_all', 250)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_deflection_3')
-
- actor.removeSkillMod('expertise_innate_protection_all', 250)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_deflection_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_deflection_3")
return
diff --git a/scripts/expertise/expertise_bh_deflection_4.py b/scripts/expertise/expertise_bh_deflection_4.py
index b5e42e86..fa5ae83f 100644
--- a/scripts/expertise/expertise_bh_deflection_4.py
+++ b/scripts/expertise/expertise_bh_deflection_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_deflection_4')
-
- actor.addSkillMod('expertise_innate_protection_all', 250)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_deflection_4')
-
- actor.removeSkillMod('expertise_innate_protection_all', 250)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_deflection_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_deflection_4")
return
diff --git a/scripts/expertise/expertise_bh_dread_strike_1.py b/scripts/expertise/expertise_bh_dread_strike_1.py
index f7598134..ae817cd0 100644
--- a/scripts/expertise/expertise_bh_dread_strike_1.py
+++ b/scripts/expertise/expertise_bh_dread_strike_1.py
@@ -1,48 +1,22 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_dread_strike_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_dread_strike_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('bh_dread_strike_1')
-
+ if actor.getLevel() >= 26:
+ actor.addAbility("bh_dread_strike_1")
+ if actor.getLevel() >= 34:
+ actor.addAbility("bh_dread_strike_2")
+ if actor.getLevel() >= 48:
+ actor.addAbility("bh_dread_strike_3")
+ if actor.getLevel() >= 62:
+ actor.addAbility("bh_dread_strike_4")
+ if actor.getLevel() >= 76:
+ actor.addAbility("bh_dread_strike_5")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('bh_dread_strike_1')
-
+ actor.removeAbility("bh_dread_strike_1")
+ actor.removeAbility("bh_dread_strike_2")
+ actor.removeAbility("bh_dread_strike_3")
+ actor.removeAbility("bh_dread_strike_4")
+ actor.removeAbility("bh_dread_strike_5")
return
diff --git a/scripts/expertise/expertise_bh_fumble_1.py b/scripts/expertise/expertise_bh_fumble_1.py
index c3863158..c9f10511 100644
--- a/scripts/expertise/expertise_bh_fumble_1.py
+++ b/scripts/expertise/expertise_bh_fumble_1.py
@@ -1,48 +1,25 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_fumble_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_fumble_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('bh_fumble_1')
-
+ if actor.getLevel() >= 26:
+ actor.addAbility("bh_fumble_1")
+ if actor.getLevel() >= 34:
+ actor.addAbility("bh_fumble_2")
+ if actor.getLevel() >= 48:
+ actor.addAbility("bh_fumble_3")
+ if actor.getLevel() >= 62:
+ actor.addAbility("bh_fumble_4")
+ if actor.getLevel() >= 76:
+ actor.addAbility("bh_fumble_5")
+ if actor.getLevel() >= 90:
+ actor.addAbility("bh_fumble_6")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('bh_fumble_1')
-
+ actor.removeAbility("bh_fumble_1")
+ actor.removeAbility("bh_fumble_2")
+ actor.removeAbility("bh_fumble_3")
+ actor.removeAbility("bh_fumble_4")
+ actor.removeAbility("bh_fumble_5")
+ actor.removeAbility("bh_fumble_6")
return
diff --git a/scripts/expertise/expertise_bh_innate_1.py b/scripts/expertise/expertise_bh_innate_1.py
index 1f013597..be7b9b38 100644
--- a/scripts/expertise/expertise_bh_innate_1.py
+++ b/scripts/expertise/expertise_bh_innate_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_innate_1')
-
- actor.addSkillMod('expertise_assult_action_buff', 40)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_innate_1')
-
- actor.removeSkillMod('expertise_assult_action_buff', 40)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_innate_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_innate_1")
return
diff --git a/scripts/expertise/expertise_bh_intimidate_1.py b/scripts/expertise/expertise_bh_intimidate_1.py
index fa501d18..ee0e81ce 100644
--- a/scripts/expertise/expertise_bh_intimidate_1.py
+++ b/scripts/expertise/expertise_bh_intimidate_1.py
@@ -1,48 +1,25 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_intimidate_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_intimidate_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('bh_intimidate_1')
-
+ if actor.getLevel() >= 26:
+ actor.addAbility("bh_intimidate_1")
+ if actor.getLevel() >= 34:
+ actor.addAbility("bh_intimidate_2")
+ if actor.getLevel() >= 48:
+ actor.addAbility("bh_intimidate_3")
+ if actor.getLevel() >= 62:
+ actor.addAbility("bh_intimidate_4")
+ if actor.getLevel() >= 76:
+ actor.addAbility("bh_intimidate_5")
+ if actor.getLevel() >= 90:
+ actor.addAbility("bh_intimidate_6")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('bh_intimidate_1')
-
+ actor.removeAbility("bh_intimidate_1")
+ actor.removeAbility("bh_intimidate_2")
+ actor.removeAbility("bh_intimidate_3")
+ actor.removeAbility("bh_intimidate_4")
+ actor.removeAbility("bh_intimidate_5")
+ actor.removeAbility("bh_intimidate_6")
return
diff --git a/scripts/expertise/expertise_bh_man_crit_1.py b/scripts/expertise/expertise_bh_man_crit_1.py
index 834f9dec..39c35cea 100644
--- a/scripts/expertise/expertise_bh_man_crit_1.py
+++ b/scripts/expertise/expertise_bh_man_crit_1.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_man_crit_1')
-
- actor.addSkillMod('expertise_strikethrough_chance', 2)
- actor.addSkillMod('expertise_bh_detect_camo_chance', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_man_crit_1')
-
- actor.removeSkillMod('expertise_strikethrough_chance', 2)
- actor.removeSkillMod('expertise_bh_detect_camo_chance', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_man_crit_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_man_crit_1")
return
diff --git a/scripts/expertise/expertise_bh_man_crit_2.py b/scripts/expertise/expertise_bh_man_crit_2.py
index b9650fe3..f59f750a 100644
--- a/scripts/expertise/expertise_bh_man_crit_2.py
+++ b/scripts/expertise/expertise_bh_man_crit_2.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_man_crit_2')
-
- actor.addSkillMod('expertise_strikethrough_chance', 2)
- actor.addSkillMod('expertise_bh_detect_camo_chance', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_man_crit_2')
-
- actor.removeSkillMod('expertise_strikethrough_chance', 2)
- actor.removeSkillMod('expertise_bh_detect_camo_chance', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_man_crit_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_man_crit_2")
return
diff --git a/scripts/expertise/expertise_bh_man_crit_3.py b/scripts/expertise/expertise_bh_man_crit_3.py
index da3e6f06..cb9d8b76 100644
--- a/scripts/expertise/expertise_bh_man_crit_3.py
+++ b/scripts/expertise/expertise_bh_man_crit_3.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_man_crit_3')
-
- actor.addSkillMod('expertise_strikethrough_chance', 2)
- actor.addSkillMod('expertise_bh_detect_camo_chance', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_man_crit_3')
-
- actor.removeSkillMod('expertise_strikethrough_chance', 2)
- actor.removeSkillMod('expertise_bh_detect_camo_chance', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_man_crit_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_man_crit_3")
return
diff --git a/scripts/expertise/expertise_bh_precision_1.py b/scripts/expertise/expertise_bh_precision_1.py
index 7004f208..f3813dc5 100644
--- a/scripts/expertise/expertise_bh_precision_1.py
+++ b/scripts/expertise/expertise_bh_precision_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_precision_1')
-
- actor.addSkillMod('precision_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_precision_1')
-
- actor.removeSkillMod('precision_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_precision_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_precision_1")
return
diff --git a/scripts/expertise/expertise_bh_precision_2.py b/scripts/expertise/expertise_bh_precision_2.py
index 58cb5095..6207ca53 100644
--- a/scripts/expertise/expertise_bh_precision_2.py
+++ b/scripts/expertise/expertise_bh_precision_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_precision_2')
-
- actor.addSkillMod('precision_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_precision_2')
-
- actor.removeSkillMod('precision_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_precision_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_precision_2")
return
diff --git a/scripts/expertise/expertise_bh_precision_3.py b/scripts/expertise/expertise_bh_precision_3.py
index 32fa6e4c..d872a9f0 100644
--- a/scripts/expertise/expertise_bh_precision_3.py
+++ b/scripts/expertise/expertise_bh_precision_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_precision_3')
-
- actor.addSkillMod('precision_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_precision_3')
-
- actor.removeSkillMod('precision_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_precision_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_precision_3")
return
diff --git a/scripts/expertise/expertise_bh_precision_4.py b/scripts/expertise/expertise_bh_precision_4.py
index 9ff20b56..c23f6372 100644
--- a/scripts/expertise/expertise_bh_precision_4.py
+++ b/scripts/expertise/expertise_bh_precision_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_precision_4')
-
- actor.addSkillMod('precision_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_precision_4')
-
- actor.removeSkillMod('precision_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_precision_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_precision_4")
return
diff --git a/scripts/expertise/expertise_bh_prescience.py b/scripts/expertise/expertise_bh_prescience.py
index 8211d2f6..a0705af9 100644
--- a/scripts/expertise/expertise_bh_prescience.py
+++ b/scripts/expertise/expertise_bh_prescience.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_prescience')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_prescience')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('bh_prescience')
-
+ actor.addAbility("bh_prescience")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('bh_prescience')
-
+ actor.removeAbility("bh_prescience")
return
diff --git a/scripts/expertise/expertise_bh_relentless_1.py b/scripts/expertise/expertise_bh_relentless_1.py
index 16584560..d8859773 100644
--- a/scripts/expertise/expertise_bh_relentless_1.py
+++ b/scripts/expertise/expertise_bh_relentless_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_relentless_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_relentless_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('bh_relentless_1')
-
+ actor.addAbility("bh_relentless_1")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('bh_relentless_1')
-
+ actor.removeAbility("bh_relentless_1")
return
diff --git a/scripts/expertise/expertise_bh_return_fire_1.py b/scripts/expertise/expertise_bh_return_fire_1.py
index 27d39f22..322ced20 100644
--- a/scripts/expertise/expertise_bh_return_fire_1.py
+++ b/scripts/expertise/expertise_bh_return_fire_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_return_fire_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_return_fire_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('bh_return_fire_command_1')
-
+ actor.addAbility("bh_return_fire_command_1")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('bh_return_fire_command_1')
-
+ actor.removeAbility("bh_return_fire_command_1")
return
diff --git a/scripts/expertise/expertise_bh_rifle_act_1.py b/scripts/expertise/expertise_bh_rifle_act_1.py
index c64ab6fd..5ab3b5b8 100644
--- a/scripts/expertise/expertise_bh_rifle_act_1.py
+++ b/scripts/expertise/expertise_bh_rifle_act_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_rifle_act_1')
-
- actor.addSkillMod('expertise_action_weapon_0', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_rifle_act_1')
-
- actor.removeSkillMod('expertise_action_weapon_0', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_rifle_act_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_rifle_act_1")
return
diff --git a/scripts/expertise/expertise_bh_rifle_act_2.py b/scripts/expertise/expertise_bh_rifle_act_2.py
index f1488c3f..1f94991c 100644
--- a/scripts/expertise/expertise_bh_rifle_act_2.py
+++ b/scripts/expertise/expertise_bh_rifle_act_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_rifle_act_2')
-
- actor.addSkillMod('expertise_action_weapon_0', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_rifle_act_2')
-
- actor.removeSkillMod('expertise_action_weapon_0', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_rifle_act_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_rifle_act_2")
return
diff --git a/scripts/expertise/expertise_bh_rifle_act_3.py b/scripts/expertise/expertise_bh_rifle_act_3.py
index 709fdfec..21f5a7b6 100644
--- a/scripts/expertise/expertise_bh_rifle_act_3.py
+++ b/scripts/expertise/expertise_bh_rifle_act_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_rifle_act_3')
-
- actor.addSkillMod('expertise_action_weapon_0', 4)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_rifle_act_3')
-
- actor.removeSkillMod('expertise_action_weapon_0', 4)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_rifle_act_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_rifle_act_3")
return
diff --git a/scripts/expertise/expertise_bh_rifle_act_4.py b/scripts/expertise/expertise_bh_rifle_act_4.py
index fc0549fa..cb32b474 100644
--- a/scripts/expertise/expertise_bh_rifle_act_4.py
+++ b/scripts/expertise/expertise_bh_rifle_act_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_rifle_act_4')
-
- actor.addSkillMod('expertise_action_weapon_0', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_rifle_act_4')
-
- actor.removeSkillMod('expertise_action_weapon_0', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_rifle_act_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_rifle_act_4")
return
diff --git a/scripts/expertise/expertise_bh_rifle_dam_1.py b/scripts/expertise/expertise_bh_rifle_dam_1.py
index 9c3114cc..debb9b31 100644
--- a/scripts/expertise/expertise_bh_rifle_dam_1.py
+++ b/scripts/expertise/expertise_bh_rifle_dam_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_rifle_dam_1')
-
- actor.addSkillMod('expertise_damage_weapon_0', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_rifle_dam_1')
-
- actor.removeSkillMod('expertise_damage_weapon_0', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_rifle_dam_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_rifle_dam_1")
return
diff --git a/scripts/expertise/expertise_bh_rifle_dam_2.py b/scripts/expertise/expertise_bh_rifle_dam_2.py
index 43fa09b4..29f37539 100644
--- a/scripts/expertise/expertise_bh_rifle_dam_2.py
+++ b/scripts/expertise/expertise_bh_rifle_dam_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_rifle_dam_2')
-
- actor.addSkillMod('expertise_damage_weapon_0', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_rifle_dam_2')
-
- actor.removeSkillMod('expertise_damage_weapon_0', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_rifle_dam_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_rifle_dam_2")
return
diff --git a/scripts/expertise/expertise_bh_shields_1.py b/scripts/expertise/expertise_bh_shields_1.py
index cc0b0b50..ecedc9e6 100644
--- a/scripts/expertise/expertise_bh_shields_1.py
+++ b/scripts/expertise/expertise_bh_shields_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_shields_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_shields_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('bh_shields_1')
-
+ actor.addAbility("bh_shields_1")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('bh_shields_1')
-
+ actor.removeAbility("bh_shields_1")
return
diff --git a/scripts/expertise/expertise_bh_sniper_1.py b/scripts/expertise/expertise_bh_sniper_1.py
index 5d90b6af..b94485a7 100644
--- a/scripts/expertise/expertise_bh_sniper_1.py
+++ b/scripts/expertise/expertise_bh_sniper_1.py
@@ -1,48 +1,25 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_sniper_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_sniper_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('bh_sniper_1')
-
+ if actor.getLevel() >= 26:
+ actor.addAbility("bh_sniper_1")
+ if actor.getLevel() >= 34:
+ actor.addAbility("bh_sniper_2")
+ if actor.getLevel() >= 48:
+ actor.addAbility("bh_sniper_3")
+ if actor.getLevel() >= 62:
+ actor.addAbility("bh_sniper_4")
+ if actor.getLevel() >= 76:
+ actor.addAbility("bh_sniper_5")
+ if actor.getLevel() >= 90:
+ actor.addAbility("bh_sniper_6")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('bh_sniper_1')
-
+ actor.removeAbility("bh_sniper_1")
+ actor.removeAbility("bh_sniper_2")
+ actor.removeAbility("bh_sniper_3")
+ actor.removeAbility("bh_sniper_4")
+ actor.removeAbility("bh_sniper_5")
+ actor.removeAbility("bh_sniper_6")
return
diff --git a/scripts/expertise/expertise_bh_stamina_1.py b/scripts/expertise/expertise_bh_stamina_1.py
index 135dfb5a..77903769 100644
--- a/scripts/expertise/expertise_bh_stamina_1.py
+++ b/scripts/expertise/expertise_bh_stamina_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_stamina_1')
-
- actor.addSkillMod('stamina_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_stamina_1')
-
- actor.removeSkillMod('stamina_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_stamina_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_stamina_1")
return
diff --git a/scripts/expertise/expertise_bh_stamina_2.py b/scripts/expertise/expertise_bh_stamina_2.py
index 82137a73..0deb8459 100644
--- a/scripts/expertise/expertise_bh_stamina_2.py
+++ b/scripts/expertise/expertise_bh_stamina_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_stamina_2')
-
- actor.addSkillMod('stamina_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_stamina_2')
-
- actor.removeSkillMod('stamina_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_stamina_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_stamina_2")
return
diff --git a/scripts/expertise/expertise_bh_stamina_3.py b/scripts/expertise/expertise_bh_stamina_3.py
index 4a9d9c79..3ec0af04 100644
--- a/scripts/expertise/expertise_bh_stamina_3.py
+++ b/scripts/expertise/expertise_bh_stamina_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_stamina_3')
-
- actor.addSkillMod('stamina_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_stamina_3')
-
- actor.removeSkillMod('stamina_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_stamina_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_stamina_3")
return
diff --git a/scripts/expertise/expertise_bh_stamina_4.py b/scripts/expertise/expertise_bh_stamina_4.py
index b4bec72c..fd17d13e 100644
--- a/scripts/expertise/expertise_bh_stamina_4.py
+++ b/scripts/expertise/expertise_bh_stamina_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_stamina_4')
-
- actor.addSkillMod('stamina_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_stamina_4')
-
- actor.removeSkillMod('stamina_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_stamina_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_stamina_4")
return
diff --git a/scripts/expertise/expertise_bh_stun_1.py b/scripts/expertise/expertise_bh_stun_1.py
index 63fbb815..4e9f3633 100644
--- a/scripts/expertise/expertise_bh_stun_1.py
+++ b/scripts/expertise/expertise_bh_stun_1.py
@@ -1,48 +1,22 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_stun_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_stun_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('bh_stun_1')
-
+ if actor.getLevel() >= 26:
+ actor.addAbility("bh_stun_1")
+ if actor.getLevel() >= 34:
+ actor.addAbility("bh_stun_2")
+ if actor.getLevel() >= 48:
+ actor.addAbility("bh_stun_3")
+ if actor.getLevel() >= 62:
+ actor.addAbility("bh_stun_4")
+ if actor.getLevel() >= 76:
+ actor.addAbility("bh_stun_5")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('bh_stun_1')
-
+ actor.removeAbility("bh_stun_1")
+ actor.removeAbility("bh_stun_2")
+ actor.removeAbility("bh_stun_3")
+ actor.removeAbility("bh_stun_4")
+ actor.removeAbility("bh_stun_5")
return
diff --git a/scripts/expertise/expertise_bh_surprise_1.py b/scripts/expertise/expertise_bh_surprise_1.py
index 362f3be0..2e23c9bf 100644
--- a/scripts/expertise/expertise_bh_surprise_1.py
+++ b/scripts/expertise/expertise_bh_surprise_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_surprise_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_surprise_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('bh_dm_crit_3')
-
+ actor.addAbility("bh_dm_crit_3")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('bh_dm_crit_3')
-
+ actor.removeAbility("bh_dm_crit_3")
return
diff --git a/scripts/expertise/expertise_bh_survival_instinct_1.py b/scripts/expertise/expertise_bh_survival_instinct_1.py
index 720ddfe0..c361bf9b 100644
--- a/scripts/expertise/expertise_bh_survival_instinct_1.py
+++ b/scripts/expertise/expertise_bh_survival_instinct_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_survival_instinct_1')
-
- actor.addSkillMod('expertise_cooldown_line_sh', 20)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_survival_instinct_1')
-
- actor.removeSkillMod('expertise_cooldown_line_sh', 20)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_survival_instinct_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_survival_instinct_1")
return
diff --git a/scripts/expertise/expertise_bh_survival_instinct_2.py b/scripts/expertise/expertise_bh_survival_instinct_2.py
index 9fbce1d0..6302e5c0 100644
--- a/scripts/expertise/expertise_bh_survival_instinct_2.py
+++ b/scripts/expertise/expertise_bh_survival_instinct_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_survival_instinct_2')
-
- actor.addSkillMod('expertise_cooldown_line_sh', 20)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_survival_instinct_2')
-
- actor.removeSkillMod('expertise_cooldown_line_sh', 20)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_survival_instinct_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_survival_instinct_2")
return
diff --git a/scripts/expertise/expertise_bh_taunt_1.py b/scripts/expertise/expertise_bh_taunt_1.py
index 9fa48b82..31dc085e 100644
--- a/scripts/expertise/expertise_bh_taunt_1.py
+++ b/scripts/expertise/expertise_bh_taunt_1.py
@@ -1,48 +1,25 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_taunt_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_taunt_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('bh_taunt_1')
-
+ if actor.getLevel() >= 26:
+ actor.addAbility("bh_taunt_1")
+ if actor.getLevel() >= 34:
+ actor.addAbility("bh_taunt_2")
+ if actor.getLevel() >= 48:
+ actor.addAbility("bh_taunt_3")
+ if actor.getLevel() >= 62:
+ actor.addAbility("bh_taunt_4")
+ if actor.getLevel() >= 76:
+ actor.addAbility("bh_taunt_5")
+ if actor.getLevel() >= 90:
+ actor.addAbility("bh_taunt_6")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('bh_taunt_1')
-
+ actor.removeAbility("bh_taunt_1")
+ actor.removeAbility("bh_taunt_2")
+ actor.removeAbility("bh_taunt_3")
+ actor.removeAbility("bh_taunt_4")
+ actor.removeAbility("bh_taunt_5")
+ actor.removeAbility("bh_taunt_6")
return
diff --git a/scripts/expertise/expertise_bh_trap_dam_1.py b/scripts/expertise/expertise_bh_trap_dam_1.py
index debbc5b2..c3ec4563 100644
--- a/scripts/expertise/expertise_bh_trap_dam_1.py
+++ b/scripts/expertise/expertise_bh_trap_dam_1.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_trap_dam_1')
-
- actor.addSkillMod('expertise_damage_line_dm_cc', 5)
- actor.addSkillMod('expertise_action_line_dm_cc', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_trap_dam_1')
-
- actor.removeSkillMod('expertise_damage_line_dm_cc', 5)
- actor.removeSkillMod('expertise_action_line_dm_cc', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_trap_dam_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_trap_dam_1")
return
diff --git a/scripts/expertise/expertise_bh_trap_dam_2.py b/scripts/expertise/expertise_bh_trap_dam_2.py
index 34f1cfa9..7e4066c6 100644
--- a/scripts/expertise/expertise_bh_trap_dam_2.py
+++ b/scripts/expertise/expertise_bh_trap_dam_2.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_trap_dam_2')
-
- actor.addSkillMod('expertise_damage_line_dm_cc', 5)
- actor.addSkillMod('expertise_action_line_dm_cc', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_trap_dam_2')
-
- actor.removeSkillMod('expertise_damage_line_dm_cc', 5)
- actor.removeSkillMod('expertise_action_line_dm_cc', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_trap_dam_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_trap_dam_2")
return
diff --git a/scripts/expertise/expertise_bh_trap_dam_3.py b/scripts/expertise/expertise_bh_trap_dam_3.py
index d8df37c2..27207b90 100644
--- a/scripts/expertise/expertise_bh_trap_dam_3.py
+++ b/scripts/expertise/expertise_bh_trap_dam_3.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_trap_dam_3')
-
- actor.addSkillMod('expertise_damage_line_dm_cc', 5)
- actor.addSkillMod('expertise_action_line_dm_cc', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_trap_dam_3')
-
- actor.removeSkillMod('expertise_damage_line_dm_cc', 5)
- actor.removeSkillMod('expertise_action_line_dm_cc', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_trap_dam_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_trap_dam_3")
return
diff --git a/scripts/expertise/expertise_bh_trap_dam_4.py b/scripts/expertise/expertise_bh_trap_dam_4.py
index 895fa7ed..7caad822 100644
--- a/scripts/expertise/expertise_bh_trap_dam_4.py
+++ b/scripts/expertise/expertise_bh_trap_dam_4.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_trap_dam_4')
-
- actor.addSkillMod('expertise_damage_line_dm_cc', 5)
- actor.addSkillMod('expertise_action_line_dm_cc', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_trap_dam_4')
-
- actor.removeSkillMod('expertise_damage_line_dm_cc', 5)
- actor.removeSkillMod('expertise_action_line_dm_cc', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_trap_dam_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_trap_dam_4")
return
diff --git a/scripts/expertise/expertise_bh_trap_duration_1.py b/scripts/expertise/expertise_bh_trap_duration_1.py
index a24b5591..77c4e203 100644
--- a/scripts/expertise/expertise_bh_trap_duration_1.py
+++ b/scripts/expertise/expertise_bh_trap_duration_1.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_trap_duration_1')
-
- actor.addSkillMod('expertise_buff_duration_group_snare', 1)
- actor.addSkillMod('expertise_cooldown_line_dm_cc', 20)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_trap_duration_1')
-
- actor.removeSkillMod('expertise_buff_duration_group_snare', 1)
- actor.removeSkillMod('expertise_cooldown_line_dm_cc', 20)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_trap_duration_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_trap_duration_1")
return
diff --git a/scripts/expertise/expertise_bh_trap_duration_2.py b/scripts/expertise/expertise_bh_trap_duration_2.py
index 4c312043..682f7452 100644
--- a/scripts/expertise/expertise_bh_trap_duration_2.py
+++ b/scripts/expertise/expertise_bh_trap_duration_2.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_trap_duration_2')
-
- actor.addSkillMod('expertise_buff_duration_group_snare', 1)
- actor.addSkillMod('expertise_cooldown_line_dm_cc', 20)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_trap_duration_2')
-
- actor.removeSkillMod('expertise_buff_duration_group_snare', 1)
- actor.removeSkillMod('expertise_cooldown_line_dm_cc', 20)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_trap_duration_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_trap_duration_2")
return
diff --git a/scripts/expertise/expertise_bh_trap_duration_3.py b/scripts/expertise/expertise_bh_trap_duration_3.py
index 409ba235..d08b714c 100644
--- a/scripts/expertise/expertise_bh_trap_duration_3.py
+++ b/scripts/expertise/expertise_bh_trap_duration_3.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_trap_duration_3')
-
- actor.addSkillMod('expertise_buff_duration_group_snare', 1)
- actor.addSkillMod('expertise_cooldown_line_dm_cc', 20)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_trap_duration_3')
-
- actor.removeSkillMod('expertise_buff_duration_group_snare', 1)
- actor.removeSkillMod('expertise_cooldown_line_dm_cc', 20)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_trap_duration_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_trap_duration_3")
return
diff --git a/scripts/expertise/expertise_bh_trap_rng_1.py b/scripts/expertise/expertise_bh_trap_rng_1.py
index 3da9ced9..74ce4e28 100644
--- a/scripts/expertise/expertise_bh_trap_rng_1.py
+++ b/scripts/expertise/expertise_bh_trap_rng_1.py
@@ -1,52 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_trap_rng_1')
-
- actor.addSkillMod('expertise_area_size_line_trap', 1)
- actor.addSkillMod('expertise_area_size_line_diretrap', 1)
- actor.addSkillMod('expertise_action_line_trap', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_trap_rng_1')
-
- actor.removeSkillMod('expertise_area_size_line_trap', 1)
- actor.removeSkillMod('expertise_area_size_line_diretrap', 1)
- actor.removeSkillMod('expertise_action_line_trap', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_trap_rng_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_trap_rng_1")
return
diff --git a/scripts/expertise/expertise_bh_trap_rng_2.py b/scripts/expertise/expertise_bh_trap_rng_2.py
index 0d853136..c3508e35 100644
--- a/scripts/expertise/expertise_bh_trap_rng_2.py
+++ b/scripts/expertise/expertise_bh_trap_rng_2.py
@@ -1,52 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.addSkill('expertise_bh_trap_rng_2')
-
- actor.addSkillMod('expertise_area_size_line_trap', 1)
- actor.addSkillMod('expertise_area_size_line_diretrap', 1)
- actor.addSkillMod('expertise_action_line_trap', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'bounty_hunter_1a':
- return
-
- actor.removeSkill('expertise_bh_trap_rng_2')
-
- actor.removeSkillMod('expertise_area_size_line_trap', 1)
- actor.removeSkillMod('expertise_area_size_line_diretrap', 1)
- actor.removeSkillMod('expertise_action_line_trap', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bh_trap_rng_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bh_trap_rng_2")
return
diff --git a/scripts/expertise/expertise_bm_abilility_aquisition_mod_1.py b/scripts/expertise/expertise_bm_abilility_aquisition_mod_1.py
index 5a44b9cb..ad3b81a0 100644
--- a/scripts/expertise/expertise_bm_abilility_aquisition_mod_1.py
+++ b/scripts/expertise/expertise_bm_abilility_aquisition_mod_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.addSkill('expertise_bm_abilility_aquisition_mod_1')
-
- actor.addSkillMod('expertise_bm_enhanced_skill_acquisition', 15)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.removeSkill('expertise_bm_abilility_aquisition_mod_1')
-
- actor.removeSkillMod('expertise_bm_enhanced_skill_acquisition', 15)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bm_abilility_aquisition_mod_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bm_abilility_aquisition_mod_1")
return
diff --git a/scripts/expertise/expertise_bm_add_first_pet_bar_1.py b/scripts/expertise/expertise_bm_add_first_pet_bar_1.py
index aca29011..e0653096 100644
--- a/scripts/expertise/expertise_bm_add_first_pet_bar_1.py
+++ b/scripts/expertise/expertise_bm_add_first_pet_bar_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.addSkill('expertise_bm_add_first_pet_bar_1')
-
- actor.addSkillMod('expertise_bm_add_pet_bar', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.removeSkill('expertise_bm_add_first_pet_bar_1')
-
- actor.removeSkillMod('expertise_bm_add_pet_bar', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bm_add_first_pet_bar_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bm_add_first_pet_bar_1")
return
diff --git a/scripts/expertise/expertise_bm_add_second_pet_bar_1.py b/scripts/expertise/expertise_bm_add_second_pet_bar_1.py
index 385f1057..374dae76 100644
--- a/scripts/expertise/expertise_bm_add_second_pet_bar_1.py
+++ b/scripts/expertise/expertise_bm_add_second_pet_bar_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.addSkill('expertise_bm_add_second_pet_bar_1')
-
- actor.addSkillMod('expertise_bm_add_pet_bar', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.removeSkill('expertise_bm_add_second_pet_bar_1')
-
- actor.removeSkillMod('expertise_bm_add_pet_bar', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bm_add_second_pet_bar_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bm_add_second_pet_bar_1")
return
diff --git a/scripts/expertise/expertise_bm_add_third_pet_bar_1.py b/scripts/expertise/expertise_bm_add_third_pet_bar_1.py
index 607cc8c8..600df6ad 100644
--- a/scripts/expertise/expertise_bm_add_third_pet_bar_1.py
+++ b/scripts/expertise/expertise_bm_add_third_pet_bar_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.addSkill('expertise_bm_add_third_pet_bar_1')
-
- actor.addSkillMod('expertise_bm_add_pet_bar', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.removeSkill('expertise_bm_add_third_pet_bar_1')
-
- actor.removeSkillMod('expertise_bm_add_pet_bar', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bm_add_third_pet_bar_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bm_add_third_pet_bar_1")
return
diff --git a/scripts/expertise/expertise_bm_attack_1.py b/scripts/expertise/expertise_bm_attack_1.py
index 8b6f795c..798c38cf 100644
--- a/scripts/expertise/expertise_bm_attack_1.py
+++ b/scripts/expertise/expertise_bm_attack_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.addSkill('expertise_bm_attack_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.removeSkill('expertise_bm_attack_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('bm_pet_attack_1')
-
+ actor.addAbility("bm_pet_attack_1")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('bm_pet_attack_1')
-
+ actor.removeAbility("bm_pet_attack_1")
return
diff --git a/scripts/expertise/expertise_bm_beast_mastery_1.py b/scripts/expertise/expertise_bm_beast_mastery_1.py
index e467a281..b4720a91 100644
--- a/scripts/expertise/expertise_bm_beast_mastery_1.py
+++ b/scripts/expertise/expertise_bm_beast_mastery_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.addSkill('expertise_bm_beast_mastery_1')
-
- actor.addSkillMod('expertise_bm_self_debuff_reduction', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.removeSkill('expertise_bm_beast_mastery_1')
-
- actor.removeSkillMod('expertise_bm_self_debuff_reduction', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bm_beast_mastery_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bm_beast_mastery_1")
return
diff --git a/scripts/expertise/expertise_bm_creature_knowledge_command_1.py b/scripts/expertise/expertise_bm_creature_knowledge_command_1.py
index 3f50c6cd..602905fc 100644
--- a/scripts/expertise/expertise_bm_creature_knowledge_command_1.py
+++ b/scripts/expertise/expertise_bm_creature_knowledge_command_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.addSkill('expertise_bm_creature_knowledge_command_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.removeSkill('expertise_bm_creature_knowledge_command_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('bm_creature_knowledge_command_1')
-
+ actor.addAbility("bm_creature_knowledge_command_1")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('bm_creature_knowledge_command_1')
-
+ actor.removeAbility("bm_creature_knowledge_command_1")
return
diff --git a/scripts/expertise/expertise_bm_dexterity_training_1.py b/scripts/expertise/expertise_bm_dexterity_training_1.py
index 4162179d..50a560d4 100644
--- a/scripts/expertise/expertise_bm_dexterity_training_1.py
+++ b/scripts/expertise/expertise_bm_dexterity_training_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.addSkill('expertise_bm_dexterity_training_1')
-
- actor.addSkillMod('expertise_bm_pet_attack_speed', 50)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.removeSkill('expertise_bm_dexterity_training_1')
-
- actor.removeSkillMod('expertise_bm_pet_attack_speed', 50)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bm_dexterity_training_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bm_dexterity_training_1")
return
diff --git a/scripts/expertise/expertise_bm_dexterity_training_2.py b/scripts/expertise/expertise_bm_dexterity_training_2.py
index f3c66370..ab2527c4 100644
--- a/scripts/expertise/expertise_bm_dexterity_training_2.py
+++ b/scripts/expertise/expertise_bm_dexterity_training_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.addSkill('expertise_bm_dexterity_training_2')
-
- actor.addSkillMod('expertise_bm_pet_attack_speed', 50)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.removeSkill('expertise_bm_dexterity_training_2')
-
- actor.removeSkillMod('expertise_bm_pet_attack_speed', 50)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bm_dexterity_training_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bm_dexterity_training_2")
return
diff --git a/scripts/expertise/expertise_bm_dna_harvesting_1.py b/scripts/expertise/expertise_bm_dna_harvesting_1.py
index ee8aad65..3f9e6c4c 100644
--- a/scripts/expertise/expertise_bm_dna_harvesting_1.py
+++ b/scripts/expertise/expertise_bm_dna_harvesting_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.addSkill('expertise_bm_dna_harvesting_1')
-
- actor.addSkillMod('expertise_bm_dna_harvesting_1', 30)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.removeSkill('expertise_bm_dna_harvesting_1')
-
- actor.removeSkillMod('expertise_bm_dna_harvesting_1', 30)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bm_dna_harvesting_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bm_dna_harvesting_1")
return
diff --git a/scripts/expertise/expertise_bm_dna_harvesting_2.py b/scripts/expertise/expertise_bm_dna_harvesting_2.py
index 5c0b2044..0b5cc4fa 100644
--- a/scripts/expertise/expertise_bm_dna_harvesting_2.py
+++ b/scripts/expertise/expertise_bm_dna_harvesting_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.addSkill('expertise_bm_dna_harvesting_2')
-
- actor.addSkillMod('expertise_bm_dna_harvesting_1', 30)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.removeSkill('expertise_bm_dna_harvesting_2')
-
- actor.removeSkillMod('expertise_bm_dna_harvesting_1', 30)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bm_dna_harvesting_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bm_dna_harvesting_2")
return
diff --git a/scripts/expertise/expertise_bm_dna_harvesting_3.py b/scripts/expertise/expertise_bm_dna_harvesting_3.py
index 3f287f64..2f6fcdfa 100644
--- a/scripts/expertise/expertise_bm_dna_harvesting_3.py
+++ b/scripts/expertise/expertise_bm_dna_harvesting_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.addSkill('expertise_bm_dna_harvesting_3')
-
- actor.addSkillMod('expertise_bm_dna_harvesting_1', 40)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.removeSkill('expertise_bm_dna_harvesting_3')
-
- actor.removeSkillMod('expertise_bm_dna_harvesting_1', 40)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bm_dna_harvesting_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bm_dna_harvesting_3")
return
diff --git a/scripts/expertise/expertise_bm_erratic_genius_1.py b/scripts/expertise/expertise_bm_erratic_genius_1.py
index ab96d82c..d7ed15a7 100644
--- a/scripts/expertise/expertise_bm_erratic_genius_1.py
+++ b/scripts/expertise/expertise_bm_erratic_genius_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.addSkill('expertise_bm_erratic_genius_1')
-
- actor.addSkillMod('bm_mutation_chance_increase', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.removeSkill('expertise_bm_erratic_genius_1')
-
- actor.removeSkillMod('bm_mutation_chance_increase', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bm_erratic_genius_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bm_erratic_genius_1")
return
diff --git a/scripts/expertise/expertise_bm_erratic_genius_2.py b/scripts/expertise/expertise_bm_erratic_genius_2.py
index bc4c75ec..6e387fb5 100644
--- a/scripts/expertise/expertise_bm_erratic_genius_2.py
+++ b/scripts/expertise/expertise_bm_erratic_genius_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.addSkill('expertise_bm_erratic_genius_2')
-
- actor.addSkillMod('bm_mutation_chance_increase', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.removeSkill('expertise_bm_erratic_genius_2')
-
- actor.removeSkillMod('bm_mutation_chance_increase', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bm_erratic_genius_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bm_erratic_genius_2")
return
diff --git a/scripts/expertise/expertise_bm_erratic_genius_3.py b/scripts/expertise/expertise_bm_erratic_genius_3.py
index a0ece6c0..0ee3e98e 100644
--- a/scripts/expertise/expertise_bm_erratic_genius_3.py
+++ b/scripts/expertise/expertise_bm_erratic_genius_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.addSkill('expertise_bm_erratic_genius_3')
-
- actor.addSkillMod('bm_mutation_chance_increase', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.removeSkill('expertise_bm_erratic_genius_3')
-
- actor.removeSkillMod('bm_mutation_chance_increase', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bm_erratic_genius_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bm_erratic_genius_3")
return
diff --git a/scripts/expertise/expertise_bm_evasion_1.py b/scripts/expertise/expertise_bm_evasion_1.py
index 62f8715c..aa280e26 100644
--- a/scripts/expertise/expertise_bm_evasion_1.py
+++ b/scripts/expertise/expertise_bm_evasion_1.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.addSkill('expertise_bm_evasion_1')
-
- actor.addSkillMod('expertise_bm_pet_evade_chance', 5)
- actor.addSkillMod('expertise_bm_pet_evade_value', 15)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.removeSkill('expertise_bm_evasion_1')
-
- actor.removeSkillMod('expertise_bm_pet_evade_chance', 5)
- actor.removeSkillMod('expertise_bm_pet_evade_value', 15)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bm_evasion_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bm_evasion_1")
return
diff --git a/scripts/expertise/expertise_bm_evasion_2.py b/scripts/expertise/expertise_bm_evasion_2.py
index f05946e2..2b7ceac3 100644
--- a/scripts/expertise/expertise_bm_evasion_2.py
+++ b/scripts/expertise/expertise_bm_evasion_2.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.addSkill('expertise_bm_evasion_2')
-
- actor.addSkillMod('expertise_bm_pet_evade_chance', 5)
- actor.addSkillMod('expertise_bm_pet_evade_value', 15)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.removeSkill('expertise_bm_evasion_2')
-
- actor.removeSkillMod('expertise_bm_pet_evade_chance', 5)
- actor.removeSkillMod('expertise_bm_pet_evade_value', 15)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bm_evasion_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bm_evasion_2")
return
diff --git a/scripts/expertise/expertise_bm_evasion_3.py b/scripts/expertise/expertise_bm_evasion_3.py
index 84f582e3..6aab14d4 100644
--- a/scripts/expertise/expertise_bm_evasion_3.py
+++ b/scripts/expertise/expertise_bm_evasion_3.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.addSkill('expertise_bm_evasion_3')
-
- actor.addSkillMod('expertise_bm_pet_evade_chance', 5)
- actor.addSkillMod('expertise_bm_pet_evade_value', 15)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.removeSkill('expertise_bm_evasion_3')
-
- actor.removeSkillMod('expertise_bm_pet_evade_chance', 5)
- actor.removeSkillMod('expertise_bm_pet_evade_value', 15)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bm_evasion_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bm_evasion_3")
return
diff --git a/scripts/expertise/expertise_bm_exceptional_nutrition_1.py b/scripts/expertise/expertise_bm_exceptional_nutrition_1.py
index dce1b89b..e65b9f1b 100644
--- a/scripts/expertise/expertise_bm_exceptional_nutrition_1.py
+++ b/scripts/expertise/expertise_bm_exceptional_nutrition_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.addSkill('expertise_bm_exceptional_nutrition_1')
-
- actor.addSkillMod('expertise_bm_pet_health', 50)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.removeSkill('expertise_bm_exceptional_nutrition_1')
-
- actor.removeSkillMod('expertise_bm_pet_health', 50)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bm_exceptional_nutrition_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bm_exceptional_nutrition_1")
return
diff --git a/scripts/expertise/expertise_bm_exceptional_nutrition_2.py b/scripts/expertise/expertise_bm_exceptional_nutrition_2.py
index acd0ed4b..68aa2189 100644
--- a/scripts/expertise/expertise_bm_exceptional_nutrition_2.py
+++ b/scripts/expertise/expertise_bm_exceptional_nutrition_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.addSkill('expertise_bm_exceptional_nutrition_2')
-
- actor.addSkillMod('expertise_bm_pet_health', 50)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.removeSkill('expertise_bm_exceptional_nutrition_2')
-
- actor.removeSkillMod('expertise_bm_pet_health', 50)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bm_exceptional_nutrition_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bm_exceptional_nutrition_2")
return
diff --git a/scripts/expertise/expertise_bm_fortitude_1.py b/scripts/expertise/expertise_bm_fortitude_1.py
index bb3c54c6..d1f38de7 100644
--- a/scripts/expertise/expertise_bm_fortitude_1.py
+++ b/scripts/expertise/expertise_bm_fortitude_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.addSkill('expertise_bm_fortitude_1')
-
- actor.addSkillMod('expertise_bm_pet_armor', 40)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.removeSkill('expertise_bm_fortitude_1')
-
- actor.removeSkillMod('expertise_bm_pet_armor', 40)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bm_fortitude_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bm_fortitude_1")
return
diff --git a/scripts/expertise/expertise_bm_fortitude_2.py b/scripts/expertise/expertise_bm_fortitude_2.py
index b04ea1e4..a2a6f76e 100644
--- a/scripts/expertise/expertise_bm_fortitude_2.py
+++ b/scripts/expertise/expertise_bm_fortitude_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.addSkill('expertise_bm_fortitude_2')
-
- actor.addSkillMod('expertise_bm_pet_armor', 40)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.removeSkill('expertise_bm_fortitude_2')
-
- actor.removeSkillMod('expertise_bm_pet_armor', 40)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bm_fortitude_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bm_fortitude_2")
return
diff --git a/scripts/expertise/expertise_bm_fortitude_3.py b/scripts/expertise/expertise_bm_fortitude_3.py
index 466ebff1..899a6288 100644
--- a/scripts/expertise/expertise_bm_fortitude_3.py
+++ b/scripts/expertise/expertise_bm_fortitude_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.addSkill('expertise_bm_fortitude_3')
-
- actor.addSkillMod('expertise_bm_pet_armor', 40)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.removeSkill('expertise_bm_fortitude_3')
-
- actor.removeSkillMod('expertise_bm_pet_armor', 40)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bm_fortitude_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bm_fortitude_3")
return
diff --git a/scripts/expertise/expertise_bm_genetic_engineering_1.py b/scripts/expertise/expertise_bm_genetic_engineering_1.py
index 865d8630..e4efece4 100644
--- a/scripts/expertise/expertise_bm_genetic_engineering_1.py
+++ b/scripts/expertise/expertise_bm_genetic_engineering_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.addSkill('expertise_bm_genetic_engineering_1')
-
- actor.addSkillMod('expertise_bm_genetic_engineering', 30)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.removeSkill('expertise_bm_genetic_engineering_1')
-
- actor.removeSkillMod('expertise_bm_genetic_engineering', 30)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bm_genetic_engineering_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bm_genetic_engineering_1")
return
diff --git a/scripts/expertise/expertise_bm_genetic_engineering_2.py b/scripts/expertise/expertise_bm_genetic_engineering_2.py
index f25e5200..92cded50 100644
--- a/scripts/expertise/expertise_bm_genetic_engineering_2.py
+++ b/scripts/expertise/expertise_bm_genetic_engineering_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.addSkill('expertise_bm_genetic_engineering_2')
-
- actor.addSkillMod('expertise_bm_genetic_engineering', 30)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.removeSkill('expertise_bm_genetic_engineering_2')
-
- actor.removeSkillMod('expertise_bm_genetic_engineering', 30)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bm_genetic_engineering_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bm_genetic_engineering_2")
return
diff --git a/scripts/expertise/expertise_bm_genetic_engineering_3.py b/scripts/expertise/expertise_bm_genetic_engineering_3.py
index dc3fd5df..a9521b48 100644
--- a/scripts/expertise/expertise_bm_genetic_engineering_3.py
+++ b/scripts/expertise/expertise_bm_genetic_engineering_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.addSkill('expertise_bm_genetic_engineering_3')
-
- actor.addSkillMod('expertise_bm_genetic_engineering', 30)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.removeSkill('expertise_bm_genetic_engineering_3')
-
- actor.removeSkillMod('expertise_bm_genetic_engineering', 30)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bm_genetic_engineering_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bm_genetic_engineering_3")
return
diff --git a/scripts/expertise/expertise_bm_genetic_engineering_4.py b/scripts/expertise/expertise_bm_genetic_engineering_4.py
index 283f05f2..22c76382 100644
--- a/scripts/expertise/expertise_bm_genetic_engineering_4.py
+++ b/scripts/expertise/expertise_bm_genetic_engineering_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.addSkill('expertise_bm_genetic_engineering_4')
-
- actor.addSkillMod('expertise_bm_genetic_engineering', 30)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.removeSkill('expertise_bm_genetic_engineering_4')
-
- actor.removeSkillMod('expertise_bm_genetic_engineering', 30)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bm_genetic_engineering_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bm_genetic_engineering_4")
return
diff --git a/scripts/expertise/expertise_bm_improved_healing_1.py b/scripts/expertise/expertise_bm_improved_healing_1.py
index 5f173fcb..9ccb8bbf 100644
--- a/scripts/expertise/expertise_bm_improved_healing_1.py
+++ b/scripts/expertise/expertise_bm_improved_healing_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.addSkill('expertise_bm_improved_healing_1')
-
- actor.addSkillMod('expertise_bm_improved_pet_heal', 20)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.removeSkill('expertise_bm_improved_healing_1')
-
- actor.removeSkillMod('expertise_bm_improved_pet_heal', 20)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bm_improved_healing_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bm_improved_healing_1")
return
diff --git a/scripts/expertise/expertise_bm_improved_healing_2.py b/scripts/expertise/expertise_bm_improved_healing_2.py
index d93a6af1..3168a225 100644
--- a/scripts/expertise/expertise_bm_improved_healing_2.py
+++ b/scripts/expertise/expertise_bm_improved_healing_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.addSkill('expertise_bm_improved_healing_2')
-
- actor.addSkillMod('expertise_bm_improved_pet_heal', 20)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.removeSkill('expertise_bm_improved_healing_2')
-
- actor.removeSkillMod('expertise_bm_improved_pet_heal', 20)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bm_improved_healing_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bm_improved_healing_2")
return
diff --git a/scripts/expertise/expertise_bm_improved_healing_3.py b/scripts/expertise/expertise_bm_improved_healing_3.py
index 3a61f218..c8cd2102 100644
--- a/scripts/expertise/expertise_bm_improved_healing_3.py
+++ b/scripts/expertise/expertise_bm_improved_healing_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.addSkill('expertise_bm_improved_healing_3')
-
- actor.addSkillMod('expertise_bm_improved_pet_heal', 20)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.removeSkill('expertise_bm_improved_healing_3')
-
- actor.removeSkillMod('expertise_bm_improved_pet_heal', 20)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bm_improved_healing_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bm_improved_healing_3")
return
diff --git a/scripts/expertise/expertise_bm_incubation_base_1.py b/scripts/expertise/expertise_bm_incubation_base_1.py
index 9b7a89bc..94b0399b 100644
--- a/scripts/expertise/expertise_bm_incubation_base_1.py
+++ b/scripts/expertise/expertise_bm_incubation_base_1.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.addSkill('expertise_bm_incubation_base_1')
-
- actor.addSkillMod('expertise_bm_base_mod', 100)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.removeSkill('expertise_bm_incubation_base_1')
-
- actor.removeSkillMod('expertise_bm_base_mod', 100)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('bm_collect_dna')
-
+ actor.addAbility("bm_collect_dna")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('bm_collect_dna')
-
+ actor.removeAbility("bm_collect_dna")
return
diff --git a/scripts/expertise/expertise_bm_incubation_mod_1.py b/scripts/expertise/expertise_bm_incubation_mod_1.py
index 5dcf4b16..b99b1518 100644
--- a/scripts/expertise/expertise_bm_incubation_mod_1.py
+++ b/scripts/expertise/expertise_bm_incubation_mod_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.addSkill('expertise_bm_incubation_mod_1')
-
- actor.addSkillMod('expertise_bm_incubation_quality', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.removeSkill('expertise_bm_incubation_mod_1')
-
- actor.removeSkillMod('expertise_bm_incubation_quality', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bm_incubation_mod_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bm_incubation_mod_1")
return
diff --git a/scripts/expertise/expertise_bm_incubation_mod_2.py b/scripts/expertise/expertise_bm_incubation_mod_2.py
index 022fdeff..167f2676 100644
--- a/scripts/expertise/expertise_bm_incubation_mod_2.py
+++ b/scripts/expertise/expertise_bm_incubation_mod_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.addSkill('expertise_bm_incubation_mod_2')
-
- actor.addSkillMod('expertise_bm_incubation_quality', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.removeSkill('expertise_bm_incubation_mod_2')
-
- actor.removeSkillMod('expertise_bm_incubation_quality', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bm_incubation_mod_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bm_incubation_mod_2")
return
diff --git a/scripts/expertise/expertise_bm_incubation_mod_3.py b/scripts/expertise/expertise_bm_incubation_mod_3.py
index 8460e39e..e90a66ee 100644
--- a/scripts/expertise/expertise_bm_incubation_mod_3.py
+++ b/scripts/expertise/expertise_bm_incubation_mod_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.addSkill('expertise_bm_incubation_mod_3')
-
- actor.addSkillMod('expertise_bm_incubation_quality', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.removeSkill('expertise_bm_incubation_mod_3')
-
- actor.removeSkillMod('expertise_bm_incubation_quality', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bm_incubation_mod_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bm_incubation_mod_3")
return
diff --git a/scripts/expertise/expertise_bm_loyalty_mod_1.py b/scripts/expertise/expertise_bm_loyalty_mod_1.py
index 628987a3..e697ccab 100644
--- a/scripts/expertise/expertise_bm_loyalty_mod_1.py
+++ b/scripts/expertise/expertise_bm_loyalty_mod_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.addSkill('expertise_bm_loyalty_mod_1')
-
- actor.addSkillMod('expertise_bm_pet_happiness', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.removeSkill('expertise_bm_loyalty_mod_1')
-
- actor.removeSkillMod('expertise_bm_pet_happiness', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bm_loyalty_mod_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bm_loyalty_mod_1")
return
diff --git a/scripts/expertise/expertise_bm_loyalty_mod_2.py b/scripts/expertise/expertise_bm_loyalty_mod_2.py
index f7c57622..94e893a7 100644
--- a/scripts/expertise/expertise_bm_loyalty_mod_2.py
+++ b/scripts/expertise/expertise_bm_loyalty_mod_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.addSkill('expertise_bm_loyalty_mod_2')
-
- actor.addSkillMod('expertise_bm_pet_happiness', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.removeSkill('expertise_bm_loyalty_mod_2')
-
- actor.removeSkillMod('expertise_bm_pet_happiness', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bm_loyalty_mod_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bm_loyalty_mod_2")
return
diff --git a/scripts/expertise/expertise_bm_loyalty_mod_3.py b/scripts/expertise/expertise_bm_loyalty_mod_3.py
index 255e4b86..a70c5c6b 100644
--- a/scripts/expertise/expertise_bm_loyalty_mod_3.py
+++ b/scripts/expertise/expertise_bm_loyalty_mod_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.addSkill('expertise_bm_loyalty_mod_3')
-
- actor.addSkillMod('expertise_bm_pet_happiness', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.removeSkill('expertise_bm_loyalty_mod_3')
-
- actor.removeSkillMod('expertise_bm_pet_happiness', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bm_loyalty_mod_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bm_loyalty_mod_3")
return
diff --git a/scripts/expertise/expertise_bm_mending_1.py b/scripts/expertise/expertise_bm_mending_1.py
index f659d061..19f68bf5 100644
--- a/scripts/expertise/expertise_bm_mending_1.py
+++ b/scripts/expertise/expertise_bm_mending_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.addSkill('expertise_bm_mending_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.removeSkill('expertise_bm_mending_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('bm_mend_pet_1')
-
+ actor.addAbility("bm_mend_pet_1")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('bm_mend_pet_1')
-
+ actor.removeAbility("bm_mend_pet_1")
return
diff --git a/scripts/expertise/expertise_bm_metagame_mod_1.py b/scripts/expertise/expertise_bm_metagame_mod_1.py
index ad8053c1..310506d4 100644
--- a/scripts/expertise/expertise_bm_metagame_mod_1.py
+++ b/scripts/expertise/expertise_bm_metagame_mod_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.addSkill('expertise_bm_metagame_mod_1')
-
- actor.addSkillMod('expertise_bm_incubation_time', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.removeSkill('expertise_bm_metagame_mod_1')
-
- actor.removeSkillMod('expertise_bm_incubation_time', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bm_metagame_mod_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bm_metagame_mod_1")
return
diff --git a/scripts/expertise/expertise_bm_metagame_mod_2.py b/scripts/expertise/expertise_bm_metagame_mod_2.py
index af8ff1d4..e1138649 100644
--- a/scripts/expertise/expertise_bm_metagame_mod_2.py
+++ b/scripts/expertise/expertise_bm_metagame_mod_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.addSkill('expertise_bm_metagame_mod_2')
-
- actor.addSkillMod('expertise_bm_incubation_time', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.removeSkill('expertise_bm_metagame_mod_2')
-
- actor.removeSkillMod('expertise_bm_incubation_time', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bm_metagame_mod_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bm_metagame_mod_2")
return
diff --git a/scripts/expertise/expertise_bm_metagame_mod_3.py b/scripts/expertise/expertise_bm_metagame_mod_3.py
index 70409e9c..7b6e0112 100644
--- a/scripts/expertise/expertise_bm_metagame_mod_3.py
+++ b/scripts/expertise/expertise_bm_metagame_mod_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.addSkill('expertise_bm_metagame_mod_3')
-
- actor.addSkillMod('expertise_bm_incubation_time', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.removeSkill('expertise_bm_metagame_mod_3')
-
- actor.removeSkillMod('expertise_bm_incubation_time', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bm_metagame_mod_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bm_metagame_mod_3")
return
diff --git a/scripts/expertise/expertise_bm_metagame_mod_4.py b/scripts/expertise/expertise_bm_metagame_mod_4.py
index 1e31b545..ffb8090a 100644
--- a/scripts/expertise/expertise_bm_metagame_mod_4.py
+++ b/scripts/expertise/expertise_bm_metagame_mod_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.addSkill('expertise_bm_metagame_mod_4')
-
- actor.addSkillMod('expertise_bm_incubation_time', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.removeSkill('expertise_bm_metagame_mod_4')
-
- actor.removeSkillMod('expertise_bm_incubation_time', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bm_metagame_mod_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bm_metagame_mod_4")
return
diff --git a/scripts/expertise/expertise_bm_pet_dodge_1.py b/scripts/expertise/expertise_bm_pet_dodge_1.py
index 17868349..fc36117c 100644
--- a/scripts/expertise/expertise_bm_pet_dodge_1.py
+++ b/scripts/expertise/expertise_bm_pet_dodge_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.addSkill('expertise_bm_pet_dodge_1')
-
- actor.addSkillMod('expertise_pet_dodge', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.removeSkill('expertise_bm_pet_dodge_1')
-
- actor.removeSkillMod('expertise_pet_dodge', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bm_pet_dodge_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bm_pet_dodge_1")
return
diff --git a/scripts/expertise/expertise_bm_pet_dodge_2.py b/scripts/expertise/expertise_bm_pet_dodge_2.py
index 9a6766ad..2341888c 100644
--- a/scripts/expertise/expertise_bm_pet_dodge_2.py
+++ b/scripts/expertise/expertise_bm_pet_dodge_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.addSkill('expertise_bm_pet_dodge_2')
-
- actor.addSkillMod('expertise_pet_dodge', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.removeSkill('expertise_bm_pet_dodge_2')
-
- actor.removeSkillMod('expertise_pet_dodge', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bm_pet_dodge_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bm_pet_dodge_2")
return
diff --git a/scripts/expertise/expertise_bm_pet_dodge_3.py b/scripts/expertise/expertise_bm_pet_dodge_3.py
index 6166d92b..c9a97d17 100644
--- a/scripts/expertise/expertise_bm_pet_dodge_3.py
+++ b/scripts/expertise/expertise_bm_pet_dodge_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.addSkill('expertise_bm_pet_dodge_3')
-
- actor.addSkillMod('expertise_pet_dodge', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.removeSkill('expertise_bm_pet_dodge_3')
-
- actor.removeSkillMod('expertise_pet_dodge', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bm_pet_dodge_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bm_pet_dodge_3")
return
diff --git a/scripts/expertise/expertise_bm_pet_recovery_1.py b/scripts/expertise/expertise_bm_pet_recovery_1.py
index 5ecf5f40..1a956cf2 100644
--- a/scripts/expertise/expertise_bm_pet_recovery_1.py
+++ b/scripts/expertise/expertise_bm_pet_recovery_1.py
@@ -1,46 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.addSkill('expertise_bm_pet_recovery_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.removeSkill('expertise_bm_pet_recovery_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bm_pet_recovery_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bm_pet_recovery_1")
return
diff --git a/scripts/expertise/expertise_bm_pet_recovery_2.py b/scripts/expertise/expertise_bm_pet_recovery_2.py
index ddbf4dae..41c09b07 100644
--- a/scripts/expertise/expertise_bm_pet_recovery_2.py
+++ b/scripts/expertise/expertise_bm_pet_recovery_2.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.addSkill('expertise_bm_pet_recovery_2')
-
- actor.addSkillMod('expertise_bm_pet_revive_time', 5)
- actor.addSkillMod('expertise_bm_pet_recovery', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.removeSkill('expertise_bm_pet_recovery_2')
-
- actor.removeSkillMod('expertise_bm_pet_revive_time', 5)
- actor.removeSkillMod('expertise_bm_pet_recovery', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bm_pet_recovery_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bm_pet_recovery_2")
return
diff --git a/scripts/expertise/expertise_bm_pet_recovery_3.py b/scripts/expertise/expertise_bm_pet_recovery_3.py
index 9be05560..36413c3c 100644
--- a/scripts/expertise/expertise_bm_pet_recovery_3.py
+++ b/scripts/expertise/expertise_bm_pet_recovery_3.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.addSkill('expertise_bm_pet_recovery_3')
-
- actor.addSkillMod('expertise_bm_pet_revive_time', 5)
- actor.addSkillMod('expertise_bm_pet_recovery', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.removeSkill('expertise_bm_pet_recovery_3')
-
- actor.removeSkillMod('expertise_bm_pet_revive_time', 5)
- actor.removeSkillMod('expertise_bm_pet_recovery', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bm_pet_recovery_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bm_pet_recovery_3")
return
diff --git a/scripts/expertise/expertise_bm_savagery_1.py b/scripts/expertise/expertise_bm_savagery_1.py
index 7315df92..27f21562 100644
--- a/scripts/expertise/expertise_bm_savagery_1.py
+++ b/scripts/expertise/expertise_bm_savagery_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.addSkill('expertise_bm_savagery_1')
-
- actor.addSkillMod('expertise_bm_pet_damage', 30)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.removeSkill('expertise_bm_savagery_1')
-
- actor.removeSkillMod('expertise_bm_pet_damage', 30)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bm_savagery_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bm_savagery_1")
return
diff --git a/scripts/expertise/expertise_bm_savagery_2.py b/scripts/expertise/expertise_bm_savagery_2.py
index 31e83042..09c606de 100644
--- a/scripts/expertise/expertise_bm_savagery_2.py
+++ b/scripts/expertise/expertise_bm_savagery_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.addSkill('expertise_bm_savagery_2')
-
- actor.addSkillMod('expertise_bm_pet_damage', 30)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.removeSkill('expertise_bm_savagery_2')
-
- actor.removeSkillMod('expertise_bm_pet_damage', 30)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bm_savagery_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bm_savagery_2")
return
diff --git a/scripts/expertise/expertise_bm_savagery_3.py b/scripts/expertise/expertise_bm_savagery_3.py
index c5619d8d..775c9484 100644
--- a/scripts/expertise/expertise_bm_savagery_3.py
+++ b/scripts/expertise/expertise_bm_savagery_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.addSkill('expertise_bm_savagery_3')
-
- actor.addSkillMod('expertise_bm_pet_damage', 40)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.removeSkill('expertise_bm_savagery_3')
-
- actor.removeSkillMod('expertise_bm_pet_damage', 40)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bm_savagery_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bm_savagery_3")
return
diff --git a/scripts/expertise/expertise_bm_soothing_comfort_1.py b/scripts/expertise/expertise_bm_soothing_comfort_1.py
index 543104f4..53dff95c 100644
--- a/scripts/expertise/expertise_bm_soothing_comfort_1.py
+++ b/scripts/expertise/expertise_bm_soothing_comfort_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.addSkill('expertise_bm_soothing_comfort_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.removeSkill('expertise_bm_soothing_comfort_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('bm_soothing_comfort_1')
-
+ actor.addAbility("bm_soothing_comfort_1")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('bm_soothing_comfort_1')
-
+ actor.removeAbility("bm_soothing_comfort_1")
return
diff --git a/scripts/expertise/expertise_bm_specialized_supplements_1.py b/scripts/expertise/expertise_bm_specialized_supplements_1.py
index 4506f29e..0ea96000 100644
--- a/scripts/expertise/expertise_bm_specialized_supplements_1.py
+++ b/scripts/expertise/expertise_bm_specialized_supplements_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.addSkill('expertise_bm_specialized_supplements_1')
-
- actor.addSkillMod('expertise_bm_pet_regen', 100)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'all_1a':
- return
-
- actor.removeSkill('expertise_bm_specialized_supplements_1')
-
- actor.removeSkillMod('expertise_bm_pet_regen', 100)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_bm_specialized_supplements_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_bm_specialized_supplements_1")
return
diff --git a/scripts/expertise/expertise_co_angled_shrapnel_1.py b/scripts/expertise/expertise_co_angled_shrapnel_1.py
index 0b649f92..c2e3f8ce 100644
--- a/scripts/expertise/expertise_co_angled_shrapnel_1.py
+++ b/scripts/expertise/expertise_co_angled_shrapnel_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_angled_shrapnel_1')
-
- actor.addSkillMod('expertise_area_size_line_co_remote_detonator', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_angled_shrapnel_1')
-
- actor.removeSkillMod('expertise_area_size_line_co_remote_detonator', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_angled_shrapnel_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_angled_shrapnel_1")
return
diff --git a/scripts/expertise/expertise_co_angled_shrapnel_2.py b/scripts/expertise/expertise_co_angled_shrapnel_2.py
index a8801a55..48f5c250 100644
--- a/scripts/expertise/expertise_co_angled_shrapnel_2.py
+++ b/scripts/expertise/expertise_co_angled_shrapnel_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_angled_shrapnel_2')
-
- actor.addSkillMod('expertise_area_size_line_co_remote_detonator', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_angled_shrapnel_2')
-
- actor.removeSkillMod('expertise_area_size_line_co_remote_detonator', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_angled_shrapnel_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_angled_shrapnel_2")
return
diff --git a/scripts/expertise/expertise_co_armor_cracker_1.py b/scripts/expertise/expertise_co_armor_cracker_1.py
index fe7606f0..5843c904 100644
--- a/scripts/expertise/expertise_co_armor_cracker_1.py
+++ b/scripts/expertise/expertise_co_armor_cracker_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_armor_cracker_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_armor_cracker_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('co_armor_cracker')
-
+ actor.addAbility("co_armor_cracker")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('co_armor_cracker')
-
+ actor.removeAbility("co_armor_cracker")
return
diff --git a/scripts/expertise/expertise_co_base_of_operations_1.py b/scripts/expertise/expertise_co_base_of_operations_1.py
index 34f5548a..1e406802 100644
--- a/scripts/expertise/expertise_co_base_of_operations_1.py
+++ b/scripts/expertise/expertise_co_base_of_operations_1.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_base_of_operations_1')
-
- actor.addSkillMod('expertise_co_pos_secured_line_armor', 1000)
- actor.addSkillMod('expertise_co_pos_secured_line_boo_critical', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_base_of_operations_1')
-
- actor.removeSkillMod('expertise_co_pos_secured_line_armor', 1000)
- actor.removeSkillMod('expertise_co_pos_secured_line_boo_critical', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_base_of_operations_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_base_of_operations_1")
return
diff --git a/scripts/expertise/expertise_co_blast_radius_1.py b/scripts/expertise/expertise_co_blast_radius_1.py
index f9c87cc7..1dab9e96 100644
--- a/scripts/expertise/expertise_co_blast_radius_1.py
+++ b/scripts/expertise/expertise_co_blast_radius_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_blast_radius_1')
-
- actor.addSkillMod('expertise_area_size_line_co_grenade', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_blast_radius_1')
-
- actor.removeSkillMod('expertise_area_size_line_co_grenade', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_blast_radius_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_blast_radius_1")
return
diff --git a/scripts/expertise/expertise_co_blast_radius_2.py b/scripts/expertise/expertise_co_blast_radius_2.py
index c640ac02..3cc739c8 100644
--- a/scripts/expertise/expertise_co_blast_radius_2.py
+++ b/scripts/expertise/expertise_co_blast_radius_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_blast_radius_2')
-
- actor.addSkillMod('expertise_area_size_line_co_grenade', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_blast_radius_2')
-
- actor.removeSkillMod('expertise_area_size_line_co_grenade', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_blast_radius_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_blast_radius_2")
return
diff --git a/scripts/expertise/expertise_co_blast_radius_3.py b/scripts/expertise/expertise_co_blast_radius_3.py
index d4263326..d87f0a4b 100644
--- a/scripts/expertise/expertise_co_blast_radius_3.py
+++ b/scripts/expertise/expertise_co_blast_radius_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_blast_radius_3')
-
- actor.addSkillMod('expertise_area_size_line_co_grenade', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_blast_radius_3')
-
- actor.removeSkillMod('expertise_area_size_line_co_grenade', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_blast_radius_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_blast_radius_3")
return
diff --git a/scripts/expertise/expertise_co_blast_radius_4.py b/scripts/expertise/expertise_co_blast_radius_4.py
index 64490261..99d44c0c 100644
--- a/scripts/expertise/expertise_co_blast_radius_4.py
+++ b/scripts/expertise/expertise_co_blast_radius_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_blast_radius_4')
-
- actor.addSkillMod('expertise_area_size_line_co_grenade', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_blast_radius_4')
-
- actor.removeSkillMod('expertise_area_size_line_co_grenade', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_blast_radius_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_blast_radius_4")
return
diff --git a/scripts/expertise/expertise_co_blast_resistance_1.py b/scripts/expertise/expertise_co_blast_resistance_1.py
index 8aff3074..d4b76bda 100644
--- a/scripts/expertise/expertise_co_blast_resistance_1.py
+++ b/scripts/expertise/expertise_co_blast_resistance_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_blast_resistance_1')
-
- actor.addSkillMod('area_damage_resist_full_percentage', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_blast_resistance_1')
-
- actor.removeSkillMod('area_damage_resist_full_percentage', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_blast_resistance_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_blast_resistance_1")
return
diff --git a/scripts/expertise/expertise_co_blast_resistance_2.py b/scripts/expertise/expertise_co_blast_resistance_2.py
index 7efcf286..6596c815 100644
--- a/scripts/expertise/expertise_co_blast_resistance_2.py
+++ b/scripts/expertise/expertise_co_blast_resistance_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_blast_resistance_2')
-
- actor.addSkillMod('area_damage_resist_full_percentage', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_blast_resistance_2')
-
- actor.removeSkillMod('area_damage_resist_full_percentage', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_blast_resistance_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_blast_resistance_2")
return
diff --git a/scripts/expertise/expertise_co_blast_resistance_3.py b/scripts/expertise/expertise_co_blast_resistance_3.py
index 57b839ca..8a5b7bc9 100644
--- a/scripts/expertise/expertise_co_blast_resistance_3.py
+++ b/scripts/expertise/expertise_co_blast_resistance_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_blast_resistance_3')
-
- actor.addSkillMod('area_damage_resist_full_percentage', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_blast_resistance_3')
-
- actor.removeSkillMod('area_damage_resist_full_percentage', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_blast_resistance_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_blast_resistance_3")
return
diff --git a/scripts/expertise/expertise_co_blast_resistance_4.py b/scripts/expertise/expertise_co_blast_resistance_4.py
index 08838e5a..c046b643 100644
--- a/scripts/expertise/expertise_co_blast_resistance_4.py
+++ b/scripts/expertise/expertise_co_blast_resistance_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_blast_resistance_4')
-
- actor.addSkillMod('area_damage_resist_full_percentage', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_blast_resistance_4')
-
- actor.removeSkillMod('area_damage_resist_full_percentage', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_blast_resistance_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_blast_resistance_4")
return
diff --git a/scripts/expertise/expertise_co_blow_em_away_1.py b/scripts/expertise/expertise_co_blow_em_away_1.py
index 829d7e74..3880d17d 100644
--- a/scripts/expertise/expertise_co_blow_em_away_1.py
+++ b/scripts/expertise/expertise_co_blow_em_away_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_blow_em_away_1')
-
- actor.addSkillMod('expertise_co_cluster_bomblet', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_blow_em_away_1')
-
- actor.removeSkillMod('expertise_co_cluster_bomblet', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_blow_em_away_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_blow_em_away_1")
return
diff --git a/scripts/expertise/expertise_co_blow_em_away_2.py b/scripts/expertise/expertise_co_blow_em_away_2.py
index 59dc0e4e..11ca839c 100644
--- a/scripts/expertise/expertise_co_blow_em_away_2.py
+++ b/scripts/expertise/expertise_co_blow_em_away_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_blow_em_away_2')
-
- actor.addSkillMod('expertise_co_cluster_bomblet', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_blow_em_away_2')
-
- actor.removeSkillMod('expertise_co_cluster_bomblet', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_blow_em_away_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_blow_em_away_2")
return
diff --git a/scripts/expertise/expertise_co_burst_fire_1.py b/scripts/expertise/expertise_co_burst_fire_1.py
index f627677e..0522e875 100644
--- a/scripts/expertise/expertise_co_burst_fire_1.py
+++ b/scripts/expertise/expertise_co_burst_fire_1.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_burst_fire_1')
-
- actor.addSkillMod('expertise_co_pos_secured_line_burst_fire_proc', 10)
- actor.addSkillMod('expertise_co_pos_secured_line_burst_fire_devastation_bonus', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_burst_fire_1')
-
- actor.removeSkillMod('expertise_co_pos_secured_line_burst_fire_proc', 10)
- actor.removeSkillMod('expertise_co_pos_secured_line_burst_fire_devastation_bonus', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_burst_fire_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_burst_fire_1")
return
diff --git a/scripts/expertise/expertise_co_burst_fire_2.py b/scripts/expertise/expertise_co_burst_fire_2.py
index ac874237..952ff386 100644
--- a/scripts/expertise/expertise_co_burst_fire_2.py
+++ b/scripts/expertise/expertise_co_burst_fire_2.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_burst_fire_2')
-
- actor.addSkillMod('expertise_co_pos_secured_line_burst_fire_proc', 10)
- actor.addSkillMod('expertise_co_pos_secured_line_burst_fire_devastation_bonus', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_burst_fire_2')
-
- actor.removeSkillMod('expertise_co_pos_secured_line_burst_fire_proc', 10)
- actor.removeSkillMod('expertise_co_pos_secured_line_burst_fire_devastation_bonus', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_burst_fire_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_burst_fire_2")
return
diff --git a/scripts/expertise/expertise_co_cluster_bomb.py b/scripts/expertise/expertise_co_cluster_bomb.py
index 410e0121..5e7a8f05 100644
--- a/scripts/expertise/expertise_co_cluster_bomb.py
+++ b/scripts/expertise/expertise_co_cluster_bomb.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_cluster_bomb')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_cluster_bomb')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('co_cluster_bomb')
-
+ actor.addAbility("co_cluster_bomb")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('co_cluster_bomb')
-
+ actor.removeAbility("co_cluster_bomb")
return
diff --git a/scripts/expertise/expertise_co_deflective_armor_1.py b/scripts/expertise/expertise_co_deflective_armor_1.py
index 540653a9..52b523c5 100644
--- a/scripts/expertise/expertise_co_deflective_armor_1.py
+++ b/scripts/expertise/expertise_co_deflective_armor_1.py
@@ -1,47 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_deflective_armor_1')
-
- actor.addSkillMod('damage_decrease_percentage', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_deflective_armor_1')
-
- actor.removeSkillMod('damage_decrease_percentage', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
+ actor.addAbility("expertise_co_deflective_armor_1")
return
-
+
def removeAbilities(core, actor, player):
-
+ actor.removeAbility("expertise_co_deflective_armor_1")
return
-
\ No newline at end of file
diff --git a/scripts/expertise/expertise_co_deflective_armor_2.py b/scripts/expertise/expertise_co_deflective_armor_2.py
index 0204a191..2ece0722 100644
--- a/scripts/expertise/expertise_co_deflective_armor_2.py
+++ b/scripts/expertise/expertise_co_deflective_armor_2.py
@@ -1,47 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_deflective_armor_2')
-
- actor.addSkillMod('damage_decrease_percentage', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_deflective_armor_2')
-
- actor.removeSkillMod('damage_decrease_percentage', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
+ actor.addAbility("expertise_co_deflective_armor_2")
return
-
+
def removeAbilities(core, actor, player):
-
+ actor.removeAbility("expertise_co_deflective_armor_2")
return
-
\ No newline at end of file
diff --git a/scripts/expertise/expertise_co_deflective_armor_3.py b/scripts/expertise/expertise_co_deflective_armor_3.py
index 65870a67..245175f4 100644
--- a/scripts/expertise/expertise_co_deflective_armor_3.py
+++ b/scripts/expertise/expertise_co_deflective_armor_3.py
@@ -1,47 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_deflective_armor_3')
-
- actor.addSkillMod('damage_decrease_percentage', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_deflective_armor_3')
-
- actor.removeSkillMod('damage_decrease_percentage', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
+ actor.addAbility("expertise_co_deflective_armor_3")
return
-
+
def removeAbilities(core, actor, player):
-
+ actor.removeAbility("expertise_co_deflective_armor_3")
return
-
\ No newline at end of file
diff --git a/scripts/expertise/expertise_co_deflective_armor_4.py b/scripts/expertise/expertise_co_deflective_armor_4.py
index 94d853ef..e3e5d15f 100644
--- a/scripts/expertise/expertise_co_deflective_armor_4.py
+++ b/scripts/expertise/expertise_co_deflective_armor_4.py
@@ -1,47 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_deflective_armor_4')
-
- actor.addSkillMod('damage_decrease_percentage', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_deflective_armor_4')
-
- actor.removeSkillMod('damage_decrease_percentage', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
+ actor.addAbility("expertise_co_deflective_armor_4")
return
-
+
def removeAbilities(core, actor, player):
-
+ actor.removeAbility("expertise_co_deflective_armor_4")
return
-
\ No newline at end of file
diff --git a/scripts/expertise/expertise_co_diagnostic_armor_1.py b/scripts/expertise/expertise_co_diagnostic_armor_1.py
index 5eaac3ad..974a3234 100644
--- a/scripts/expertise/expertise_co_diagnostic_armor_1.py
+++ b/scripts/expertise/expertise_co_diagnostic_armor_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_diagnostic_armor_1')
-
- actor.addSkillMod('expertise_dot_absorption_all', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_diagnostic_armor_1')
-
- actor.removeSkillMod('expertise_dot_absorption_all', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_diagnostic_armor_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_diagnostic_armor_1")
return
diff --git a/scripts/expertise/expertise_co_enhanced_constitution_1.py b/scripts/expertise/expertise_co_enhanced_constitution_1.py
index 8b70e62a..f2320188 100644
--- a/scripts/expertise/expertise_co_enhanced_constitution_1.py
+++ b/scripts/expertise/expertise_co_enhanced_constitution_1.py
@@ -1,47 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_enhanced_constitution_1')
-
- actor.addSkillMod('constitution_modified', 50)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_enhanced_constitution_1')
-
- actor.removeSkillMod('constitution_modified', 50)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
+ actor.addAbility("expertise_co_enhanced_constitution_1")
return
def removeAbilities(core, actor, player):
-
+ actor.removeAbility("expertise_co_enhanced_constitution_1")
return
-
diff --git a/scripts/expertise/expertise_co_enhanced_constitution_2.py b/scripts/expertise/expertise_co_enhanced_constitution_2.py
index e6933f70..4afc434d 100644
--- a/scripts/expertise/expertise_co_enhanced_constitution_2.py
+++ b/scripts/expertise/expertise_co_enhanced_constitution_2.py
@@ -1,47 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_enhanced_constitution_2')
-
- actor.addSkillMod('constitution_modified', 50)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_enhanced_constitution_2')
-
- actor.removeSkillMod('constitution_modified', 50)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
+ actor.addAbility("expertise_co_enhanced_constitution_2")
return
def removeAbilities(core, actor, player):
-
+ actor.removeAbility("expertise_co_enhanced_constitution_2")
return
-
diff --git a/scripts/expertise/expertise_co_enhanced_fuel_cans_1.py b/scripts/expertise/expertise_co_enhanced_fuel_cans_1.py
index a05bf5ea..58cfa70c 100644
--- a/scripts/expertise/expertise_co_enhanced_fuel_cans_1.py
+++ b/scripts/expertise/expertise_co_enhanced_fuel_cans_1.py
@@ -1,52 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_enhanced_fuel_cans_1')
-
- actor.addSkillMod('expertise_action_weapon_12', 5)
- actor.addSkillMod('expertise_action_weapon_13', 5)
- actor.addSkillMod('commando_passive_dot', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_enhanced_fuel_cans_1')
-
- actor.removeSkillMod('expertise_action_weapon_12', 5)
- actor.removeSkillMod('expertise_action_weapon_13', 5)
- actor.removeSkillMod('commando_passive_dot', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_enhanced_fuel_cans_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_enhanced_fuel_cans_1")
return
diff --git a/scripts/expertise/expertise_co_enhanced_fuel_cans_2.py b/scripts/expertise/expertise_co_enhanced_fuel_cans_2.py
index 1a4a142d..f4449372 100644
--- a/scripts/expertise/expertise_co_enhanced_fuel_cans_2.py
+++ b/scripts/expertise/expertise_co_enhanced_fuel_cans_2.py
@@ -1,52 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_enhanced_fuel_cans_2')
-
- actor.addSkillMod('expertise_action_weapon_12', 5)
- actor.addSkillMod('expertise_action_weapon_13', 5)
- actor.addSkillMod('commando_passive_dot', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_enhanced_fuel_cans_2')
-
- actor.removeSkillMod('expertise_action_weapon_12', 5)
- actor.removeSkillMod('expertise_action_weapon_13', 5)
- actor.removeSkillMod('commando_passive_dot', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_enhanced_fuel_cans_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_enhanced_fuel_cans_2")
return
diff --git a/scripts/expertise/expertise_co_enhanced_fuel_cans_3.py b/scripts/expertise/expertise_co_enhanced_fuel_cans_3.py
index 9b8ca94a..9b4f7cd1 100644
--- a/scripts/expertise/expertise_co_enhanced_fuel_cans_3.py
+++ b/scripts/expertise/expertise_co_enhanced_fuel_cans_3.py
@@ -1,52 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_enhanced_fuel_cans_3')
-
- actor.addSkillMod('expertise_action_weapon_12', 5)
- actor.addSkillMod('expertise_action_weapon_13', 5)
- actor.addSkillMod('commando_passive_dot', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_enhanced_fuel_cans_3')
-
- actor.removeSkillMod('expertise_action_weapon_12', 5)
- actor.removeSkillMod('expertise_action_weapon_13', 5)
- actor.removeSkillMod('commando_passive_dot', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_enhanced_fuel_cans_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_enhanced_fuel_cans_3")
return
diff --git a/scripts/expertise/expertise_co_enhanced_fuel_cans_4.py b/scripts/expertise/expertise_co_enhanced_fuel_cans_4.py
index df5fd47f..ab78cd77 100644
--- a/scripts/expertise/expertise_co_enhanced_fuel_cans_4.py
+++ b/scripts/expertise/expertise_co_enhanced_fuel_cans_4.py
@@ -1,52 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_enhanced_fuel_cans_4')
-
- actor.addSkillMod('expertise_action_weapon_12', 5)
- actor.addSkillMod('expertise_action_weapon_13', 5)
- actor.addSkillMod('commando_passive_dot', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_enhanced_fuel_cans_4')
-
- actor.removeSkillMod('expertise_action_weapon_12', 5)
- actor.removeSkillMod('expertise_action_weapon_13', 5)
- actor.removeSkillMod('commando_passive_dot', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_enhanced_fuel_cans_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_enhanced_fuel_cans_4")
return
diff --git a/scripts/expertise/expertise_co_enhanced_precision_1.py b/scripts/expertise/expertise_co_enhanced_precision_1.py
index 8d018a05..250e6d10 100644
--- a/scripts/expertise/expertise_co_enhanced_precision_1.py
+++ b/scripts/expertise/expertise_co_enhanced_precision_1.py
@@ -1,47 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_enhanced_precision_1')
-
- actor.addSkillMod('precision_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_enhanced_precision_1')
-
- actor.removeSkillMod('precision_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
+ actor.addAbility("expertise_co_enhanced_precision_1")
return
def removeAbilities(core, actor, player):
-
+ actor.removeAbility("expertise_co_enhanced_precision_1")
return
-
diff --git a/scripts/expertise/expertise_co_enhanced_precision_2.py b/scripts/expertise/expertise_co_enhanced_precision_2.py
index d8a8f30b..7d965d8c 100644
--- a/scripts/expertise/expertise_co_enhanced_precision_2.py
+++ b/scripts/expertise/expertise_co_enhanced_precision_2.py
@@ -1,46 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_enhanced_precision_2')
-
- actor.addSkillMod('precision_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_enhanced_precision_2')
-
- actor.removeSkillMod('precision_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
+ actor.addAbility("expertise_co_enhanced_precision_2")
return
def removeAbilities(core, actor, player):
-
+ actor.removeAbility("expertise_co_enhanced_precision_2")
return
diff --git a/scripts/expertise/expertise_co_enhanced_stamina_1.py b/scripts/expertise/expertise_co_enhanced_stamina_1.py
index 4de92218..cbdb7744 100644
--- a/scripts/expertise/expertise_co_enhanced_stamina_1.py
+++ b/scripts/expertise/expertise_co_enhanced_stamina_1.py
@@ -1,47 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_enhanced_stamina_1')
-
- actor.addSkillMod('stamina_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_enhanced_stamina_1')
-
- actor.removeSkillMod('stamina_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
+ actor.addAbility("expertise_co_enhanced_stamina_1")
return
def removeAbilities(core, actor, player):
-
+ actor.removeAbility("expertise_co_enhanced_stamina_1")
return
-
diff --git a/scripts/expertise/expertise_co_enhanced_stamina_2.py b/scripts/expertise/expertise_co_enhanced_stamina_2.py
index 7ab0b25a..5afc8f93 100644
--- a/scripts/expertise/expertise_co_enhanced_stamina_2.py
+++ b/scripts/expertise/expertise_co_enhanced_stamina_2.py
@@ -1,46 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_enhanced_stamina_2')
-
- actor.addSkillMod('stamina_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_enhanced_stamina_2')
-
- actor.removeSkillMod('stamina_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
+ actor.addAbility("expertise_co_enhanced_stamina_2")
return
def removeAbilities(core, actor, player):
-
+ actor.removeAbility("expertise_co_enhanced_stamina_2")
return
diff --git a/scripts/expertise/expertise_co_flashbang_1.py b/scripts/expertise/expertise_co_flashbang_1.py
index 5408fa91..74b642c1 100644
--- a/scripts/expertise/expertise_co_flashbang_1.py
+++ b/scripts/expertise/expertise_co_flashbang_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_flashbang_1')
-
- actor.addSkillMod('expertise_co_flash_bang', 50)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_flashbang_1')
-
- actor.removeSkillMod('expertise_co_flash_bang', 50)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_flashbang_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_flashbang_1")
return
diff --git a/scripts/expertise/expertise_co_flashbang_2.py b/scripts/expertise/expertise_co_flashbang_2.py
index 806107a1..bad49ff3 100644
--- a/scripts/expertise/expertise_co_flashbang_2.py
+++ b/scripts/expertise/expertise_co_flashbang_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_flashbang_2')
-
- actor.addSkillMod('expertise_co_flash_bang', 50)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_flashbang_2')
-
- actor.removeSkillMod('expertise_co_flash_bang', 50)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_flashbang_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_flashbang_2")
return
diff --git a/scripts/expertise/expertise_co_focus_beam_1.py b/scripts/expertise/expertise_co_focus_beam_1.py
index b74caea5..0dec8d0a 100644
--- a/scripts/expertise/expertise_co_focus_beam_1.py
+++ b/scripts/expertise/expertise_co_focus_beam_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_focus_beam_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_focus_beam_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('co_hw_dm_1')
-
+ actor.addAbility("co_hw_dm_1")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('co_hw_dm_1')
-
+ actor.removeAbility("co_hw_dm_1")
return
diff --git a/scripts/expertise/expertise_co_general_enhanced_luck_1.py b/scripts/expertise/expertise_co_general_enhanced_luck_1.py
index 6f6319ab..8f303625 100644
--- a/scripts/expertise/expertise_co_general_enhanced_luck_1.py
+++ b/scripts/expertise/expertise_co_general_enhanced_luck_1.py
@@ -1,47 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_general_enhanced_luck_1')
-
- actor.addSkillMod('luck_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_general_enhanced_luck_1')
-
- actor.removeSkillMod('luck_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
+ actor.addAbility("expertise_co_general_enhanced_luck_1")
return
def removeAbilities(core, actor, player):
-
+ actor.removeAbility("expertise_co_general_enhanced_luck_1")
return
-
diff --git a/scripts/expertise/expertise_co_general_enhanced_luck_2.py b/scripts/expertise/expertise_co_general_enhanced_luck_2.py
index 2e626644..598a9a1d 100644
--- a/scripts/expertise/expertise_co_general_enhanced_luck_2.py
+++ b/scripts/expertise/expertise_co_general_enhanced_luck_2.py
@@ -1,47 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_general_enhanced_luck_2')
-
- actor.addSkillMod('luck_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_general_enhanced_luck_2')
-
- actor.removeSkillMod('luck_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
+ actor.addAbility("expertise_co_general_enhanced_luck_2")
return
def removeAbilities(core, actor, player):
-
+ actor.removeAbility("expertise_co_general_enhanced_luck_2")
return
-
diff --git a/scripts/expertise/expertise_co_heavy_ammunition_1.py b/scripts/expertise/expertise_co_heavy_ammunition_1.py
index 86e9e6d5..90f370b1 100644
--- a/scripts/expertise/expertise_co_heavy_ammunition_1.py
+++ b/scripts/expertise/expertise_co_heavy_ammunition_1.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_heavy_ammunition_1')
-
- actor.addSkillMod('expertise_damage_weapon_0', 2)
- actor.addSkillMod('expertise_damage_weapon_1', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_heavy_ammunition_1')
-
- actor.removeSkillMod('expertise_damage_weapon_0', 2)
- actor.removeSkillMod('expertise_damage_weapon_1', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_heavy_ammunition_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_heavy_ammunition_1")
return
diff --git a/scripts/expertise/expertise_co_heavy_ammunition_2.py b/scripts/expertise/expertise_co_heavy_ammunition_2.py
index 82c48ece..cd20a2e4 100644
--- a/scripts/expertise/expertise_co_heavy_ammunition_2.py
+++ b/scripts/expertise/expertise_co_heavy_ammunition_2.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_heavy_ammunition_2')
-
- actor.addSkillMod('expertise_damage_weapon_0', 2)
- actor.addSkillMod('expertise_damage_weapon_1', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_heavy_ammunition_2')
-
- actor.removeSkillMod('expertise_damage_weapon_0', 2)
- actor.removeSkillMod('expertise_damage_weapon_1', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_heavy_ammunition_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_heavy_ammunition_2")
return
diff --git a/scripts/expertise/expertise_co_heavy_ammunition_3.py b/scripts/expertise/expertise_co_heavy_ammunition_3.py
index c87f41dd..07492f2a 100644
--- a/scripts/expertise/expertise_co_heavy_ammunition_3.py
+++ b/scripts/expertise/expertise_co_heavy_ammunition_3.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_heavy_ammunition_3')
-
- actor.addSkillMod('expertise_damage_weapon_0', 2)
- actor.addSkillMod('expertise_damage_weapon_1', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_heavy_ammunition_3')
-
- actor.removeSkillMod('expertise_damage_weapon_0', 2)
- actor.removeSkillMod('expertise_damage_weapon_1', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_heavy_ammunition_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_heavy_ammunition_3")
return
diff --git a/scripts/expertise/expertise_co_heavy_ammunition_4.py b/scripts/expertise/expertise_co_heavy_ammunition_4.py
index 20577637..5bbd826a 100644
--- a/scripts/expertise/expertise_co_heavy_ammunition_4.py
+++ b/scripts/expertise/expertise_co_heavy_ammunition_4.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_heavy_ammunition_4')
-
- actor.addSkillMod('expertise_damage_weapon_0', 2)
- actor.addSkillMod('expertise_damage_weapon_1', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_heavy_ammunition_4')
-
- actor.removeSkillMod('expertise_damage_weapon_0', 2)
- actor.removeSkillMod('expertise_damage_weapon_1', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_heavy_ammunition_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_heavy_ammunition_4")
return
diff --git a/scripts/expertise/expertise_co_hose_down_1.py b/scripts/expertise/expertise_co_hose_down_1.py
index bc6dfcfc..466d938a 100644
--- a/scripts/expertise/expertise_co_hose_down_1.py
+++ b/scripts/expertise/expertise_co_hose_down_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_hose_down_1')
-
- actor.addSkillMod('expertise_action_line_co_dm', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_hose_down_1')
-
- actor.removeSkillMod('expertise_action_line_co_dm', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_hose_down_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_hose_down_1")
return
diff --git a/scripts/expertise/expertise_co_hose_down_2.py b/scripts/expertise/expertise_co_hose_down_2.py
index e4944ff0..5b631478 100644
--- a/scripts/expertise/expertise_co_hose_down_2.py
+++ b/scripts/expertise/expertise_co_hose_down_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_hose_down_2')
-
- actor.addSkillMod('expertise_action_line_co_dm', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_hose_down_2')
-
- actor.removeSkillMod('expertise_action_line_co_dm', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_hose_down_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_hose_down_2")
return
diff --git a/scripts/expertise/expertise_co_imp_position_secured_1.py b/scripts/expertise/expertise_co_imp_position_secured_1.py
index 76c5c253..26286412 100644
--- a/scripts/expertise/expertise_co_imp_position_secured_1.py
+++ b/scripts/expertise/expertise_co_imp_position_secured_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_imp_position_secured_1')
-
- actor.addSkillMod('expertise_action_line_co_imp_pos_sec', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_imp_position_secured_1')
-
- actor.removeSkillMod('expertise_action_line_co_imp_pos_sec', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_imp_position_secured_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_imp_position_secured_1")
return
diff --git a/scripts/expertise/expertise_co_imp_position_secured_2.py b/scripts/expertise/expertise_co_imp_position_secured_2.py
index c4caa65e..2a134cd0 100644
--- a/scripts/expertise/expertise_co_imp_position_secured_2.py
+++ b/scripts/expertise/expertise_co_imp_position_secured_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_imp_position_secured_2')
-
- actor.addSkillMod('expertise_action_line_co_imp_pos_sec', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_imp_position_secured_2')
-
- actor.removeSkillMod('expertise_action_line_co_imp_pos_sec', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_imp_position_secured_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_imp_position_secured_2")
return
diff --git a/scripts/expertise/expertise_co_imp_position_secured_3.py b/scripts/expertise/expertise_co_imp_position_secured_3.py
index eecc94ca..f18a8164 100644
--- a/scripts/expertise/expertise_co_imp_position_secured_3.py
+++ b/scripts/expertise/expertise_co_imp_position_secured_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_imp_position_secured_3')
-
- actor.addSkillMod('expertise_action_line_co_imp_pos_sec', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_imp_position_secured_3')
-
- actor.removeSkillMod('expertise_action_line_co_imp_pos_sec', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_imp_position_secured_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_imp_position_secured_3")
return
diff --git a/scripts/expertise/expertise_co_imp_riddle_armor_1.py b/scripts/expertise/expertise_co_imp_riddle_armor_1.py
index e05eaba7..2c83b9e3 100644
--- a/scripts/expertise/expertise_co_imp_riddle_armor_1.py
+++ b/scripts/expertise/expertise_co_imp_riddle_armor_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_imp_riddle_armor_1')
-
- actor.addSkillMod('expertise_cooldown_line_co_riddle_armor', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_imp_riddle_armor_1')
-
- actor.removeSkillMod('expertise_cooldown_line_co_riddle_armor', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_imp_riddle_armor_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_imp_riddle_armor_1")
return
diff --git a/scripts/expertise/expertise_co_imp_riddle_armor_2.py b/scripts/expertise/expertise_co_imp_riddle_armor_2.py
index a6c99f37..be67095b 100644
--- a/scripts/expertise/expertise_co_imp_riddle_armor_2.py
+++ b/scripts/expertise/expertise_co_imp_riddle_armor_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_imp_riddle_armor_2')
-
- actor.addSkillMod('expertise_cooldown_line_co_riddle_armor', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_imp_riddle_armor_2')
-
- actor.removeSkillMod('expertise_cooldown_line_co_riddle_armor', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_imp_riddle_armor_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_imp_riddle_armor_2")
return
diff --git a/scripts/expertise/expertise_co_imp_stand_fast_1.py b/scripts/expertise/expertise_co_imp_stand_fast_1.py
index aa2b8fdd..e1c77d58 100644
--- a/scripts/expertise/expertise_co_imp_stand_fast_1.py
+++ b/scripts/expertise/expertise_co_imp_stand_fast_1.py
@@ -1,52 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_imp_stand_fast_1')
-
- actor.addSkillMod('expertise_damage_decrease_percentage', 5)
- actor.addSkillMod('expertise_buff_duration_line_co_stand_fast', 2)
- actor.addSkillMod('expertise_cooldown_line_co_stand_fast', 120)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_imp_stand_fast_1')
-
- actor.removeSkillMod('expertise_damage_decrease_percentage', 5)
- actor.removeSkillMod('expertise_buff_duration_line_co_stand_fast', 2)
- actor.removeSkillMod('expertise_cooldown_line_co_stand_fast', 120)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_imp_stand_fast_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_imp_stand_fast_1")
return
diff --git a/scripts/expertise/expertise_co_imp_stand_fast_2.py b/scripts/expertise/expertise_co_imp_stand_fast_2.py
index d5d1f95e..b4daa5e8 100644
--- a/scripts/expertise/expertise_co_imp_stand_fast_2.py
+++ b/scripts/expertise/expertise_co_imp_stand_fast_2.py
@@ -1,52 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_imp_stand_fast_2')
-
- actor.addSkillMod('expertise_damage_decrease_percentage', 5)
- actor.addSkillMod('expertise_buff_duration_line_co_stand_fast', 2)
- actor.addSkillMod('expertise_cooldown_line_co_stand_fast', 120)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_imp_stand_fast_2')
-
- actor.removeSkillMod('expertise_damage_decrease_percentage', 5)
- actor.removeSkillMod('expertise_buff_duration_line_co_stand_fast', 2)
- actor.removeSkillMod('expertise_cooldown_line_co_stand_fast', 120)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_imp_stand_fast_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_imp_stand_fast_2")
return
diff --git a/scripts/expertise/expertise_co_imp_stand_fast_3.py b/scripts/expertise/expertise_co_imp_stand_fast_3.py
index 1cc88783..9e3ddf52 100644
--- a/scripts/expertise/expertise_co_imp_stand_fast_3.py
+++ b/scripts/expertise/expertise_co_imp_stand_fast_3.py
@@ -1,52 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_imp_stand_fast_3')
-
- actor.addSkillMod('expertise_damage_decrease_percentage', 5)
- actor.addSkillMod('expertise_buff_duration_line_co_stand_fast', 2)
- actor.addSkillMod('expertise_cooldown_line_co_stand_fast', 120)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_imp_stand_fast_3')
-
- actor.removeSkillMod('expertise_damage_decrease_percentage', 5)
- actor.removeSkillMod('expertise_buff_duration_line_co_stand_fast', 2)
- actor.removeSkillMod('expertise_cooldown_line_co_stand_fast', 120)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_imp_stand_fast_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_imp_stand_fast_3")
return
diff --git a/scripts/expertise/expertise_co_improved_explosives_1.py b/scripts/expertise/expertise_co_improved_explosives_1.py
index d4c61b00..7479e8d1 100644
--- a/scripts/expertise/expertise_co_improved_explosives_1.py
+++ b/scripts/expertise/expertise_co_improved_explosives_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_improved_explosives_1')
-
- actor.addSkillMod('expertise_damage_line_co_remote_detonator', 75)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_improved_explosives_1')
-
- actor.removeSkillMod('expertise_damage_line_co_remote_detonator', 75)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_improved_explosives_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_improved_explosives_1")
return
diff --git a/scripts/expertise/expertise_co_improved_explosives_2.py b/scripts/expertise/expertise_co_improved_explosives_2.py
index 088ad931..485df881 100644
--- a/scripts/expertise/expertise_co_improved_explosives_2.py
+++ b/scripts/expertise/expertise_co_improved_explosives_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_improved_explosives_2')
-
- actor.addSkillMod('expertise_damage_line_co_remote_detonator', 75)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_improved_explosives_2')
-
- actor.removeSkillMod('expertise_damage_line_co_remote_detonator', 75)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_improved_explosives_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_improved_explosives_2")
return
diff --git a/scripts/expertise/expertise_co_improved_explosives_3.py b/scripts/expertise/expertise_co_improved_explosives_3.py
index 36f59b79..3abcab9b 100644
--- a/scripts/expertise/expertise_co_improved_explosives_3.py
+++ b/scripts/expertise/expertise_co_improved_explosives_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_improved_explosives_3')
-
- actor.addSkillMod('expertise_damage_line_co_remote_detonator', 75)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_improved_explosives_3')
-
- actor.removeSkillMod('expertise_damage_line_co_remote_detonator', 75)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_improved_explosives_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_improved_explosives_3")
return
diff --git a/scripts/expertise/expertise_co_improved_explosives_4.py b/scripts/expertise/expertise_co_improved_explosives_4.py
index 0388018e..99b4e564 100644
--- a/scripts/expertise/expertise_co_improved_explosives_4.py
+++ b/scripts/expertise/expertise_co_improved_explosives_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_improved_explosives_4')
-
- actor.addSkillMod('expertise_damage_line_co_remote_detonator', 75)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_improved_explosives_4')
-
- actor.removeSkillMod('expertise_damage_line_co_remote_detonator', 75)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_improved_explosives_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_improved_explosives_4")
return
diff --git a/scripts/expertise/expertise_co_keen_eye_1.py b/scripts/expertise/expertise_co_keen_eye_1.py
index 03a62449..b03ebc46 100644
--- a/scripts/expertise/expertise_co_keen_eye_1.py
+++ b/scripts/expertise/expertise_co_keen_eye_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_keen_eye_1')
-
- actor.addSkillMod('expertise_range_bonus_ranged', 4)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_keen_eye_1')
-
- actor.removeSkillMod('expertise_range_bonus_ranged', 4)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_keen_eye_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_keen_eye_1")
return
diff --git a/scripts/expertise/expertise_co_keen_eye_2.py b/scripts/expertise/expertise_co_keen_eye_2.py
index b5fcd60b..aff4527a 100644
--- a/scripts/expertise/expertise_co_keen_eye_2.py
+++ b/scripts/expertise/expertise_co_keen_eye_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_keen_eye_2')
-
- actor.addSkillMod('expertise_range_bonus_ranged', 4)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_keen_eye_2')
-
- actor.removeSkillMod('expertise_range_bonus_ranged', 4)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_keen_eye_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_keen_eye_2")
return
diff --git a/scripts/expertise/expertise_co_killing_grimace_1.py b/scripts/expertise/expertise_co_killing_grimace_1.py
index 18b03ffe..091846d5 100644
--- a/scripts/expertise/expertise_co_killing_grimace_1.py
+++ b/scripts/expertise/expertise_co_killing_grimace_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_killing_grimace_1')
-
- actor.addSkillMod('expertise_co_killing_spree_target', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_killing_grimace_1')
-
- actor.removeSkillMod('expertise_co_killing_spree_target', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_killing_grimace_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_killing_grimace_1")
return
diff --git a/scripts/expertise/expertise_co_killing_grimace_2.py b/scripts/expertise/expertise_co_killing_grimace_2.py
index 0c1ca2e8..ad8ee400 100644
--- a/scripts/expertise/expertise_co_killing_grimace_2.py
+++ b/scripts/expertise/expertise_co_killing_grimace_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_killing_grimace_2')
-
- actor.addSkillMod('expertise_co_killing_spree_target', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_killing_grimace_2')
-
- actor.removeSkillMod('expertise_co_killing_spree_target', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_killing_grimace_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_killing_grimace_2")
return
diff --git a/scripts/expertise/expertise_co_killing_spree.py b/scripts/expertise/expertise_co_killing_spree.py
index 915251d0..c17421ae 100644
--- a/scripts/expertise/expertise_co_killing_spree.py
+++ b/scripts/expertise/expertise_co_killing_spree.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_killing_spree')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_killing_spree')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('co_killing_spree')
-
+ actor.addAbility("co_killing_spree")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('co_killing_spree')
-
+ actor.removeAbility("co_killing_spree")
return
diff --git a/scripts/expertise/expertise_co_lethal_beam_1.py b/scripts/expertise/expertise_co_lethal_beam_1.py
index 4a96f6d4..25d0a5a5 100644
--- a/scripts/expertise/expertise_co_lethal_beam_1.py
+++ b/scripts/expertise/expertise_co_lethal_beam_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_lethal_beam_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_lethal_beam_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('co_hw_dm_crit_1')
-
+ actor.addAbility("co_hw_dm_crit_1")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('co_hw_dm_crit_1')
-
+ actor.removeAbility("co_hw_dm_crit_1")
return
diff --git a/scripts/expertise/expertise_co_marksman_1.py b/scripts/expertise/expertise_co_marksman_1.py
index 431a914c..c57aa617 100644
--- a/scripts/expertise/expertise_co_marksman_1.py
+++ b/scripts/expertise/expertise_co_marksman_1.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_marksman_1')
-
- actor.addSkillMod('expertise_action_rifle', 4)
- actor.addSkillMod('expertise_action_carbine', 4)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_marksman_1')
-
- actor.removeSkillMod('expertise_action_rifle', 4)
- actor.removeSkillMod('expertise_action_carbine', 4)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_marksman_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_marksman_1")
return
diff --git a/scripts/expertise/expertise_co_marksman_2.py b/scripts/expertise/expertise_co_marksman_2.py
index 578f6bfc..7f74b950 100644
--- a/scripts/expertise/expertise_co_marksman_2.py
+++ b/scripts/expertise/expertise_co_marksman_2.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_marksman_2')
-
- actor.addSkillMod('expertise_action_rifle', 4)
- actor.addSkillMod('expertise_action_carbine', 4)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_marksman_2')
-
- actor.removeSkillMod('expertise_action_rifle', 4)
- actor.removeSkillMod('expertise_action_carbine', 4)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_marksman_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_marksman_2")
return
diff --git a/scripts/expertise/expertise_co_marksman_3.py b/scripts/expertise/expertise_co_marksman_3.py
index 39027c30..27c8b759 100644
--- a/scripts/expertise/expertise_co_marksman_3.py
+++ b/scripts/expertise/expertise_co_marksman_3.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_marksman_3')
-
- actor.addSkillMod('expertise_action_rifle', 4)
- actor.addSkillMod('expertise_action_carbine', 4)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_marksman_3')
-
- actor.removeSkillMod('expertise_action_rifle', 4)
- actor.removeSkillMod('expertise_action_carbine', 4)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_marksman_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_marksman_3")
return
diff --git a/scripts/expertise/expertise_co_mirror_armor_1.py b/scripts/expertise/expertise_co_mirror_armor_1.py
index ce6c5cb5..dfb9397d 100644
--- a/scripts/expertise/expertise_co_mirror_armor_1.py
+++ b/scripts/expertise/expertise_co_mirror_armor_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_mirror_armor_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_mirror_armor_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('co_mirror_armor')
-
+ actor.addAbility("co_mirror_armor")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('co_mirror_armor')
-
+ actor.removeAbility("co_mirror_armor")
return
diff --git a/scripts/expertise/expertise_co_on_target_1.py b/scripts/expertise/expertise_co_on_target_1.py
index 7ed1aa7e..f652cbd2 100644
--- a/scripts/expertise/expertise_co_on_target_1.py
+++ b/scripts/expertise/expertise_co_on_target_1.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_on_target_1')
-
- actor.addSkillMod('expertise_co_pos_secured_line_critical', 2)
- actor.addSkillMod('expertise_co_pos_secured_line_protection', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_on_target_1')
-
- actor.removeSkillMod('expertise_co_pos_secured_line_critical', 2)
- actor.removeSkillMod('expertise_co_pos_secured_line_protection', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_on_target_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_on_target_1")
return
diff --git a/scripts/expertise/expertise_co_on_target_2.py b/scripts/expertise/expertise_co_on_target_2.py
index bf31c706..b51e92a9 100644
--- a/scripts/expertise/expertise_co_on_target_2.py
+++ b/scripts/expertise/expertise_co_on_target_2.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_on_target_2')
-
- actor.addSkillMod('expertise_co_pos_secured_line_critical', 2)
- actor.addSkillMod('expertise_co_pos_secured_line_protection', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_on_target_2')
-
- actor.removeSkillMod('expertise_co_pos_secured_line_critical', 2)
- actor.removeSkillMod('expertise_co_pos_secured_line_protection', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_on_target_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_on_target_2")
return
diff --git a/scripts/expertise/expertise_co_on_target_3.py b/scripts/expertise/expertise_co_on_target_3.py
index 9cca1f5d..5456ca93 100644
--- a/scripts/expertise/expertise_co_on_target_3.py
+++ b/scripts/expertise/expertise_co_on_target_3.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_on_target_3')
-
- actor.addSkillMod('expertise_co_pos_secured_line_critical', 2)
- actor.addSkillMod('expertise_co_pos_secured_line_protection', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_on_target_3')
-
- actor.removeSkillMod('expertise_co_pos_secured_line_critical', 2)
- actor.removeSkillMod('expertise_co_pos_secured_line_protection', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_on_target_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_on_target_3")
return
diff --git a/scripts/expertise/expertise_co_on_target_4.py b/scripts/expertise/expertise_co_on_target_4.py
index e9a0a325..b750b412 100644
--- a/scripts/expertise/expertise_co_on_target_4.py
+++ b/scripts/expertise/expertise_co_on_target_4.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_on_target_4')
-
- actor.addSkillMod('expertise_co_pos_secured_line_critical', 2)
- actor.addSkillMod('expertise_co_pos_secured_line_protection', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_on_target_4')
-
- actor.removeSkillMod('expertise_co_pos_secured_line_critical', 2)
- actor.removeSkillMod('expertise_co_pos_secured_line_protection', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_on_target_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_on_target_4")
return
diff --git a/scripts/expertise/expertise_co_packed_explosives_1.py b/scripts/expertise/expertise_co_packed_explosives_1.py
index da5644ab..fa57097c 100644
--- a/scripts/expertise/expertise_co_packed_explosives_1.py
+++ b/scripts/expertise/expertise_co_packed_explosives_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_packed_explosives_1')
-
- actor.addSkillMod('expertise_damage_line_co_grenade', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_packed_explosives_1')
-
- actor.removeSkillMod('expertise_damage_line_co_grenade', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_packed_explosives_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_packed_explosives_1")
return
diff --git a/scripts/expertise/expertise_co_packed_explosives_2.py b/scripts/expertise/expertise_co_packed_explosives_2.py
index ee0655e3..288e1944 100644
--- a/scripts/expertise/expertise_co_packed_explosives_2.py
+++ b/scripts/expertise/expertise_co_packed_explosives_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_packed_explosives_2')
-
- actor.addSkillMod('expertise_damage_line_co_grenade', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_packed_explosives_2')
-
- actor.removeSkillMod('expertise_damage_line_co_grenade', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_packed_explosives_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_packed_explosives_2")
return
diff --git a/scripts/expertise/expertise_co_packed_explosives_3.py b/scripts/expertise/expertise_co_packed_explosives_3.py
index 0bdf9fde..8f61f39d 100644
--- a/scripts/expertise/expertise_co_packed_explosives_3.py
+++ b/scripts/expertise/expertise_co_packed_explosives_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_packed_explosives_3')
-
- actor.addSkillMod('expertise_damage_line_co_grenade', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_packed_explosives_3')
-
- actor.removeSkillMod('expertise_damage_line_co_grenade', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_packed_explosives_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_packed_explosives_3")
return
diff --git a/scripts/expertise/expertise_co_packed_explosives_4.py b/scripts/expertise/expertise_co_packed_explosives_4.py
index e8ca7037..efd1b2a9 100644
--- a/scripts/expertise/expertise_co_packed_explosives_4.py
+++ b/scripts/expertise/expertise_co_packed_explosives_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_packed_explosives_4')
-
- actor.addSkillMod('expertise_damage_line_co_grenade', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_packed_explosives_4')
-
- actor.removeSkillMod('expertise_damage_line_co_grenade', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_packed_explosives_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_packed_explosives_4")
return
diff --git a/scripts/expertise/expertise_co_pinpoint_shielding_1.py b/scripts/expertise/expertise_co_pinpoint_shielding_1.py
index c8cc7ca7..1937db02 100644
--- a/scripts/expertise/expertise_co_pinpoint_shielding_1.py
+++ b/scripts/expertise/expertise_co_pinpoint_shielding_1.py
@@ -1,57 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_pinpoint_shielding_1')
-
- actor.addSkillMod('energy', 250)
- actor.addSkillMod('kinetic', 250)
- actor.addSkillMod('acid', 250)
- actor.addSkillMod('heat', 250)
- actor.addSkillMod('cold', 250)
- actor.addSkillMod('electricity', 250)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_pinpoint_shielding_1')
-
- actor.removeSkillMod('energy', 250)
- actor.removeSkillMod('kinetic', 250)
- actor.removeSkillMod('acid', 250)
- actor.removeSkillMod('heat', 250)
- actor.removeSkillMod('cold', 250)
- actor.removeSkillMod('electricity', 250)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
+ actor.addAbility("expertise_co_pinpoint_shielding_1")
return
-
+
def removeAbilities(core, actor, player):
-
+ actor.removeAbility("expertise_co_pinpoint_shielding_1")
return
-
\ No newline at end of file
diff --git a/scripts/expertise/expertise_co_pinpoint_shielding_2.py b/scripts/expertise/expertise_co_pinpoint_shielding_2.py
index f311375b..c3ad2200 100644
--- a/scripts/expertise/expertise_co_pinpoint_shielding_2.py
+++ b/scripts/expertise/expertise_co_pinpoint_shielding_2.py
@@ -1,57 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_pinpoint_shielding_2')
-
- actor.addSkillMod('energy', 250)
- actor.addSkillMod('kinetic', 250)
- actor.addSkillMod('acid', 250)
- actor.addSkillMod('heat', 250)
- actor.addSkillMod('cold', 250)
- actor.addSkillMod('electricity', 250)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_pinpoint_shielding_2')
-
- actor.removeSkillMod('energy', 250)
- actor.removeSkillMod('kinetic', 250)
- actor.removeSkillMod('acid', 250)
- actor.removeSkillMod('heat', 250)
- actor.removeSkillMod('cold', 250)
- actor.removeSkillMod('electricity', 250)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
+ actor.addAbility("expertise_co_pinpoint_shielding_2")
return
-
+
def removeAbilities(core, actor, player):
-
+ actor.removeAbility("expertise_co_pinpoint_shielding_2")
return
-
\ No newline at end of file
diff --git a/scripts/expertise/expertise_co_pinpoint_shielding_3.py b/scripts/expertise/expertise_co_pinpoint_shielding_3.py
index e06a60e5..02c5884e 100644
--- a/scripts/expertise/expertise_co_pinpoint_shielding_3.py
+++ b/scripts/expertise/expertise_co_pinpoint_shielding_3.py
@@ -1,57 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_pinpoint_shielding_3')
-
- actor.addSkillMod('energy', 250)
- actor.addSkillMod('kinetic', 250)
- actor.addSkillMod('acid', 250)
- actor.addSkillMod('heat', 250)
- actor.addSkillMod('cold', 250)
- actor.addSkillMod('electricity', 250)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_pinpoint_shielding_3')
-
- actor.removeSkillMod('energy', 250)
- actor.removeSkillMod('kinetic', 250)
- actor.removeSkillMod('acid', 250)
- actor.removeSkillMod('heat', 250)
- actor.removeSkillMod('cold', 250)
- actor.removeSkillMod('electricity', 250)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
+ actor.addAbility("expertise_co_pinpoint_shielding_3")
return
-
+
def removeAbilities(core, actor, player):
-
+ actor.removeAbility("expertise_co_pinpoint_shielding_3")
return
-
\ No newline at end of file
diff --git a/scripts/expertise/expertise_co_pinpoint_shielding_4.py b/scripts/expertise/expertise_co_pinpoint_shielding_4.py
index c910bccb..f85df1de 100644
--- a/scripts/expertise/expertise_co_pinpoint_shielding_4.py
+++ b/scripts/expertise/expertise_co_pinpoint_shielding_4.py
@@ -1,57 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_pinpoint_shielding_4')
-
- actor.addSkillMod('energy', 250)
- actor.addSkillMod('kinetic', 250)
- actor.addSkillMod('acid', 250)
- actor.addSkillMod('heat', 250)
- actor.addSkillMod('cold', 250)
- actor.addSkillMod('electricity', 250)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_pinpoint_shielding_4')
-
- actor.removeSkillMod('energy', 250)
- actor.removeSkillMod('kinetic', 250)
- actor.removeSkillMod('acid', 250)
- actor.removeSkillMod('heat', 250)
- actor.removeSkillMod('cold', 250)
- actor.removeSkillMod('electricity', 250)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
+ actor.addAbility("expertise_co_pinpoint_shielding_4")
return
-
+
def removeAbilities(core, actor, player):
-
+ actor.removeAbility("expertise_co_pinpoint_shielding_4")
return
-
\ No newline at end of file
diff --git a/scripts/expertise/expertise_co_position_secured_1.py b/scripts/expertise/expertise_co_position_secured_1.py
index dfee8b0a..d2427d08 100644
--- a/scripts/expertise/expertise_co_position_secured_1.py
+++ b/scripts/expertise/expertise_co_position_secured_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_position_secured_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_position_secured_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('co_position_secured')
-
+ actor.addAbility("co_position_secured")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('co_position_secured')
-
+ actor.removeAbility("co_position_secured")
return
diff --git a/scripts/expertise/expertise_co_powered_armor_1.py b/scripts/expertise/expertise_co_powered_armor_1.py
index 0cd9dc3d..58530d57 100644
--- a/scripts/expertise/expertise_co_powered_armor_1.py
+++ b/scripts/expertise/expertise_co_powered_armor_1.py
@@ -1,57 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_powered_armor_1')
-
- actor.addSkillMod('energy', 250)
- actor.addSkillMod('kinetic', 250)
- actor.addSkillMod('acid', 250)
- actor.addSkillMod('heat', 250)
- actor.addSkillMod('cold', 250)
- actor.addSkillMod('electricity', 250)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_powered_armor_1')
-
- actor.removeSkillMod('energy', 250)
- actor.removeSkillMod('kinetic', 250)
- actor.removeSkillMod('acid', 250)
- actor.removeSkillMod('heat', 250)
- actor.removeSkillMod('cold', 250)
- actor.removeSkillMod('electricity', 250)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
+ actor.addAbility("expertise_co_powered_armor_1")
return
-
+
def removeAbilities(core, actor, player):
-
+ actor.removeAbility("expertise_co_powered_armor_1")
return
-
\ No newline at end of file
diff --git a/scripts/expertise/expertise_co_powered_armor_2.py b/scripts/expertise/expertise_co_powered_armor_2.py
index df2d0051..e9ea79e9 100644
--- a/scripts/expertise/expertise_co_powered_armor_2.py
+++ b/scripts/expertise/expertise_co_powered_armor_2.py
@@ -1,57 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_powered_armor_2')
-
- actor.addSkillMod('energy', 250)
- actor.addSkillMod('kinetic', 250)
- actor.addSkillMod('acid', 250)
- actor.addSkillMod('heat', 250)
- actor.addSkillMod('cold', 250)
- actor.addSkillMod('electricity', 250)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_powered_armor_2')
-
- actor.removeSkillMod('energy', 250)
- actor.removeSkillMod('kinetic', 250)
- actor.removeSkillMod('acid', 250)
- actor.removeSkillMod('heat', 250)
- actor.removeSkillMod('cold', 250)
- actor.removeSkillMod('electricity', 250)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
+ actor.addAbility("expertise_co_powered_armor_2")
return
-
+
def removeAbilities(core, actor, player):
-
+ actor.removeAbility("expertise_co_powered_armor_2")
return
-
\ No newline at end of file
diff --git a/scripts/expertise/expertise_co_powered_armor_3.py b/scripts/expertise/expertise_co_powered_armor_3.py
index f0d1fe7f..5cba60e6 100644
--- a/scripts/expertise/expertise_co_powered_armor_3.py
+++ b/scripts/expertise/expertise_co_powered_armor_3.py
@@ -1,57 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_powered_armor_3')
-
- actor.addSkillMod('energy', 250)
- actor.addSkillMod('kinetic', 250)
- actor.addSkillMod('acid', 250)
- actor.addSkillMod('heat', 250)
- actor.addSkillMod('cold', 250)
- actor.addSkillMod('electricity', 250)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_powered_armor_3')
-
- actor.removeSkillMod('energy', 250)
- actor.removeSkillMod('kinetic', 250)
- actor.removeSkillMod('acid', 250)
- actor.removeSkillMod('heat', 250)
- actor.removeSkillMod('cold', 250)
- actor.removeSkillMod('electricity', 250)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
+ actor.addAbility("expertise_co_powered_armor_3")
return
-
+
def removeAbilities(core, actor, player):
-
+ actor.removeAbility("expertise_co_powered_armor_3")
return
-
\ No newline at end of file
diff --git a/scripts/expertise/expertise_co_powered_armor_4.py b/scripts/expertise/expertise_co_powered_armor_4.py
index 9b0e2f44..b10f5264 100644
--- a/scripts/expertise/expertise_co_powered_armor_4.py
+++ b/scripts/expertise/expertise_co_powered_armor_4.py
@@ -1,57 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_powered_armor_4')
-
- actor.addSkillMod('energy', 250)
- actor.addSkillMod('kinetic', 250)
- actor.addSkillMod('acid', 250)
- actor.addSkillMod('heat', 250)
- actor.addSkillMod('cold', 250)
- actor.addSkillMod('electricity', 250)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_powered_armor_4')
-
- actor.removeSkillMod('energy', 250)
- actor.removeSkillMod('kinetic', 250)
- actor.removeSkillMod('acid', 250)
- actor.removeSkillMod('heat', 250)
- actor.removeSkillMod('cold', 250)
- actor.removeSkillMod('electricity', 250)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
+ actor.addAbility("expertise_co_powered_armor_4")
return
-
+
def removeAbilities(core, actor, player):
-
+ actor.removeAbility("expertise_co_powered_armor_4")
return
-
\ No newline at end of file
diff --git a/scripts/expertise/expertise_co_remote_detonator_1.py b/scripts/expertise/expertise_co_remote_detonator_1.py
index d90c8d4f..fed11c0f 100644
--- a/scripts/expertise/expertise_co_remote_detonator_1.py
+++ b/scripts/expertise/expertise_co_remote_detonator_1.py
@@ -1,48 +1,22 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_remote_detonator_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_remote_detonator_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('co_remote_detonator_1')
-
+ if actor.getLevel() >= 26:
+ actor.addAbility("co_remote_detonator_1")
+ if actor.getLevel() >= 34:
+ actor.addAbility("co_remote_detonator_2")
+ if actor.getLevel() >= 48:
+ actor.addAbility("co_remote_detonator_3")
+ if actor.getLevel() >= 62:
+ actor.addAbility("co_remote_detonator_4")
+ if actor.getLevel() >= 76:
+ actor.addAbility("co_remote_detonator_5")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('co_remote_detonator_1')
-
+ actor.removeAbility("co_remote_detonator_1")
+ actor.removeAbility("co_remote_detonator_2")
+ actor.removeAbility("co_remote_detonator_3")
+ actor.removeAbility("co_remote_detonator_4")
+ actor.removeAbility("co_remote_detonator_5")
return
diff --git a/scripts/expertise/expertise_co_riddle_armor_1.py b/scripts/expertise/expertise_co_riddle_armor_1.py
index 4e3ebd79..04ea9722 100644
--- a/scripts/expertise/expertise_co_riddle_armor_1.py
+++ b/scripts/expertise/expertise_co_riddle_armor_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_riddle_armor_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_riddle_armor_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('co_riddle_armor')
-
+ actor.addAbility("co_riddle_armor")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('co_riddle_armor')
-
+ actor.removeAbility("co_riddle_armor")
return
diff --git a/scripts/expertise/expertise_co_short_fuse_1.py b/scripts/expertise/expertise_co_short_fuse_1.py
index 54240603..a5cbad44 100644
--- a/scripts/expertise/expertise_co_short_fuse_1.py
+++ b/scripts/expertise/expertise_co_short_fuse_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_short_fuse_1')
-
- actor.addSkillMod('expertise_delay_reduce_line_co_grenade', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_short_fuse_1')
-
- actor.removeSkillMod('expertise_delay_reduce_line_co_grenade', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_short_fuse_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_short_fuse_1")
return
diff --git a/scripts/expertise/expertise_co_stand_fast_1.py b/scripts/expertise/expertise_co_stand_fast_1.py
index 714eb9b6..46127787 100644
--- a/scripts/expertise/expertise_co_stand_fast_1.py
+++ b/scripts/expertise/expertise_co_stand_fast_1.py
@@ -1,47 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_stand_fast_1')
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_stand_fast_1')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('co_stand_fast')
-
+ actor.addAbility("co_stand_fast")
return
-
+
def removeAbilities(core, actor, player):
-
- actor.removeAbility('co_stand_fast')
-
+ actor.removeAbility("co_stand_fast")
return
-
\ No newline at end of file
diff --git a/scripts/expertise/expertise_co_stim_armor_1.py b/scripts/expertise/expertise_co_stim_armor_1.py
index abe74611..eb69696b 100644
--- a/scripts/expertise/expertise_co_stim_armor_1.py
+++ b/scripts/expertise/expertise_co_stim_armor_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_stim_armor_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_stim_armor_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('co_stim_armor')
-
+ actor.addAbility("co_stim_armor")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('co_stim_armor')
-
+ actor.removeAbility("co_stim_armor")
return
diff --git a/scripts/expertise/expertise_co_strong_arm_1.py b/scripts/expertise/expertise_co_strong_arm_1.py
index 03ebed5f..b4e5ab18 100644
--- a/scripts/expertise/expertise_co_strong_arm_1.py
+++ b/scripts/expertise/expertise_co_strong_arm_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_strong_arm_1')
-
- actor.addSkillMod('expertise_action_line_co_grenade', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_strong_arm_1')
-
- actor.removeSkillMod('expertise_action_line_co_grenade', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_strong_arm_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_strong_arm_1")
return
diff --git a/scripts/expertise/expertise_co_strong_arm_2.py b/scripts/expertise/expertise_co_strong_arm_2.py
index 126ff5b7..b0672495 100644
--- a/scripts/expertise/expertise_co_strong_arm_2.py
+++ b/scripts/expertise/expertise_co_strong_arm_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_strong_arm_2')
-
- actor.addSkillMod('expertise_action_line_co_grenade', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_strong_arm_2')
-
- actor.removeSkillMod('expertise_action_line_co_grenade', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_strong_arm_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_strong_arm_2")
return
diff --git a/scripts/expertise/expertise_co_strong_arm_3.py b/scripts/expertise/expertise_co_strong_arm_3.py
index 8ed34544..d69525d7 100644
--- a/scripts/expertise/expertise_co_strong_arm_3.py
+++ b/scripts/expertise/expertise_co_strong_arm_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_strong_arm_3')
-
- actor.addSkillMod('expertise_action_line_co_grenade', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_strong_arm_3')
-
- actor.removeSkillMod('expertise_action_line_co_grenade', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_strong_arm_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_strong_arm_3")
return
diff --git a/scripts/expertise/expertise_co_strong_arm_4.py b/scripts/expertise/expertise_co_strong_arm_4.py
index ea9ec450..dd42b534 100644
--- a/scripts/expertise/expertise_co_strong_arm_4.py
+++ b/scripts/expertise/expertise_co_strong_arm_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_strong_arm_4')
-
- actor.addSkillMod('expertise_action_line_co_grenade', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_strong_arm_4')
-
- actor.removeSkillMod('expertise_action_line_co_grenade', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_strong_arm_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_strong_arm_4")
return
diff --git a/scripts/expertise/expertise_co_suppressing_fire_1.py b/scripts/expertise/expertise_co_suppressing_fire_1.py
index a9192094..b9181853 100644
--- a/scripts/expertise/expertise_co_suppressing_fire_1.py
+++ b/scripts/expertise/expertise_co_suppressing_fire_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_suppressing_fire_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_suppressing_fire_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('co_suppressing_fire')
-
+ actor.addAbility("co_suppressing_fire")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('co_suppressing_fire')
-
+ actor.removeAbility("co_suppressing_fire")
return
diff --git a/scripts/expertise/expertise_co_suppression_efficiency_1.py b/scripts/expertise/expertise_co_suppression_efficiency_1.py
index 72851743..60950dc4 100644
--- a/scripts/expertise/expertise_co_suppression_efficiency_1.py
+++ b/scripts/expertise/expertise_co_suppression_efficiency_1.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_suppression_efficiency_1')
-
- actor.addSkillMod('expertise_supression_speed', 10)
- actor.addSkillMod('expertise_supression_glance', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_suppression_efficiency_1')
-
- actor.removeSkillMod('expertise_supression_speed', 10)
- actor.removeSkillMod('expertise_supression_glance', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_suppression_efficiency_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_suppression_efficiency_1")
return
diff --git a/scripts/expertise/expertise_co_suppression_efficiency_2.py b/scripts/expertise/expertise_co_suppression_efficiency_2.py
index 97830b16..3ce19870 100644
--- a/scripts/expertise/expertise_co_suppression_efficiency_2.py
+++ b/scripts/expertise/expertise_co_suppression_efficiency_2.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_suppression_efficiency_2')
-
- actor.addSkillMod('expertise_supression_speed', 10)
- actor.addSkillMod('expertise_supression_glance', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_suppression_efficiency_2')
-
- actor.removeSkillMod('expertise_supression_speed', 10)
- actor.removeSkillMod('expertise_supression_glance', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_suppression_efficiency_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_suppression_efficiency_2")
return
diff --git a/scripts/expertise/expertise_co_suppression_efficiency_3.py b/scripts/expertise/expertise_co_suppression_efficiency_3.py
index a0d3e6b6..00e43a22 100644
--- a/scripts/expertise/expertise_co_suppression_efficiency_3.py
+++ b/scripts/expertise/expertise_co_suppression_efficiency_3.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_suppression_efficiency_3')
-
- actor.addSkillMod('expertise_supression_speed', 10)
- actor.addSkillMod('expertise_supression_glance', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_suppression_efficiency_3')
-
- actor.removeSkillMod('expertise_supression_speed', 10)
- actor.removeSkillMod('expertise_supression_glance', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_suppression_efficiency_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_suppression_efficiency_3")
return
diff --git a/scripts/expertise/expertise_co_suppression_efficiency_4.py b/scripts/expertise/expertise_co_suppression_efficiency_4.py
index 3898d8fd..f9c1c3e5 100644
--- a/scripts/expertise/expertise_co_suppression_efficiency_4.py
+++ b/scripts/expertise/expertise_co_suppression_efficiency_4.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_suppression_efficiency_4')
-
- actor.addSkillMod('expertise_supression_speed', 10)
- actor.addSkillMod('expertise_supression_glance', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_suppression_efficiency_4')
-
- actor.removeSkillMod('expertise_supression_speed', 10)
- actor.removeSkillMod('expertise_supression_glance', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_suppression_efficiency_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_suppression_efficiency_4")
return
diff --git a/scripts/expertise/expertise_co_tibanna_gas_1.py b/scripts/expertise/expertise_co_tibanna_gas_1.py
index f3c83322..1c8d5371 100644
--- a/scripts/expertise/expertise_co_tibanna_gas_1.py
+++ b/scripts/expertise/expertise_co_tibanna_gas_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_tibanna_gas_1')
-
- actor.addSkillMod('expertise_damage_weapon_3', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_tibanna_gas_1')
-
- actor.removeSkillMod('expertise_damage_weapon_3', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_tibanna_gas_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_tibanna_gas_1")
return
diff --git a/scripts/expertise/expertise_co_tibanna_gas_2.py b/scripts/expertise/expertise_co_tibanna_gas_2.py
index ccc62783..f907947a 100644
--- a/scripts/expertise/expertise_co_tibanna_gas_2.py
+++ b/scripts/expertise/expertise_co_tibanna_gas_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_tibanna_gas_2')
-
- actor.addSkillMod('expertise_damage_weapon_3', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_tibanna_gas_2')
-
- actor.removeSkillMod('expertise_damage_weapon_3', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_tibanna_gas_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_tibanna_gas_2")
return
diff --git a/scripts/expertise/expertise_co_tibanna_gas_3.py b/scripts/expertise/expertise_co_tibanna_gas_3.py
index 49895f55..4b1ac247 100644
--- a/scripts/expertise/expertise_co_tibanna_gas_3.py
+++ b/scripts/expertise/expertise_co_tibanna_gas_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_tibanna_gas_3')
-
- actor.addSkillMod('expertise_damage_weapon_3', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_tibanna_gas_3')
-
- actor.removeSkillMod('expertise_damage_weapon_3', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_tibanna_gas_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_tibanna_gas_3")
return
diff --git a/scripts/expertise/expertise_co_tibanna_gas_4.py b/scripts/expertise/expertise_co_tibanna_gas_4.py
index 09e23289..67b238f2 100644
--- a/scripts/expertise/expertise_co_tibanna_gas_4.py
+++ b/scripts/expertise/expertise_co_tibanna_gas_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_tibanna_gas_4')
-
- actor.addSkillMod('expertise_damage_weapon_3', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_tibanna_gas_4')
-
- actor.removeSkillMod('expertise_damage_weapon_3', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_tibanna_gas_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_tibanna_gas_4")
return
diff --git a/scripts/expertise/expertise_co_timer_reset_1.py b/scripts/expertise/expertise_co_timer_reset_1.py
index c1f4cdb0..1b2e232d 100644
--- a/scripts/expertise/expertise_co_timer_reset_1.py
+++ b/scripts/expertise/expertise_co_timer_reset_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_timer_reset_1')
-
- actor.addSkillMod('expertise_delay_line_co_remote_detonator', 240)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_timer_reset_1')
-
- actor.removeSkillMod('expertise_delay_line_co_remote_detonator', 240)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_timer_reset_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_timer_reset_1")
return
diff --git a/scripts/expertise/expertise_co_timer_reset_2.py b/scripts/expertise/expertise_co_timer_reset_2.py
index 452832a5..9c29a8c9 100644
--- a/scripts/expertise/expertise_co_timer_reset_2.py
+++ b/scripts/expertise/expertise_co_timer_reset_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_timer_reset_2')
-
- actor.addSkillMod('expertise_delay_line_co_remote_detonator', 240)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_timer_reset_2')
-
- actor.removeSkillMod('expertise_delay_line_co_remote_detonator', 240)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_timer_reset_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_timer_reset_2")
return
diff --git a/scripts/expertise/expertise_co_youll_regret_that_1.py b/scripts/expertise/expertise_co_youll_regret_that_1.py
index eae8c028..a0895f86 100644
--- a/scripts/expertise/expertise_co_youll_regret_that_1.py
+++ b/scripts/expertise/expertise_co_youll_regret_that_1.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_youll_regret_that_1')
-
- actor.addSkillMod('kill_meter_co_youll_regret_that_reac', 100)
- actor.addSkillMod('expertise_youll_regret_that', 1000)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_youll_regret_that_1')
-
- actor.removeSkillMod('kill_meter_co_youll_regret_that_reac', 100)
- actor.removeSkillMod('expertise_youll_regret_that', 1000)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_youll_regret_that_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_youll_regret_that_1")
return
diff --git a/scripts/expertise/expertise_co_youll_regret_that_2.py b/scripts/expertise/expertise_co_youll_regret_that_2.py
index 8075c520..d96de9f4 100644
--- a/scripts/expertise/expertise_co_youll_regret_that_2.py
+++ b/scripts/expertise/expertise_co_youll_regret_that_2.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_youll_regret_that_2')
-
- actor.addSkillMod('kill_meter_co_youll_regret_that_reac', 0)
- actor.addSkillMod('expertise_youll_regret_that', 1000)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_youll_regret_that_2')
-
- actor.removeSkillMod('kill_meter_co_youll_regret_that_reac', 0)
- actor.removeSkillMod('expertise_youll_regret_that', 1000)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_youll_regret_that_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_youll_regret_that_2")
return
diff --git a/scripts/expertise/expertise_co_youll_regret_that_3.py b/scripts/expertise/expertise_co_youll_regret_that_3.py
index e4724ece..0ab9bab3 100644
--- a/scripts/expertise/expertise_co_youll_regret_that_3.py
+++ b/scripts/expertise/expertise_co_youll_regret_that_3.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_youll_regret_that_3')
-
- actor.addSkillMod('kill_meter_co_youll_regret_that_reac', 0)
- actor.addSkillMod('expertise_youll_regret_that', 1000)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_youll_regret_that_3')
-
- actor.removeSkillMod('kill_meter_co_youll_regret_that_reac', 0)
- actor.removeSkillMod('expertise_youll_regret_that', 1000)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_youll_regret_that_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_youll_regret_that_3")
return
diff --git a/scripts/expertise/expertise_co_youll_regret_that_4.py b/scripts/expertise/expertise_co_youll_regret_that_4.py
index b4e02069..95a86d07 100644
--- a/scripts/expertise/expertise_co_youll_regret_that_4.py
+++ b/scripts/expertise/expertise_co_youll_regret_that_4.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.addSkill('expertise_co_youll_regret_that_4')
-
- actor.addSkillMod('kill_meter_co_youll_regret_that_reac', 0)
- actor.addSkillMod('expertise_youll_regret_that', 1000)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'commando_1a':
- return
-
- actor.removeSkill('expertise_co_youll_regret_that_4')
-
- actor.removeSkillMod('kill_meter_co_youll_regret_that_reac', 0)
- actor.removeSkillMod('expertise_youll_regret_that', 1000)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_co_youll_regret_that_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_co_youll_regret_that_4")
return
diff --git a/scripts/expertise/expertise_cybernetic_dexterity_1.py b/scripts/expertise/expertise_cybernetic_dexterity_1.py
index 173aec59..db71010f 100644
--- a/scripts/expertise/expertise_cybernetic_dexterity_1.py
+++ b/scripts/expertise/expertise_cybernetic_dexterity_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.addSkill('expertise_cybernetic_dexterity_1')
-
- actor.addSkillMod('cybernetic_assembly', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.removeSkill('expertise_cybernetic_dexterity_1')
-
- actor.removeSkillMod('cybernetic_assembly', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_cybernetic_dexterity_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_cybernetic_dexterity_1")
return
diff --git a/scripts/expertise/expertise_cybernetic_dexterity_2.py b/scripts/expertise/expertise_cybernetic_dexterity_2.py
index 1627c0f4..40cfd8c9 100644
--- a/scripts/expertise/expertise_cybernetic_dexterity_2.py
+++ b/scripts/expertise/expertise_cybernetic_dexterity_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.addSkill('expertise_cybernetic_dexterity_2')
-
- actor.addSkillMod('cybernetic_assembly', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.removeSkill('expertise_cybernetic_dexterity_2')
-
- actor.removeSkillMod('cybernetic_assembly', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_cybernetic_dexterity_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_cybernetic_dexterity_2")
return
diff --git a/scripts/expertise/expertise_cybernetic_dexterity_3.py b/scripts/expertise/expertise_cybernetic_dexterity_3.py
index e80429b1..de7ea37b 100644
--- a/scripts/expertise/expertise_cybernetic_dexterity_3.py
+++ b/scripts/expertise/expertise_cybernetic_dexterity_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.addSkill('expertise_cybernetic_dexterity_3')
-
- actor.addSkillMod('cybernetic_assembly', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.removeSkill('expertise_cybernetic_dexterity_3')
-
- actor.removeSkillMod('cybernetic_assembly', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_cybernetic_dexterity_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_cybernetic_dexterity_3")
return
diff --git a/scripts/expertise/expertise_cybernetic_dexterity_4.py b/scripts/expertise/expertise_cybernetic_dexterity_4.py
index 9e47bf2b..303f05f7 100644
--- a/scripts/expertise/expertise_cybernetic_dexterity_4.py
+++ b/scripts/expertise/expertise_cybernetic_dexterity_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.addSkill('expertise_cybernetic_dexterity_4')
-
- actor.addSkillMod('cybernetic_assembly', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.removeSkill('expertise_cybernetic_dexterity_4')
-
- actor.removeSkillMod('cybernetic_assembly', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_cybernetic_dexterity_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_cybernetic_dexterity_4")
return
diff --git a/scripts/expertise/expertise_domestic_artisan_advanced_theory_1.py b/scripts/expertise/expertise_domestic_artisan_advanced_theory_1.py
index bd8a80ca..7768503c 100644
--- a/scripts/expertise/expertise_domestic_artisan_advanced_theory_1.py
+++ b/scripts/expertise/expertise_domestic_artisan_advanced_theory_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.addSkill('expertise_domestic_artisan_advanced_theory_1')
-
- actor.addSkillMod('general_experimentation', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.removeSkill('expertise_domestic_artisan_advanced_theory_1')
-
- actor.removeSkillMod('general_experimentation', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_domestic_artisan_advanced_theory_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_domestic_artisan_advanced_theory_1")
return
diff --git a/scripts/expertise/expertise_domestic_artisan_dexterity_1.py b/scripts/expertise/expertise_domestic_artisan_dexterity_1.py
index f473579f..558c2105 100644
--- a/scripts/expertise/expertise_domestic_artisan_dexterity_1.py
+++ b/scripts/expertise/expertise_domestic_artisan_dexterity_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.addSkill('expertise_domestic_artisan_dexterity_1')
-
- actor.addSkillMod('general_assembly', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.removeSkill('expertise_domestic_artisan_dexterity_1')
-
- actor.removeSkillMod('general_assembly', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_domestic_artisan_dexterity_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_domestic_artisan_dexterity_1")
return
diff --git a/scripts/expertise/expertise_domestic_artisan_dexterity_2.py b/scripts/expertise/expertise_domestic_artisan_dexterity_2.py
index 913a4d0e..8c7ab6cf 100644
--- a/scripts/expertise/expertise_domestic_artisan_dexterity_2.py
+++ b/scripts/expertise/expertise_domestic_artisan_dexterity_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.addSkill('expertise_domestic_artisan_dexterity_2')
-
- actor.addSkillMod('general_assembly', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.removeSkill('expertise_domestic_artisan_dexterity_2')
-
- actor.removeSkillMod('general_assembly', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_domestic_artisan_dexterity_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_domestic_artisan_dexterity_2")
return
diff --git a/scripts/expertise/expertise_domestic_artisan_dexterity_3.py b/scripts/expertise/expertise_domestic_artisan_dexterity_3.py
index a430b03f..3759a96d 100644
--- a/scripts/expertise/expertise_domestic_artisan_dexterity_3.py
+++ b/scripts/expertise/expertise_domestic_artisan_dexterity_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.addSkill('expertise_domestic_artisan_dexterity_3')
-
- actor.addSkillMod('general_assembly', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.removeSkill('expertise_domestic_artisan_dexterity_3')
-
- actor.removeSkillMod('general_assembly', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_domestic_artisan_dexterity_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_domestic_artisan_dexterity_3")
return
diff --git a/scripts/expertise/expertise_domestic_artisan_dexterity_4.py b/scripts/expertise/expertise_domestic_artisan_dexterity_4.py
index aa5c57b2..4be842ea 100644
--- a/scripts/expertise/expertise_domestic_artisan_dexterity_4.py
+++ b/scripts/expertise/expertise_domestic_artisan_dexterity_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.addSkill('expertise_domestic_artisan_dexterity_4')
-
- actor.addSkillMod('general_assembly', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.removeSkill('expertise_domestic_artisan_dexterity_4')
-
- actor.removeSkillMod('general_assembly', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_domestic_artisan_dexterity_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_domestic_artisan_dexterity_4")
return
diff --git a/scripts/expertise/expertise_domestic_artisan_hypothesis_1.py b/scripts/expertise/expertise_domestic_artisan_hypothesis_1.py
index 00c3dbcb..d8af5dc4 100644
--- a/scripts/expertise/expertise_domestic_artisan_hypothesis_1.py
+++ b/scripts/expertise/expertise_domestic_artisan_hypothesis_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.addSkill('expertise_domestic_artisan_hypothesis_1')
-
- actor.addSkillMod('expertise_experimentation_increase_artisan', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.removeSkill('expertise_domestic_artisan_hypothesis_1')
-
- actor.removeSkillMod('expertise_experimentation_increase_artisan', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_domestic_artisan_artisan_hypthesis_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_domestic_artisan_artisan_hypthesis_1")
return
diff --git a/scripts/expertise/expertise_domestic_artisan_hypothesis_2.py b/scripts/expertise/expertise_domestic_artisan_hypothesis_2.py
index b0e1ffc0..d9a13f59 100644
--- a/scripts/expertise/expertise_domestic_artisan_hypothesis_2.py
+++ b/scripts/expertise/expertise_domestic_artisan_hypothesis_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.addSkill('expertise_domestic_artisan_hypothesis_2')
-
- actor.addSkillMod('expertise_experimentation_increase_artisan', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.removeSkill('expertise_domestic_artisan_hypothesis_2')
-
- actor.removeSkillMod('expertise_experimentation_increase_artisan', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_domestic_artisan_hypthesis_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_domestic_artisan_hypthesis_2")
return
diff --git a/scripts/expertise/expertise_domestic_artisan_hypothesis_3.py b/scripts/expertise/expertise_domestic_artisan_hypothesis_3.py
index e3411464..1ebf788d 100644
--- a/scripts/expertise/expertise_domestic_artisan_hypothesis_3.py
+++ b/scripts/expertise/expertise_domestic_artisan_hypothesis_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.addSkill('expertise_domestic_artisan_hypothesis_3')
-
- actor.addSkillMod('expertise_experimentation_increase_artisan', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.removeSkill('expertise_domestic_artisan_hypothesis_3')
-
- actor.removeSkillMod('expertise_experimentation_increase_artisan', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_domestic_artisan_hypthesis_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_domestic_artisan_hypthesis_3")
return
diff --git a/scripts/expertise/expertise_domestic_artisan_hypothesis_4.py b/scripts/expertise/expertise_domestic_artisan_hypothesis_4.py
index 81e4a849..e0797ccd 100644
--- a/scripts/expertise/expertise_domestic_artisan_hypothesis_4.py
+++ b/scripts/expertise/expertise_domestic_artisan_hypothesis_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.addSkill('expertise_domestic_artisan_hypothesis_4')
-
- actor.addSkillMod('expertise_experimentation_increase_artisan', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.removeSkill('expertise_domestic_artisan_hypothesis_4')
-
- actor.removeSkillMod('expertise_experimentation_increase_artisan', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_domestic_artisan_hypthesis_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_domestic_artisan_hypthesis_4")
return
diff --git a/scripts/expertise/expertise_domestic_chef_advanced_theory_1.py b/scripts/expertise/expertise_domestic_chef_advanced_theory_1.py
index e3012ee2..2ee6b7d6 100644
--- a/scripts/expertise/expertise_domestic_chef_advanced_theory_1.py
+++ b/scripts/expertise/expertise_domestic_chef_advanced_theory_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.addSkill('expertise_domestic_chef_advanced_theory_1')
-
- actor.addSkillMod('food_experimentation', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.removeSkill('expertise_domestic_chef_advanced_theory_1')
-
- actor.removeSkillMod('food_experimentation', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_domestic_chef_advanced_theory_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_domestic_chef_advanced_theory_1")
return
diff --git a/scripts/expertise/expertise_domestic_chef_dexterity_1.py b/scripts/expertise/expertise_domestic_chef_dexterity_1.py
index 0a8f7fdd..f3edfc97 100644
--- a/scripts/expertise/expertise_domestic_chef_dexterity_1.py
+++ b/scripts/expertise/expertise_domestic_chef_dexterity_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.addSkill('expertise_domestic_chef_dexterity_1')
-
- actor.addSkillMod('food_assembly', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.removeSkill('expertise_domestic_chef_dexterity_1')
-
- actor.removeSkillMod('food_assembly', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_domestic_chef_dexterity_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_domestic_chef_dexterity_1")
return
diff --git a/scripts/expertise/expertise_domestic_chef_dexterity_2.py b/scripts/expertise/expertise_domestic_chef_dexterity_2.py
index b5430961..006997ac 100644
--- a/scripts/expertise/expertise_domestic_chef_dexterity_2.py
+++ b/scripts/expertise/expertise_domestic_chef_dexterity_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.addSkill('expertise_domestic_chef_dexterity_2')
-
- actor.addSkillMod('food_assembly', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.removeSkill('expertise_domestic_chef_dexterity_2')
-
- actor.removeSkillMod('food_assembly', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_domestic_chef_dexterity_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_domestic_chef_dexterity_2")
return
diff --git a/scripts/expertise/expertise_domestic_chef_dexterity_3.py b/scripts/expertise/expertise_domestic_chef_dexterity_3.py
index f2e888a5..f35f9cad 100644
--- a/scripts/expertise/expertise_domestic_chef_dexterity_3.py
+++ b/scripts/expertise/expertise_domestic_chef_dexterity_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.addSkill('expertise_domestic_chef_dexterity_3')
-
- actor.addSkillMod('food_assembly', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.removeSkill('expertise_domestic_chef_dexterity_3')
-
- actor.removeSkillMod('food_assembly', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_domestic_chef_dexterity_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_domestic_chef_dexterity_3")
return
diff --git a/scripts/expertise/expertise_domestic_chef_dexterity_4.py b/scripts/expertise/expertise_domestic_chef_dexterity_4.py
index 0c8c273e..257e22e5 100644
--- a/scripts/expertise/expertise_domestic_chef_dexterity_4.py
+++ b/scripts/expertise/expertise_domestic_chef_dexterity_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.addSkill('expertise_domestic_chef_dexterity_4')
-
- actor.addSkillMod('food_assembly', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.removeSkill('expertise_domestic_chef_dexterity_4')
-
- actor.removeSkillMod('food_assembly', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_domestic_chef_dexterity_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_domestic_chef_dexterity_4")
return
diff --git a/scripts/expertise/expertise_domestic_chef_hypothesis_1.py b/scripts/expertise/expertise_domestic_chef_hypothesis_1.py
index 4d0ef1b3..ce68731f 100644
--- a/scripts/expertise/expertise_domestic_chef_hypothesis_1.py
+++ b/scripts/expertise/expertise_domestic_chef_hypothesis_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.addSkill('expertise_domestic_chef_hypothesis_1')
-
- actor.addSkillMod('expertise_experimentation_increase_chef', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.removeSkill('expertise_domestic_chef_hypothesis_1')
-
- actor.removeSkillMod('expertise_experimentation_increase_chef', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_domestic_chef_hypothesis_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_domestic_chef_hypothesis_1")
return
diff --git a/scripts/expertise/expertise_domestic_chef_hypothesis_2.py b/scripts/expertise/expertise_domestic_chef_hypothesis_2.py
index 2203b3f4..e27b783b 100644
--- a/scripts/expertise/expertise_domestic_chef_hypothesis_2.py
+++ b/scripts/expertise/expertise_domestic_chef_hypothesis_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.addSkill('expertise_domestic_chef_hypothesis_2')
-
- actor.addSkillMod('expertise_experimentation_increase_chef', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.removeSkill('expertise_domestic_chef_hypothesis_2')
-
- actor.removeSkillMod('expertise_experimentation_increase_chef', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_domestic_chef_hypothesis_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_domestic_chef_hypothesis_2")
return
diff --git a/scripts/expertise/expertise_domestic_chef_hypothesis_3.py b/scripts/expertise/expertise_domestic_chef_hypothesis_3.py
index b82e5505..578de3e8 100644
--- a/scripts/expertise/expertise_domestic_chef_hypothesis_3.py
+++ b/scripts/expertise/expertise_domestic_chef_hypothesis_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.addSkill('expertise_domestic_chef_hypothesis_3')
-
- actor.addSkillMod('expertise_experimentation_increase_chef', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.removeSkill('expertise_domestic_chef_hypothesis_3')
-
- actor.removeSkillMod('expertise_experimentation_increase_chef', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_domestic_chef_hypothesis_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_domestic_chef_hypothesis_3")
return
diff --git a/scripts/expertise/expertise_domestic_chef_hypothesis_4.py b/scripts/expertise/expertise_domestic_chef_hypothesis_4.py
index 53e10ab3..65d4a9d4 100644
--- a/scripts/expertise/expertise_domestic_chef_hypothesis_4.py
+++ b/scripts/expertise/expertise_domestic_chef_hypothesis_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.addSkill('expertise_domestic_chef_hypothesis_4')
-
- actor.addSkillMod('expertise_experimentation_increase_chef', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.removeSkill('expertise_domestic_chef_hypothesis_4')
-
- actor.removeSkillMod('expertise_experimentation_increase_chef', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_domestic_chef_hypothesis_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_domestic_chef_hypothesis_4")
return
diff --git a/scripts/expertise/expertise_domestic_chef_insight_1.py b/scripts/expertise/expertise_domestic_chef_insight_1.py
index 1e07a424..620ede83 100644
--- a/scripts/expertise/expertise_domestic_chef_insight_1.py
+++ b/scripts/expertise/expertise_domestic_chef_insight_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.addSkill('expertise_domestic_chef_insight_1')
-
- actor.addSkillMod('expertise_complexity_decrease_chef', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.removeSkill('expertise_domestic_chef_insight_1')
-
- actor.removeSkillMod('expertise_complexity_decrease_chef', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_domestic_chef_insight_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_domestic_chef_insight_1")
return
diff --git a/scripts/expertise/expertise_domestic_chef_insight_2.py b/scripts/expertise/expertise_domestic_chef_insight_2.py
index b3c8a9b9..1b3cfd75 100644
--- a/scripts/expertise/expertise_domestic_chef_insight_2.py
+++ b/scripts/expertise/expertise_domestic_chef_insight_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.addSkill('expertise_domestic_chef_insight_2')
-
- actor.addSkillMod('expertise_complexity_decrease_chef', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.removeSkill('expertise_domestic_chef_insight_2')
-
- actor.removeSkillMod('expertise_complexity_decrease_chef', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_domestic_chef_insight_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_domestic_chef_insight_2")
return
diff --git a/scripts/expertise/expertise_domestic_chef_keen_understanding_1.py b/scripts/expertise/expertise_domestic_chef_keen_understanding_1.py
index 4449c44c..2d6a9548 100644
--- a/scripts/expertise/expertise_domestic_chef_keen_understanding_1.py
+++ b/scripts/expertise/expertise_domestic_chef_keen_understanding_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.addSkill('expertise_domestic_chef_keen_understanding_1')
-
- actor.addSkillMod('expertise_complexity_decrease_chef', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.removeSkill('expertise_domestic_chef_keen_understanding_1')
-
- actor.removeSkillMod('expertise_complexity_decrease_chef', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_domestic_chef_keen_understanding_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_domestic_chef_keen_understanding_1")
return
diff --git a/scripts/expertise/expertise_domestic_chef_keen_understanding_2.py b/scripts/expertise/expertise_domestic_chef_keen_understanding_2.py
index 3fdc103f..1a8fef1f 100644
--- a/scripts/expertise/expertise_domestic_chef_keen_understanding_2.py
+++ b/scripts/expertise/expertise_domestic_chef_keen_understanding_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.addSkill('expertise_domestic_chef_keen_understanding_2')
-
- actor.addSkillMod('expertise_complexity_decrease_chef', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.removeSkill('expertise_domestic_chef_keen_understanding_2')
-
- actor.removeSkillMod('expertise_complexity_decrease_chef', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_domestic_chef_keen_understanding_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_domestic_chef_keen_understanding_2")
return
diff --git a/scripts/expertise/expertise_domestic_chef_schematic_1_1.py b/scripts/expertise/expertise_domestic_chef_schematic_1_1.py
index 47138106..8da9070b 100644
--- a/scripts/expertise/expertise_domestic_chef_schematic_1_1.py
+++ b/scripts/expertise/expertise_domestic_chef_schematic_1_1.py
@@ -1,46 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.addSkill('expertise_domestic_chef_schematic_1_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.removeSkill('expertise_domestic_chef_schematic_1_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_domestic_chef_schematic_1_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_domestic_chef_schematic_1_1")
return
diff --git a/scripts/expertise/expertise_domestic_chef_schematic_2_1.py b/scripts/expertise/expertise_domestic_chef_schematic_2_1.py
index 1ec86323..ec21ccbf 100644
--- a/scripts/expertise/expertise_domestic_chef_schematic_2_1.py
+++ b/scripts/expertise/expertise_domestic_chef_schematic_2_1.py
@@ -1,46 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.addSkill('expertise_domestic_chef_schematic_2_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.removeSkill('expertise_domestic_chef_schematic_2_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_domestic_chef_schematic_2_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_domestic_chef_schematic_2_1")
return
diff --git a/scripts/expertise/expertise_domestic_resource_processing_1.py b/scripts/expertise/expertise_domestic_resource_processing_1.py
index 62a2adf5..7fa9d660 100644
--- a/scripts/expertise/expertise_domestic_resource_processing_1.py
+++ b/scripts/expertise/expertise_domestic_resource_processing_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.addSkill('expertise_domestic_resource_processing_1')
-
- actor.addSkillMod('expertise_resource_quality_increase', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.removeSkill('expertise_domestic_resource_processing_1')
-
- actor.removeSkillMod('expertise_resource_quality_increase', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_domestic_resource_processing_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_domestic_resource_processing_1")
return
diff --git a/scripts/expertise/expertise_domestic_resource_processing_2.py b/scripts/expertise/expertise_domestic_resource_processing_2.py
index ccd73bd5..8e6e3a11 100644
--- a/scripts/expertise/expertise_domestic_resource_processing_2.py
+++ b/scripts/expertise/expertise_domestic_resource_processing_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.addSkill('expertise_domestic_resource_processing_2')
-
- actor.addSkillMod('expertise_resource_quality_increase', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.removeSkill('expertise_domestic_resource_processing_2')
-
- actor.removeSkillMod('expertise_resource_quality_increase', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_domestic_resource_processing_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_domestic_resource_processing_2")
return
diff --git a/scripts/expertise/expertise_domestic_resource_refinement_1.py b/scripts/expertise/expertise_domestic_resource_refinement_1.py
index fd3e810f..b0352b8e 100644
--- a/scripts/expertise/expertise_domestic_resource_refinement_1.py
+++ b/scripts/expertise/expertise_domestic_resource_refinement_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.addSkill('expertise_domestic_resource_refinement_1')
-
- actor.addSkillMod('expertise_resource_quality_increase', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.removeSkill('expertise_domestic_resource_refinement_1')
-
- actor.removeSkillMod('expertise_resource_quality_increase', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_domestic_resource_refinement_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_domestic_resource_refinement_1")
return
diff --git a/scripts/expertise/expertise_domestic_resource_refinement_2.py b/scripts/expertise/expertise_domestic_resource_refinement_2.py
index 9dfedf70..74913100 100644
--- a/scripts/expertise/expertise_domestic_resource_refinement_2.py
+++ b/scripts/expertise/expertise_domestic_resource_refinement_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.addSkill('expertise_domestic_resource_refinement_2')
-
- actor.addSkillMod('expertise_resource_quality_increase', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.removeSkill('expertise_domestic_resource_refinement_2')
-
- actor.removeSkillMod('expertise_resource_quality_increase', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_domestic_resource_refinement_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_domestic_resource_refinement_2")
return
diff --git a/scripts/expertise/expertise_domestic_tailor_advanced_theory_1.py b/scripts/expertise/expertise_domestic_tailor_advanced_theory_1.py
index 2a84d182..46aa159d 100644
--- a/scripts/expertise/expertise_domestic_tailor_advanced_theory_1.py
+++ b/scripts/expertise/expertise_domestic_tailor_advanced_theory_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.addSkill('expertise_domestic_tailor_advanced_theory_1')
-
- actor.addSkillMod('clothing_experimentation', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.removeSkill('expertise_domestic_tailor_advanced_theory_1')
-
- actor.removeSkillMod('clothing_experimentation', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_domestic_tailor_advanced_theory_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_domestic_tailor_advanced_theory_1")
return
diff --git a/scripts/expertise/expertise_domestic_tailor_attachment_upgrade_1.py b/scripts/expertise/expertise_domestic_tailor_attachment_upgrade_1.py
index c3be240b..d10933fb 100644
--- a/scripts/expertise/expertise_domestic_tailor_attachment_upgrade_1.py
+++ b/scripts/expertise/expertise_domestic_tailor_attachment_upgrade_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.addSkill('expertise_domestic_tailor_attachment_upgrade_1')
-
- actor.addSkillMod('expertise_attachment_upgrade', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.removeSkill('expertise_domestic_tailor_attachment_upgrade_1')
-
- actor.removeSkillMod('expertise_attachment_upgrade', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_domestic_tailor_attachment_upgrade_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_domestic_tailor_attachment_upgrade_1")
return
diff --git a/scripts/expertise/expertise_domestic_tailor_dexterity_1.py b/scripts/expertise/expertise_domestic_tailor_dexterity_1.py
index c0c3c0bb..7b05bf09 100644
--- a/scripts/expertise/expertise_domestic_tailor_dexterity_1.py
+++ b/scripts/expertise/expertise_domestic_tailor_dexterity_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.addSkill('expertise_domestic_tailor_dexterity_1')
-
- actor.addSkillMod('clothing_assembly', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.removeSkill('expertise_domestic_tailor_dexterity_1')
-
- actor.removeSkillMod('clothing_assembly', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_domestic_tailor_dexterity_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_domestic_tailor_dexterity_1")
return
diff --git a/scripts/expertise/expertise_domestic_tailor_dexterity_2.py b/scripts/expertise/expertise_domestic_tailor_dexterity_2.py
index 24fb5fc8..16c9b28e 100644
--- a/scripts/expertise/expertise_domestic_tailor_dexterity_2.py
+++ b/scripts/expertise/expertise_domestic_tailor_dexterity_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.addSkill('expertise_domestic_tailor_dexterity_2')
-
- actor.addSkillMod('clothing_assembly', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.removeSkill('expertise_domestic_tailor_dexterity_2')
-
- actor.removeSkillMod('clothing_assembly', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_domestic_tailor_dexterity_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_domestic_tailor_dexterity_2")
return
diff --git a/scripts/expertise/expertise_domestic_tailor_dexterity_3.py b/scripts/expertise/expertise_domestic_tailor_dexterity_3.py
index 8bee3264..0f4697c9 100644
--- a/scripts/expertise/expertise_domestic_tailor_dexterity_3.py
+++ b/scripts/expertise/expertise_domestic_tailor_dexterity_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.addSkill('expertise_domestic_tailor_dexterity_3')
-
- actor.addSkillMod('clothing_assembly', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.removeSkill('expertise_domestic_tailor_dexterity_3')
-
- actor.removeSkillMod('clothing_assembly', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_domestic_tailor_dexterity_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_domestic_tailor_dexterity_3")
return
diff --git a/scripts/expertise/expertise_domestic_tailor_dexterity_4.py b/scripts/expertise/expertise_domestic_tailor_dexterity_4.py
index 828adfd1..8ef125c7 100644
--- a/scripts/expertise/expertise_domestic_tailor_dexterity_4.py
+++ b/scripts/expertise/expertise_domestic_tailor_dexterity_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.addSkill('expertise_domestic_tailor_dexterity_4')
-
- actor.addSkillMod('clothing_assembly', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.removeSkill('expertise_domestic_tailor_dexterity_4')
-
- actor.removeSkillMod('clothing_assembly', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_domestic_tailor_dexterity_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_domestic_tailor_dexterity_4")
return
diff --git a/scripts/expertise/expertise_domestic_tailor_hypothesis_1.py b/scripts/expertise/expertise_domestic_tailor_hypothesis_1.py
index d384d0ea..e9e14164 100644
--- a/scripts/expertise/expertise_domestic_tailor_hypothesis_1.py
+++ b/scripts/expertise/expertise_domestic_tailor_hypothesis_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.addSkill('expertise_domestic_tailor_hypothesis_1')
-
- actor.addSkillMod('expertise_experimentation_increase_tailor', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.removeSkill('expertise_domestic_tailor_hypothesis_1')
-
- actor.removeSkillMod('expertise_experimentation_increase_tailor', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_domestic_tailor_hypothesis_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_domestic_tailor_hypothesis_1")
return
diff --git a/scripts/expertise/expertise_domestic_tailor_hypothesis_2.py b/scripts/expertise/expertise_domestic_tailor_hypothesis_2.py
index dc25b650..0dad6f4d 100644
--- a/scripts/expertise/expertise_domestic_tailor_hypothesis_2.py
+++ b/scripts/expertise/expertise_domestic_tailor_hypothesis_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.addSkill('expertise_domestic_tailor_hypothesis_2')
-
- actor.addSkillMod('expertise_experimentation_increase_tailor', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.removeSkill('expertise_domestic_tailor_hypothesis_2')
-
- actor.removeSkillMod('expertise_experimentation_increase_tailor', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_domestic_tailor_hypothesis_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_domestic_tailor_hypothesis_2")
return
diff --git a/scripts/expertise/expertise_domestic_tailor_hypothesis_3.py b/scripts/expertise/expertise_domestic_tailor_hypothesis_3.py
index 41572d81..70d55b5c 100644
--- a/scripts/expertise/expertise_domestic_tailor_hypothesis_3.py
+++ b/scripts/expertise/expertise_domestic_tailor_hypothesis_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.addSkill('expertise_domestic_tailor_hypothesis_3')
-
- actor.addSkillMod('expertise_experimentation_increase_tailor', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.removeSkill('expertise_domestic_tailor_hypothesis_3')
-
- actor.removeSkillMod('expertise_experimentation_increase_tailor', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_domestic_tailor_hypothesis_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_domestic_tailor_hypothesis_3")
return
diff --git a/scripts/expertise/expertise_domestic_tailor_hypothesis_4.py b/scripts/expertise/expertise_domestic_tailor_hypothesis_4.py
index 2009c763..c9a25d1c 100644
--- a/scripts/expertise/expertise_domestic_tailor_hypothesis_4.py
+++ b/scripts/expertise/expertise_domestic_tailor_hypothesis_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.addSkill('expertise_domestic_tailor_hypothesis_4')
-
- actor.addSkillMod('expertise_experimentation_increase_tailor', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.removeSkill('expertise_domestic_tailor_hypothesis_4')
-
- actor.removeSkillMod('expertise_experimentation_increase_tailor', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_domestic_tailor_hypothesis_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_domestic_tailor_hypothesis_4")
return
diff --git a/scripts/expertise/expertise_domestic_tailor_insight_1.py b/scripts/expertise/expertise_domestic_tailor_insight_1.py
index 1734ab71..dcafb9f2 100644
--- a/scripts/expertise/expertise_domestic_tailor_insight_1.py
+++ b/scripts/expertise/expertise_domestic_tailor_insight_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.addSkill('expertise_domestic_tailor_insight_1')
-
- actor.addSkillMod('expertise_complexity_decrease_tailor', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.removeSkill('expertise_domestic_tailor_insight_1')
-
- actor.removeSkillMod('expertise_complexity_decrease_tailor', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_domestic_tailor_insight_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_domestic_tailor_insight_1")
return
diff --git a/scripts/expertise/expertise_domestic_tailor_insight_2.py b/scripts/expertise/expertise_domestic_tailor_insight_2.py
index e65231bd..cd307c4c 100644
--- a/scripts/expertise/expertise_domestic_tailor_insight_2.py
+++ b/scripts/expertise/expertise_domestic_tailor_insight_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.addSkill('expertise_domestic_tailor_insight_2')
-
- actor.addSkillMod('expertise_complexity_decrease_tailor', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.removeSkill('expertise_domestic_tailor_insight_2')
-
- actor.removeSkillMod('expertise_complexity_decrease_tailor', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_domestic_tailor_insight_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_domestic_tailor_insight_2")
return
diff --git a/scripts/expertise/expertise_domestic_tailor_keen_understanding_1.py b/scripts/expertise/expertise_domestic_tailor_keen_understanding_1.py
index 59a274ff..e4c2ab72 100644
--- a/scripts/expertise/expertise_domestic_tailor_keen_understanding_1.py
+++ b/scripts/expertise/expertise_domestic_tailor_keen_understanding_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.addSkill('expertise_domestic_tailor_keen_understanding_1')
-
- actor.addSkillMod('expertise_complexity_decrease_tailor', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.removeSkill('expertise_domestic_tailor_keen_understanding_1')
-
- actor.removeSkillMod('expertise_complexity_decrease_tailor', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_domestic_tailor_keen_understanding_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_domestic_tailor_keen_understanding_1")
return
diff --git a/scripts/expertise/expertise_domestic_tailor_keen_understanding_2.py b/scripts/expertise/expertise_domestic_tailor_keen_understanding_2.py
index 1504d0e2..b866a83f 100644
--- a/scripts/expertise/expertise_domestic_tailor_keen_understanding_2.py
+++ b/scripts/expertise/expertise_domestic_tailor_keen_understanding_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.addSkill('expertise_domestic_tailor_keen_understanding_2')
-
- actor.addSkillMod('expertise_complexity_decrease_tailor', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.removeSkill('expertise_domestic_tailor_keen_understanding_2')
-
- actor.removeSkillMod('expertise_complexity_decrease_tailor', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_domestic_tailor_keen_understanding_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_domestic_tailor_keen_understanding_2")
return
diff --git a/scripts/expertise/expertise_domestic_tailor_socket_bonus_1.py b/scripts/expertise/expertise_domestic_tailor_socket_bonus_1.py
index 9c86c720..4cac0dfc 100644
--- a/scripts/expertise/expertise_domestic_tailor_socket_bonus_1.py
+++ b/scripts/expertise/expertise_domestic_tailor_socket_bonus_1.py
@@ -1,46 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.addSkill('expertise_domestic_tailor_socket_bonus_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_dom_1a':
- return
-
- actor.removeSkill('expertise_domestic_tailor_socket_bonus_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_domestic_tailor_socket_bonus_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_domestic_tailor_socket_bonus_1")
return
diff --git a/scripts/expertise/expertise_en_affability_1.py b/scripts/expertise/expertise_en_affability_1.py
index 7a5f2735..35dfd326 100644
--- a/scripts/expertise/expertise_en_affability_1.py
+++ b/scripts/expertise/expertise_en_affability_1.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_affability_1')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_affability_1')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_affability_1")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_affability_1")
+ return
diff --git a/scripts/expertise/expertise_en_affability_2.py b/scripts/expertise/expertise_en_affability_2.py
index 7bce595d..38b336df 100644
--- a/scripts/expertise/expertise_en_affability_2.py
+++ b/scripts/expertise/expertise_en_affability_2.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_affability_2')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_affability_2')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_affability_2")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_affability_2")
+ return
diff --git a/scripts/expertise/expertise_en_affability_3.py b/scripts/expertise/expertise_en_affability_3.py
index c9ec177b..0a2cf7fc 100644
--- a/scripts/expertise/expertise_en_affability_3.py
+++ b/scripts/expertise/expertise_en_affability_3.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_affability_3')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_affability_3')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_affability_3")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_affability_3")
+ return
diff --git a/scripts/expertise/expertise_en_affability_4.py b/scripts/expertise/expertise_en_affability_4.py
index 33d4eebe..3949d215 100644
--- a/scripts/expertise/expertise_en_affability_4.py
+++ b/scripts/expertise/expertise_en_affability_4.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_affability_4')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_affability_4')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_affability_4")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_affability_4")
+ return
diff --git a/scripts/expertise/expertise_en_allure_1.py b/scripts/expertise/expertise_en_allure_1.py
index dde55739..9448b911 100644
--- a/scripts/expertise/expertise_en_allure_1.py
+++ b/scripts/expertise/expertise_en_allure_1.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_allure_1')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_allure_1')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_allure_1")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_allure_1")
+ return
diff --git a/scripts/expertise/expertise_en_allure_2.py b/scripts/expertise/expertise_en_allure_2.py
index 737c85bd..831a7c36 100644
--- a/scripts/expertise/expertise_en_allure_2.py
+++ b/scripts/expertise/expertise_en_allure_2.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_allure_2')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_allure_2')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_allure_2")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_allure_2")
+ return
diff --git a/scripts/expertise/expertise_en_allure_3.py b/scripts/expertise/expertise_en_allure_3.py
index 271fc696..f896a1d2 100644
--- a/scripts/expertise/expertise_en_allure_3.py
+++ b/scripts/expertise/expertise_en_allure_3.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_allure_3')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_allure_3')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_allure_3")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_allure_3")
+ return
diff --git a/scripts/expertise/expertise_en_annulling_1.py b/scripts/expertise/expertise_en_annulling_1.py
index 719ec07e..6055557a 100644
--- a/scripts/expertise/expertise_en_annulling_1.py
+++ b/scripts/expertise/expertise_en_annulling_1.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_annulling_1')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_annulling_1')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_annulling_1")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_annulling_1")
+ return
diff --git a/scripts/expertise/expertise_en_annulling_2.py b/scripts/expertise/expertise_en_annulling_2.py
index 6dd3e00c..e06fc2ef 100644
--- a/scripts/expertise/expertise_en_annulling_2.py
+++ b/scripts/expertise/expertise_en_annulling_2.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_annulling_2')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_annulling_2')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_annulling_2")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_annulling_2")
+ return
diff --git a/scripts/expertise/expertise_en_annulling_3.py b/scripts/expertise/expertise_en_annulling_3.py
index 423efeee..b26f4814 100644
--- a/scripts/expertise/expertise_en_annulling_3.py
+++ b/scripts/expertise/expertise_en_annulling_3.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_annulling_3')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_annulling_3')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_annulling_3")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_annulling_3")
+ return
diff --git a/scripts/expertise/expertise_en_conditioned_vessel_1.py b/scripts/expertise/expertise_en_conditioned_vessel_1.py
index f902b662..896a8752 100644
--- a/scripts/expertise/expertise_en_conditioned_vessel_1.py
+++ b/scripts/expertise/expertise_en_conditioned_vessel_1.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_conditioned_vessel_1')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_conditioned_vessel_1')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_conditioned_vessel_1")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_conditioned_vessel_1")
+ return
diff --git a/scripts/expertise/expertise_en_conditioned_vessel_2.py b/scripts/expertise/expertise_en_conditioned_vessel_2.py
index d58db7c8..e7123ab7 100644
--- a/scripts/expertise/expertise_en_conditioned_vessel_2.py
+++ b/scripts/expertise/expertise_en_conditioned_vessel_2.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_conditioned_vessel_2')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_conditioned_vessel_2')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_conditioned_vessel_2")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_conditioned_vessel_2")
+ return
diff --git a/scripts/expertise/expertise_en_conditioned_vessel_3.py b/scripts/expertise/expertise_en_conditioned_vessel_3.py
index 72a80217..e0292169 100644
--- a/scripts/expertise/expertise_en_conditioned_vessel_3.py
+++ b/scripts/expertise/expertise_en_conditioned_vessel_3.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_conditioned_vessel_3')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_conditioned_vessel_3')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_conditioned_vessel_3")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_conditioned_vessel_3")
+ return
diff --git a/scripts/expertise/expertise_en_conditioned_vessel_4.py b/scripts/expertise/expertise_en_conditioned_vessel_4.py
index fff13364..f0d7b6e7 100644
--- a/scripts/expertise/expertise_en_conditioned_vessel_4.py
+++ b/scripts/expertise/expertise_en_conditioned_vessel_4.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_conditioned_vessel_4')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_conditioned_vessel_4')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_conditioned_vessel_4")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_conditioned_vessel_4")
+ return
diff --git a/scripts/expertise/expertise_en_controlled_spin_1.py b/scripts/expertise/expertise_en_controlled_spin_1.py
index 71236177..dc088a17 100644
--- a/scripts/expertise/expertise_en_controlled_spin_1.py
+++ b/scripts/expertise/expertise_en_controlled_spin_1.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_controlled_spin_1')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_controlled_spin_1')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_controlled_spin_1")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_controlled_spin_1")
+ return
diff --git a/scripts/expertise/expertise_en_controlled_spin_2.py b/scripts/expertise/expertise_en_controlled_spin_2.py
index 782621db..018aae71 100644
--- a/scripts/expertise/expertise_en_controlled_spin_2.py
+++ b/scripts/expertise/expertise_en_controlled_spin_2.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_controlled_spin_2')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_controlled_spin_2')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_controlled_spin_2")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_controlled_spin_2")
+ return
diff --git a/scripts/expertise/expertise_en_controlled_spin_3.py b/scripts/expertise/expertise_en_controlled_spin_3.py
index 657fa429..4850d8cc 100644
--- a/scripts/expertise/expertise_en_controlled_spin_3.py
+++ b/scripts/expertise/expertise_en_controlled_spin_3.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_controlled_spin_3')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_controlled_spin_3')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_controlled_spin_3")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_controlled_spin_3")
+ return
diff --git a/scripts/expertise/expertise_en_creativity_1.py b/scripts/expertise/expertise_en_creativity_1.py
index e0b3ead8..ec5120d4 100644
--- a/scripts/expertise/expertise_en_creativity_1.py
+++ b/scripts/expertise/expertise_en_creativity_1.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_creativity_1')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_creativity_1')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_creativity_1")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_creativity_1")
+ return
diff --git a/scripts/expertise/expertise_en_creativity_2.py b/scripts/expertise/expertise_en_creativity_2.py
index b00bf0e0..9e919439 100644
--- a/scripts/expertise/expertise_en_creativity_2.py
+++ b/scripts/expertise/expertise_en_creativity_2.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_creativity_2')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_creativity_2')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_creativity_2")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_creativity_2")
+ return
diff --git a/scripts/expertise/expertise_en_creativity_3.py b/scripts/expertise/expertise_en_creativity_3.py
index a0dc7c5d..a4e8153f 100644
--- a/scripts/expertise/expertise_en_creativity_3.py
+++ b/scripts/expertise/expertise_en_creativity_3.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_creativity_3')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_creativity_3')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_creativity_3")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_creativity_3")
+ return
diff --git a/scripts/expertise/expertise_en_creativity_4.py b/scripts/expertise/expertise_en_creativity_4.py
index 3d753096..f743578d 100644
--- a/scripts/expertise/expertise_en_creativity_4.py
+++ b/scripts/expertise/expertise_en_creativity_4.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_creativity_4')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_creativity_4')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_creativity_4")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_creativity_4")
+ return
diff --git a/scripts/expertise/expertise_en_dramatic_flair_1.py b/scripts/expertise/expertise_en_dramatic_flair_1.py
index e9c2f3ec..bd280ed0 100644
--- a/scripts/expertise/expertise_en_dramatic_flair_1.py
+++ b/scripts/expertise/expertise_en_dramatic_flair_1.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_dramatic_flair_1')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_dramatic_flair_1')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_dramatic_flair_1")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_dramatic_flair_1")
+ return
diff --git a/scripts/expertise/expertise_en_dramatic_flair_2.py b/scripts/expertise/expertise_en_dramatic_flair_2.py
index 34897265..7d32d156 100644
--- a/scripts/expertise/expertise_en_dramatic_flair_2.py
+++ b/scripts/expertise/expertise_en_dramatic_flair_2.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_dramatic_flair_2')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_dramatic_flair_2')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_dramatic_flair_2")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_dramatic_flair_2")
+ return
diff --git a/scripts/expertise/expertise_en_dramatic_flair_3.py b/scripts/expertise/expertise_en_dramatic_flair_3.py
index 5c9c5ba6..16533340 100644
--- a/scripts/expertise/expertise_en_dramatic_flair_3.py
+++ b/scripts/expertise/expertise_en_dramatic_flair_3.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_dramatic_flair_3')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_dramatic_flair_3')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_dramatic_flair_3")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_dramatic_flair_3")
+ return
diff --git a/scripts/expertise/expertise_en_dramatic_flair_4.py b/scripts/expertise/expertise_en_dramatic_flair_4.py
index 921c72d2..ccb52574 100644
--- a/scripts/expertise/expertise_en_dramatic_flair_4.py
+++ b/scripts/expertise/expertise_en_dramatic_flair_4.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_dramatic_flair_4')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_dramatic_flair_4')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_dramatic_flair_4")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_dramatic_flair_4")
+ return
diff --git a/scripts/expertise/expertise_en_emotional_prescience_1.py b/scripts/expertise/expertise_en_emotional_prescience_1.py
index c3c07285..f9177d7c 100644
--- a/scripts/expertise/expertise_en_emotional_prescience_1.py
+++ b/scripts/expertise/expertise_en_emotional_prescience_1.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_emotional_prescience_1')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_emotional_prescience_1')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_emotional_prescience_1")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_emotional_prescience_1")
+ return
diff --git a/scripts/expertise/expertise_en_emotional_prescience_2.py b/scripts/expertise/expertise_en_emotional_prescience_2.py
index 54062a47..5afb81a1 100644
--- a/scripts/expertise/expertise_en_emotional_prescience_2.py
+++ b/scripts/expertise/expertise_en_emotional_prescience_2.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_emotional_prescience_2')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_emotional_prescience_2')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_emotional_prescience_2")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_emotional_prescience_2")
+ return
diff --git a/scripts/expertise/expertise_en_emotional_prescience_3.py b/scripts/expertise/expertise_en_emotional_prescience_3.py
index efbbf6fa..8f5b2500 100644
--- a/scripts/expertise/expertise_en_emotional_prescience_3.py
+++ b/scripts/expertise/expertise_en_emotional_prescience_3.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_emotional_prescience_3')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_emotional_prescience_3')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_emotional_prescience_3")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_emotional_prescience_3")
+ return
diff --git a/scripts/expertise/expertise_en_emotional_prescience_4.py b/scripts/expertise/expertise_en_emotional_prescience_4.py
index ebb28e19..1a2ce7e1 100644
--- a/scripts/expertise/expertise_en_emotional_prescience_4.py
+++ b/scripts/expertise/expertise_en_emotional_prescience_4.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_emotional_prescience_4')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_emotional_prescience_4')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_emotional_prescience_4")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_emotional_prescience_4")
+ return
diff --git a/scripts/expertise/expertise_en_encore_heal_1.py b/scripts/expertise/expertise_en_encore_heal_1.py
index f8dfb71c..14d899a0 100644
--- a/scripts/expertise/expertise_en_encore_heal_1.py
+++ b/scripts/expertise/expertise_en_encore_heal_1.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_encore_heal_1')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_encore_heal_1')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_encore_heal_1")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_encore_heal_1")
+ return
diff --git a/scripts/expertise/expertise_en_encore_heal_2.py b/scripts/expertise/expertise_en_encore_heal_2.py
index e625e800..1ac0eb53 100644
--- a/scripts/expertise/expertise_en_encore_heal_2.py
+++ b/scripts/expertise/expertise_en_encore_heal_2.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_encore_heal_2')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_encore_heal_2')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_encore_heal_2")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_encore_heal_2")
+ return
diff --git a/scripts/expertise/expertise_en_encore_heal_3.py b/scripts/expertise/expertise_en_encore_heal_3.py
index f409d34a..348742d1 100644
--- a/scripts/expertise/expertise_en_encore_heal_3.py
+++ b/scripts/expertise/expertise_en_encore_heal_3.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_encore_heal_3')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_encore_heal_3')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_encore_heal_3")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_encore_heal_3")
+ return
diff --git a/scripts/expertise/expertise_en_flush_with_success_1.py b/scripts/expertise/expertise_en_flush_with_success_1.py
index 561871be..b25fc909 100644
--- a/scripts/expertise/expertise_en_flush_with_success_1.py
+++ b/scripts/expertise/expertise_en_flush_with_success_1.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_flush_with_success_1')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_flush_with_success_1')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("en_flush_with_success_buff_package")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("en_flush_with_success_buff_package")
+ return
diff --git a/scripts/expertise/expertise_en_focused_control_1.py b/scripts/expertise/expertise_en_focused_control_1.py
index fb59c24b..99d0436a 100644
--- a/scripts/expertise/expertise_en_focused_control_1.py
+++ b/scripts/expertise/expertise_en_focused_control_1.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_focused_control_1')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_focused_control_1')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_focused_control_1")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_focused_control_1")
+ return
diff --git a/scripts/expertise/expertise_en_focused_control_2.py b/scripts/expertise/expertise_en_focused_control_2.py
index 75e3342d..2b81f293 100644
--- a/scripts/expertise/expertise_en_focused_control_2.py
+++ b/scripts/expertise/expertise_en_focused_control_2.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_focused_control_2')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_focused_control_2')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_focused_control_2")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_focused_control_2")
+ return
diff --git a/scripts/expertise/expertise_en_focused_control_3.py b/scripts/expertise/expertise_en_focused_control_3.py
index 508a3655..b256a48d 100644
--- a/scripts/expertise/expertise_en_focused_control_3.py
+++ b/scripts/expertise/expertise_en_focused_control_3.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_focused_control_3')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_focused_control_3')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_focused_control_3")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_focused_control_3")
+ return
diff --git a/scripts/expertise/expertise_en_focused_control_4.py b/scripts/expertise/expertise_en_focused_control_4.py
index ff0055e7..f3ec007f 100644
--- a/scripts/expertise/expertise_en_focused_control_4.py
+++ b/scripts/expertise/expertise_en_focused_control_4.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_focused_control_4')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_focused_control_4')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_focused_control_4")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_focused_control_4")
+ return
diff --git a/scripts/expertise/expertise_en_folded_inward_1.py b/scripts/expertise/expertise_en_folded_inward_1.py
index 92081f72..142d632c 100644
--- a/scripts/expertise/expertise_en_folded_inward_1.py
+++ b/scripts/expertise/expertise_en_folded_inward_1.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_folded_inward_1')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_folded_inward_1')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_folded_inward_1")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_folded_inward_1")
+ return
diff --git a/scripts/expertise/expertise_en_folded_inward_2.py b/scripts/expertise/expertise_en_folded_inward_2.py
index dd0e1a76..3c56cd2c 100644
--- a/scripts/expertise/expertise_en_folded_inward_2.py
+++ b/scripts/expertise/expertise_en_folded_inward_2.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_folded_inward_2')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_folded_inward_2')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_folded_inward_2")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_folded_inward_2")
+ return
diff --git a/scripts/expertise/expertise_en_folded_inward_3.py b/scripts/expertise/expertise_en_folded_inward_3.py
index e267f43a..40b26c21 100644
--- a/scripts/expertise/expertise_en_folded_inward_3.py
+++ b/scripts/expertise/expertise_en_folded_inward_3.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_folded_inward_3')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_folded_inward_3')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_folded_inward_3")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_folded_inward_3")
+ return
diff --git a/scripts/expertise/expertise_en_folded_inward_4.py b/scripts/expertise/expertise_en_folded_inward_4.py
index 8b9f04ea..94c18354 100644
--- a/scripts/expertise/expertise_en_folded_inward_4.py
+++ b/scripts/expertise/expertise_en_folded_inward_4.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_folded_inward_4')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_folded_inward_4')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_folded_inward_4")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_folded_inward_4")
+ return
diff --git a/scripts/expertise/expertise_en_go_with_the_flow_1.py b/scripts/expertise/expertise_en_go_with_the_flow_1.py
index cafced83..e51fdee5 100644
--- a/scripts/expertise/expertise_en_go_with_the_flow_1.py
+++ b/scripts/expertise/expertise_en_go_with_the_flow_1.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_go_with_the_flow_1')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_go_with_the_flow_1')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("en_go_with_the_flow_buff_package")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("en_go_with_the_flow_buff_package")
+ return
diff --git a/scripts/expertise/expertise_en_harvest_faire_1.py b/scripts/expertise/expertise_en_harvest_faire_1.py
index aa8c759a..21238bc0 100644
--- a/scripts/expertise/expertise_en_harvest_faire_1.py
+++ b/scripts/expertise/expertise_en_harvest_faire_1.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_harvest_faire_1')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_harvest_faire_1')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("en_harvest_fair_buff_package")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("en_harvest_fair_buff_package")
+ return
diff --git a/scripts/expertise/expertise_en_heal_1.py b/scripts/expertise/expertise_en_heal_1.py
index dc58a76f..d4e3d669 100644
--- a/scripts/expertise/expertise_en_heal_1.py
+++ b/scripts/expertise/expertise_en_heal_1.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_heal_1')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_heal_1')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("en_heal_1")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("en_heal_1")
+ return
diff --git a/scripts/expertise/expertise_en_holism_1.py b/scripts/expertise/expertise_en_holism_1.py
index b2dc30fc..af3b40a1 100644
--- a/scripts/expertise/expertise_en_holism_1.py
+++ b/scripts/expertise/expertise_en_holism_1.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_holism_1')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_holism_1')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("en_healer_buff_package")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("en_healer_buff_package")
+ return
diff --git a/scripts/expertise/expertise_en_holographic_duration_1.py b/scripts/expertise/expertise_en_holographic_duration_1.py
index 25e56ae7..04ec0485 100644
--- a/scripts/expertise/expertise_en_holographic_duration_1.py
+++ b/scripts/expertise/expertise_en_holographic_duration_1.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_holographic_duration_1')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_holographic_duration_1')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_holographic_duration_1")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_holographic_duration_1")
+ return
diff --git a/scripts/expertise/expertise_en_holographic_mastery_1.py b/scripts/expertise/expertise_en_holographic_mastery_1.py
index 59a4c40a..cb7f5424 100644
--- a/scripts/expertise/expertise_en_holographic_mastery_1.py
+++ b/scripts/expertise/expertise_en_holographic_mastery_1.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_holographic_mastery_1')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_holographic_mastery_1')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_holographic_mastery_1")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_holographic_mastery_1")
+ return
diff --git a/scripts/expertise/expertise_en_holographic_mastery_2.py b/scripts/expertise/expertise_en_holographic_mastery_2.py
index 72a8e391..6fc49ee0 100644
--- a/scripts/expertise/expertise_en_holographic_mastery_2.py
+++ b/scripts/expertise/expertise_en_holographic_mastery_2.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_holographic_mastery_2')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_holographic_mastery_2')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_holographic_mastery_2")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_holographic_mastery_2")
+ return
diff --git a/scripts/expertise/expertise_en_improv_1.py b/scripts/expertise/expertise_en_improv_1.py
index 14987c0c..b2b0352b 100644
--- a/scripts/expertise/expertise_en_improv_1.py
+++ b/scripts/expertise/expertise_en_improv_1.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_improv_1')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_improv_1')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_improv_1")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_improv_1")
+ return
diff --git a/scripts/expertise/expertise_en_inspired_fitness_1.py b/scripts/expertise/expertise_en_inspired_fitness_1.py
index bd4ddb5f..1c557c8d 100644
--- a/scripts/expertise/expertise_en_inspired_fitness_1.py
+++ b/scripts/expertise/expertise_en_inspired_fitness_1.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_inspired_fitness_1')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_inspired_fitness_1')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_inspired_fitness_1")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_inspired_fitness_1")
+ return
diff --git a/scripts/expertise/expertise_en_inspired_fitness_2.py b/scripts/expertise/expertise_en_inspired_fitness_2.py
index 1c971df3..92101da2 100644
--- a/scripts/expertise/expertise_en_inspired_fitness_2.py
+++ b/scripts/expertise/expertise_en_inspired_fitness_2.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_inspired_fitness_2')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_inspired_fitness_2')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_inspired_fitness_2")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_inspired_fitness_2")
+ return
diff --git a/scripts/expertise/expertise_en_inspired_fitness_3.py b/scripts/expertise/expertise_en_inspired_fitness_3.py
index 1a6d4126..91839161 100644
--- a/scripts/expertise/expertise_en_inspired_fitness_3.py
+++ b/scripts/expertise/expertise_en_inspired_fitness_3.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_inspired_fitness_3')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_inspired_fitness_3')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_inspired_fitness_3")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_inspired_fitness_3")
+ return
diff --git a/scripts/expertise/expertise_en_inspired_fitness_4.py b/scripts/expertise/expertise_en_inspired_fitness_4.py
index fb5e209a..649ae342 100644
--- a/scripts/expertise/expertise_en_inspired_fitness_4.py
+++ b/scripts/expertise/expertise_en_inspired_fitness_4.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_inspired_fitness_4')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_inspired_fitness_4')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_inspired_fitness_4")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_inspired_fitness_4")
+ return
diff --git a/scripts/expertise/expertise_en_inspired_industry_1.py b/scripts/expertise/expertise_en_inspired_industry_1.py
index ba69a11b..f544cc87 100644
--- a/scripts/expertise/expertise_en_inspired_industry_1.py
+++ b/scripts/expertise/expertise_en_inspired_industry_1.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_inspired_industry_1')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_inspired_industry_1')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_inspired_industry_1")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_inspired_industry_1")
+ return
diff --git a/scripts/expertise/expertise_en_inspired_industry_2.py b/scripts/expertise/expertise_en_inspired_industry_2.py
index 31428c4d..4c0f93d3 100644
--- a/scripts/expertise/expertise_en_inspired_industry_2.py
+++ b/scripts/expertise/expertise_en_inspired_industry_2.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_inspired_industry_2')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_inspired_industry_2')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_inspired_industry_2")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_inspired_industry_2")
+ return
diff --git a/scripts/expertise/expertise_en_inspired_industry_3.py b/scripts/expertise/expertise_en_inspired_industry_3.py
index b72c1a8a..619e0efa 100644
--- a/scripts/expertise/expertise_en_inspired_industry_3.py
+++ b/scripts/expertise/expertise_en_inspired_industry_3.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_inspired_industry_3')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_inspired_industry_3')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_inspired_industry_3")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_inspired_industry_3")
+ return
diff --git a/scripts/expertise/expertise_en_inspired_industry_4.py b/scripts/expertise/expertise_en_inspired_industry_4.py
index 8a704e6c..8a99a16c 100644
--- a/scripts/expertise/expertise_en_inspired_industry_4.py
+++ b/scripts/expertise/expertise_en_inspired_industry_4.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_inspired_industry_4')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_inspired_industry_4')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_inspired_industry_4")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_inspired_industry_4")
+ return
diff --git a/scripts/expertise/expertise_en_inspired_reactions_1.py b/scripts/expertise/expertise_en_inspired_reactions_1.py
index e2dee785..90e56a58 100644
--- a/scripts/expertise/expertise_en_inspired_reactions_1.py
+++ b/scripts/expertise/expertise_en_inspired_reactions_1.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_inspired_reactions_1')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_inspired_reactions_1')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_inspired_reactions_1")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_inspired_reactions_1")
+ return
diff --git a/scripts/expertise/expertise_en_inspired_reactions_2.py b/scripts/expertise/expertise_en_inspired_reactions_2.py
index 91330683..9fb0f596 100644
--- a/scripts/expertise/expertise_en_inspired_reactions_2.py
+++ b/scripts/expertise/expertise_en_inspired_reactions_2.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_inspired_reactions_2')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_inspired_reactions_2')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_inspired_reactions_2")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_inspired_reactions_2")
+ return
diff --git a/scripts/expertise/expertise_en_inspired_reactions_3.py b/scripts/expertise/expertise_en_inspired_reactions_3.py
index e3f05658..0ae224f0 100644
--- a/scripts/expertise/expertise_en_inspired_reactions_3.py
+++ b/scripts/expertise/expertise_en_inspired_reactions_3.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_inspired_reactions_3')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_inspired_reactions_3')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_inspired_reactions_3")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_inspired_reactions_3")
+ return
diff --git a/scripts/expertise/expertise_en_inspired_reactions_4.py b/scripts/expertise/expertise_en_inspired_reactions_4.py
index dee2ec04..c3818211 100644
--- a/scripts/expertise/expertise_en_inspired_reactions_4.py
+++ b/scripts/expertise/expertise_en_inspired_reactions_4.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_inspired_reactions_4')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_inspired_reactions_4')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_inspired_reactions_4")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_inspired_reactions_4")
+ return
diff --git a/scripts/expertise/expertise_en_inspired_resilience_1.py b/scripts/expertise/expertise_en_inspired_resilience_1.py
index 34398163..c62a7767 100644
--- a/scripts/expertise/expertise_en_inspired_resilience_1.py
+++ b/scripts/expertise/expertise_en_inspired_resilience_1.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_inspired_resilience_1')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_inspired_resilience_1')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_inspired_resilience_1")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_inspired_resilience_1")
+ return
diff --git a/scripts/expertise/expertise_en_inspired_resilience_2.py b/scripts/expertise/expertise_en_inspired_resilience_2.py
index b10be5d6..fe23ae90 100644
--- a/scripts/expertise/expertise_en_inspired_resilience_2.py
+++ b/scripts/expertise/expertise_en_inspired_resilience_2.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_inspired_resilience_2')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_inspired_resilience_2')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_inspired_resilience_2")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_inspired_resilience_2")
+ return
diff --git a/scripts/expertise/expertise_en_inspired_resilience_3.py b/scripts/expertise/expertise_en_inspired_resilience_3.py
index 549ed60d..1506e79b 100644
--- a/scripts/expertise/expertise_en_inspired_resilience_3.py
+++ b/scripts/expertise/expertise_en_inspired_resilience_3.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_inspired_resilience_3')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_inspired_resilience_3')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_inspired_resilience_3")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_inspired_resilience_3")
+ return
diff --git a/scripts/expertise/expertise_en_inspired_resilience_4.py b/scripts/expertise/expertise_en_inspired_resilience_4.py
index ecf70c6c..f6db50ad 100644
--- a/scripts/expertise/expertise_en_inspired_resilience_4.py
+++ b/scripts/expertise/expertise_en_inspired_resilience_4.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_inspired_resilience_4')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_inspired_resilience_4')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_inspired_resilience_4")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_inspired_resilience_4")
+ return
diff --git a/scripts/expertise/expertise_en_inspired_warfare_1.py b/scripts/expertise/expertise_en_inspired_warfare_1.py
index 144e1e9c..f1f8049e 100644
--- a/scripts/expertise/expertise_en_inspired_warfare_1.py
+++ b/scripts/expertise/expertise_en_inspired_warfare_1.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_inspired_warfare_1')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_inspired_warfare_1')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_inspired_warfare_1")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_inspired_warfare_1")
+ return
diff --git a/scripts/expertise/expertise_en_inspired_warfare_2.py b/scripts/expertise/expertise_en_inspired_warfare_2.py
index f1cc6d25..541c27f1 100644
--- a/scripts/expertise/expertise_en_inspired_warfare_2.py
+++ b/scripts/expertise/expertise_en_inspired_warfare_2.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_inspired_warfare_2')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_inspired_warfare_2')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_inspired_warfare_2")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_inspired_warfare_2")
+ return
diff --git a/scripts/expertise/expertise_en_inspired_warfare_3.py b/scripts/expertise/expertise_en_inspired_warfare_3.py
index 8430aecf..00781c96 100644
--- a/scripts/expertise/expertise_en_inspired_warfare_3.py
+++ b/scripts/expertise/expertise_en_inspired_warfare_3.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_inspired_warfare_3')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_inspired_warfare_3')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_inspired_warfare_3")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_inspired_warfare_3")
+ return
diff --git a/scripts/expertise/expertise_en_inspired_warfare_4.py b/scripts/expertise/expertise_en_inspired_warfare_4.py
index 4c030c0c..159615a1 100644
--- a/scripts/expertise/expertise_en_inspired_warfare_4.py
+++ b/scripts/expertise/expertise_en_inspired_warfare_4.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_inspired_warfare_4')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_inspired_warfare_4')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_inspired_warfare_4")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_inspired_warfare_4")
+ return
diff --git a/scripts/expertise/expertise_en_intense_performer_1.py b/scripts/expertise/expertise_en_intense_performer_1.py
index cf9f9699..4a064e58 100644
--- a/scripts/expertise/expertise_en_intense_performer_1.py
+++ b/scripts/expertise/expertise_en_intense_performer_1.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_intense_performer_1')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_intense_performer_1')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_intense_performer_1")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_intense_performer_1")
+ return
diff --git a/scripts/expertise/expertise_en_intense_performer_2.py b/scripts/expertise/expertise_en_intense_performer_2.py
index 0582a021..6650519c 100644
--- a/scripts/expertise/expertise_en_intense_performer_2.py
+++ b/scripts/expertise/expertise_en_intense_performer_2.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_intense_performer_2')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_intense_performer_2')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_intense_performer_2")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_intense_performer_2")
+ return
diff --git a/scripts/expertise/expertise_en_intense_performer_3.py b/scripts/expertise/expertise_en_intense_performer_3.py
index 5ee49acf..0c213a0d 100644
--- a/scripts/expertise/expertise_en_intense_performer_3.py
+++ b/scripts/expertise/expertise_en_intense_performer_3.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_intense_performer_3')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_intense_performer_3')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_intense_performer_3")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_intense_performer_3")
+ return
diff --git a/scripts/expertise/expertise_en_intense_performer_4.py b/scripts/expertise/expertise_en_intense_performer_4.py
index 29b5eb73..82cf75e6 100644
--- a/scripts/expertise/expertise_en_intense_performer_4.py
+++ b/scripts/expertise/expertise_en_intense_performer_4.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_intense_performer_4')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_intense_performer_4')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_intense_performer_4")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_intense_performer_4")
+ return
diff --git a/scripts/expertise/expertise_en_lasting_impression_1.py b/scripts/expertise/expertise_en_lasting_impression_1.py
index 960c9b75..cd2f80fe 100644
--- a/scripts/expertise/expertise_en_lasting_impression_1.py
+++ b/scripts/expertise/expertise_en_lasting_impression_1.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_lasting_impression_1')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_lasting_impression_1')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_lasting_impression_1")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_lasting_impression_1")
+ return
diff --git a/scripts/expertise/expertise_en_lasting_impression_2.py b/scripts/expertise/expertise_en_lasting_impression_2.py
index 0ef56c25..2c17365a 100644
--- a/scripts/expertise/expertise_en_lasting_impression_2.py
+++ b/scripts/expertise/expertise_en_lasting_impression_2.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_lasting_impression_2')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_lasting_impression_2')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_lasting_impression_2")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_lasting_impression_2")
+ return
diff --git a/scripts/expertise/expertise_en_lasting_impression_3.py b/scripts/expertise/expertise_en_lasting_impression_3.py
index 74107ef2..2012d616 100644
--- a/scripts/expertise/expertise_en_lasting_impression_3.py
+++ b/scripts/expertise/expertise_en_lasting_impression_3.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_lasting_impression_3')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_lasting_impression_3')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_lasting_impression_3")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_lasting_impression_3")
+ return
diff --git a/scripts/expertise/expertise_en_lasting_impression_4.py b/scripts/expertise/expertise_en_lasting_impression_4.py
index b71d1b91..c90caf25 100644
--- a/scripts/expertise/expertise_en_lasting_impression_4.py
+++ b/scripts/expertise/expertise_en_lasting_impression_4.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_lasting_impression_4')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_lasting_impression_4')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_lasting_impression_4")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_lasting_impression_4")
+ return
diff --git a/scripts/expertise/expertise_en_project_will_1.py b/scripts/expertise/expertise_en_project_will_1.py
index fca5a471..c1a2a52a 100644
--- a/scripts/expertise/expertise_en_project_will_1.py
+++ b/scripts/expertise/expertise_en_project_will_1.py
@@ -1,42 +1,28 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_project_will_1')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_project_will_1')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ if actor.getLevel() >= 18:
+ actor.addAbility("en_project_will_0")
+ if actor.getLevel() >= 30:
+ actor.addAbility("en_project_will_1")
+ if actor.getLevel() >= 42:
+ actor.addAbility("en_project_will_2")
+ if actor.getLevel() >= 54:
+ actor.addAbility("en_project_will_3")
+ if actor.getLevel() >= 66:
+ actor.addAbility("en_project_will_4")
+ if actor.getLevel() >= 78:
+ actor.addAbility("en_project_will_5")
+ if actor.getLevel() >= 90:
+ actor.addAbility("en_project_will_6")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("en_project_will_0")
+ actor.removeAbility("en_project_will_1")
+ actor.removeAbility("en_project_will_2")
+ actor.removeAbility("en_project_will_3")
+ actor.removeAbility("en_project_will_4")
+ actor.removeAbility("en_project_will_5")
+ actor.removeAbility("en_project_will_6")
+ return
diff --git a/scripts/expertise/expertise_en_rising_spirit_1.py b/scripts/expertise/expertise_en_rising_spirit_1.py
index d98b7f8f..a2fda212 100644
--- a/scripts/expertise/expertise_en_rising_spirit_1.py
+++ b/scripts/expertise/expertise_en_rising_spirit_1.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_rising_spirit_1')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_rising_spirit_1')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_rising_spirit_1")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_rising_spirit_1")
+ return
diff --git a/scripts/expertise/expertise_en_rising_spirit_2.py b/scripts/expertise/expertise_en_rising_spirit_2.py
index fa2aa7ce..c7bafd45 100644
--- a/scripts/expertise/expertise_en_rising_spirit_2.py
+++ b/scripts/expertise/expertise_en_rising_spirit_2.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_rising_spirit_2')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_rising_spirit_2')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_rising_spirit_2")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_rising_spirit_2")
+ return
diff --git a/scripts/expertise/expertise_en_rising_spirit_3.py b/scripts/expertise/expertise_en_rising_spirit_3.py
index d0a67d1a..05f1324e 100644
--- a/scripts/expertise/expertise_en_rising_spirit_3.py
+++ b/scripts/expertise/expertise_en_rising_spirit_3.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_rising_spirit_3')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_rising_spirit_3')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_rising_spirit_3")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_rising_spirit_3")
+ return
diff --git a/scripts/expertise/expertise_en_rising_spirit_4.py b/scripts/expertise/expertise_en_rising_spirit_4.py
index 6ba514c8..3deb8a46 100644
--- a/scripts/expertise/expertise_en_rising_spirit_4.py
+++ b/scripts/expertise/expertise_en_rising_spirit_4.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_rising_spirit_4')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_rising_spirit_4')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_rising_spirit_4")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_rising_spirit_4")
+ return
diff --git a/scripts/expertise/expertise_en_second_chance_1.py b/scripts/expertise/expertise_en_second_chance_1.py
index d2b9b7a8..ae7e08ae 100644
--- a/scripts/expertise/expertise_en_second_chance_1.py
+++ b/scripts/expertise/expertise_en_second_chance_1.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_second_chance_1')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_second_chance_1')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("en_second_chance_buff_package")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("en_second_chance_buff_package")
+ return
diff --git a/scripts/expertise/expertise_en_show_stopper_1.py b/scripts/expertise/expertise_en_show_stopper_1.py
index d16d5dd9..bb347a8e 100644
--- a/scripts/expertise/expertise_en_show_stopper_1.py
+++ b/scripts/expertise/expertise_en_show_stopper_1.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_show_stopper_1')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_show_stopper_1')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_show_stopper_1")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_show_stopper_1")
+ return
diff --git a/scripts/expertise/expertise_en_show_stopper_2.py b/scripts/expertise/expertise_en_show_stopper_2.py
index 7995274e..99493ec7 100644
--- a/scripts/expertise/expertise_en_show_stopper_2.py
+++ b/scripts/expertise/expertise_en_show_stopper_2.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_show_stopper_2')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_show_stopper_2')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_show_stopper_2")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_show_stopper_2")
+ return
diff --git a/scripts/expertise/expertise_en_show_stopper_3.py b/scripts/expertise/expertise_en_show_stopper_3.py
index cde9ac57..4f70ff63 100644
--- a/scripts/expertise/expertise_en_show_stopper_3.py
+++ b/scripts/expertise/expertise_en_show_stopper_3.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_show_stopper_3')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_show_stopper_3')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_show_stopper_3")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_show_stopper_3")
+ return
diff --git a/scripts/expertise/expertise_en_spiral_kick_1.py b/scripts/expertise/expertise_en_spiral_kick_1.py
index 57b6f98a..f369c1c0 100644
--- a/scripts/expertise/expertise_en_spiral_kick_1.py
+++ b/scripts/expertise/expertise_en_spiral_kick_1.py
@@ -1,42 +1,22 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_spiral_kick_1')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_spiral_kick_1')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ if actor.getLevel() >= 34:
+ actor.addAbility("en_spiral_kick_0")
+ if actor.getLevel() >= 48:
+ actor.addAbility("en_spiral_kick_1")
+ if actor.getLevel() >= 62:
+ actor.addAbility("en_spiral_kick_2")
+ if actor.getLevel() >= 76:
+ actor.addAbility("en_spiral_kick_3")
+ if actor.getLevel() >= 90:
+ actor.addAbility("en_spiral_kick_4")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("en_spiral_kick_0")
+ actor.removeAbility("en_spiral_kick_1")
+ actor.removeAbility("en_spiral_kick_2")
+ actor.removeAbility("en_spiral_kick_3")
+ actor.removeAbility("en_spiral_kick_4")
+ return
diff --git a/scripts/expertise/expertise_en_sprint_1.py b/scripts/expertise/expertise_en_sprint_1.py
index 58f386ae..130650ef 100644
--- a/scripts/expertise/expertise_en_sprint_1.py
+++ b/scripts/expertise/expertise_en_sprint_1.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_sprint_1')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_sprint_1')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("en_sprint_1")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("en_sprint_1")
+ return
diff --git a/scripts/expertise/expertise_en_stage_presence_1.py b/scripts/expertise/expertise_en_stage_presence_1.py
index 943fb62a..073086aa 100644
--- a/scripts/expertise/expertise_en_stage_presence_1.py
+++ b/scripts/expertise/expertise_en_stage_presence_1.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_stage_presence_1')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_stage_presence_1')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_stage_presence_1")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_stage_presence_1")
+ return
diff --git a/scripts/expertise/expertise_en_stage_presence_2.py b/scripts/expertise/expertise_en_stage_presence_2.py
index 2e862dc8..95a28985 100644
--- a/scripts/expertise/expertise_en_stage_presence_2.py
+++ b/scripts/expertise/expertise_en_stage_presence_2.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_stage_presence_2')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_stage_presence_2')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_stage_presence_2")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_stage_presence_2")
+ return
diff --git a/scripts/expertise/expertise_en_stage_presence_3.py b/scripts/expertise/expertise_en_stage_presence_3.py
index 39e69a2b..827f44ea 100644
--- a/scripts/expertise/expertise_en_stage_presence_3.py
+++ b/scripts/expertise/expertise_en_stage_presence_3.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_stage_presence_3')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_stage_presence_3')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_stage_presence_3")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_stage_presence_3")
+ return
diff --git a/scripts/expertise/expertise_en_strike_1.py b/scripts/expertise/expertise_en_strike_1.py
index e50b3c7f..6e76a074 100644
--- a/scripts/expertise/expertise_en_strike_1.py
+++ b/scripts/expertise/expertise_en_strike_1.py
@@ -1,42 +1,28 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_strike_1')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_strike_1')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ if actor.getLevel() >= 10:
+ actor.addAbility("en_strike_0")
+ if actor.getLevel() >= 22:
+ actor.addAbility("en_strike_1")
+ if actor.getLevel() >= 34:
+ actor.addAbility("en_strike_2")
+ if actor.getLevel() >= 46:
+ actor.addAbility("en_strike_3")
+ if actor.getLevel() >= 58:
+ actor.addAbility("en_strike_4")
+ if actor.getLevel() >= 70:
+ actor.addAbility("en_strike_5")
+ if actor.getLevel() >= 82:
+ actor.addAbility("en_strike_6")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("en_strike_0")
+ actor.removeAbility("en_strike_1")
+ actor.removeAbility("en_strike_2")
+ actor.removeAbility("en_strike_3")
+ actor.removeAbility("en_strike_4")
+ actor.removeAbility("en_strike_5")
+ actor.removeAbility("en_strike_6")
+ return
diff --git a/scripts/expertise/expertise_en_sweeping_pirouette_1.py b/scripts/expertise/expertise_en_sweeping_pirouette_1.py
index a3d54841..906f27d2 100644
--- a/scripts/expertise/expertise_en_sweeping_pirouette_1.py
+++ b/scripts/expertise/expertise_en_sweeping_pirouette_1.py
@@ -1,42 +1,20 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_sweeping_pirouette_1')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_sweeping_pirouette_1')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ if actor.getLevel() >= 26:
+ actor.addAbility("en_sweeping_pirouette_0")
+ if actor.getLevel() >= 38:
+ actor.addAbility("en_sweeping_pirouette_1")
+ if actor.getLevel() >= 50:
+ actor.addAbility("en_sweeping_pirouette_2")
+ if actor.getLevel() >= 62:
+ actor.addAbility("en_sweeping_pirouette_3")
+ if actor.getLevel() >= 74:
+ actor.addAbility("en_sweeping_pirouette_4")
+ if actor.getLevel() >= 86:
+ actor.addAbility("en_sweeping_pirouette_5")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("en_sweeping_pirouette_0")
+ return
diff --git a/scripts/expertise/expertise_en_thought_as_action_1.py b/scripts/expertise/expertise_en_thought_as_action_1.py
index 4fb5717b..8d109903 100644
--- a/scripts/expertise/expertise_en_thought_as_action_1.py
+++ b/scripts/expertise/expertise_en_thought_as_action_1.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_thought_as_action_1')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_thought_as_action_1')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_thought_as_action_1")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_thought_as_action_1")
+ return
diff --git a/scripts/expertise/expertise_en_thought_as_action_2.py b/scripts/expertise/expertise_en_thought_as_action_2.py
index f61ce96a..bd397576 100644
--- a/scripts/expertise/expertise_en_thought_as_action_2.py
+++ b/scripts/expertise/expertise_en_thought_as_action_2.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_thought_as_action_2')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_thought_as_action_2')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_thought_as_action_2")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_thought_as_action_2")
+ return
diff --git a/scripts/expertise/expertise_en_thought_as_action_3.py b/scripts/expertise/expertise_en_thought_as_action_3.py
index a137de8c..abbee833 100644
--- a/scripts/expertise/expertise_en_thought_as_action_3.py
+++ b/scripts/expertise/expertise_en_thought_as_action_3.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_thought_as_action_3')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_thought_as_action_3')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_thought_as_action_3")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_thought_as_action_3")
+ return
diff --git a/scripts/expertise/expertise_en_thought_as_action_4.py b/scripts/expertise/expertise_en_thought_as_action_4.py
index 4ff868cc..76958de5 100644
--- a/scripts/expertise/expertise_en_thought_as_action_4.py
+++ b/scripts/expertise/expertise_en_thought_as_action_4.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_thought_as_action_4')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_thought_as_action_4')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_thought_as_action_4")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_thought_as_action_4")
+ return
diff --git a/scripts/expertise/expertise_en_thrill_1.py b/scripts/expertise/expertise_en_thrill_1.py
index cfd2e37d..82c68807 100644
--- a/scripts/expertise/expertise_en_thrill_1.py
+++ b/scripts/expertise/expertise_en_thrill_1.py
@@ -1,42 +1,16 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_thrill_1')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_thrill_1')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ if actor.getLevel() >= 10:
+ actor.addAbility("en_thrill")
+ if actor.getLevel() >= 34:
+ actor.addAbility("en_thrill_1")
+ if actor.getLevel() >= 62:
+ actor.addAbility("en_thrill_2")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("en_thrill")
+ actor.removeAbility("en_thrill_1")
+ actor.removeAbility("en_thrill_2")
+ return
diff --git a/scripts/expertise/expertise_en_to_the_hilt_1.py b/scripts/expertise/expertise_en_to_the_hilt_1.py
index 7c6c8b8c..18db5e7d 100644
--- a/scripts/expertise/expertise_en_to_the_hilt_1.py
+++ b/scripts/expertise/expertise_en_to_the_hilt_1.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_to_the_hilt_1')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_to_the_hilt_1')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_to_the_hilt_1")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_to_the_hilt_1")
+ return
diff --git a/scripts/expertise/expertise_en_to_the_hilt_2.py b/scripts/expertise/expertise_en_to_the_hilt_2.py
index 6cf27a28..5546a211 100644
--- a/scripts/expertise/expertise_en_to_the_hilt_2.py
+++ b/scripts/expertise/expertise_en_to_the_hilt_2.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_to_the_hilt_2')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_to_the_hilt_2')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_to_the_hilt_2")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_to_the_hilt_2")
+ return
diff --git a/scripts/expertise/expertise_en_unhealthy_fixation_1.py b/scripts/expertise/expertise_en_unhealthy_fixation_1.py
index d3b59676..2e2a2f30 100644
--- a/scripts/expertise/expertise_en_unhealthy_fixation_1.py
+++ b/scripts/expertise/expertise_en_unhealthy_fixation_1.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_unhealthy_fixation_1')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_unhealthy_fixation_1')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("en_unhealthy_fixation")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("en_unhealthy_fixation")
+ return
diff --git a/scripts/expertise/expertise_en_uprising_1.py b/scripts/expertise/expertise_en_uprising_1.py
index 1094d783..dc55de01 100644
--- a/scripts/expertise/expertise_en_uprising_1.py
+++ b/scripts/expertise/expertise_en_uprising_1.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_uprising_1')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_uprising_1')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_uprising_1")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_uprising_1")
+ return
diff --git a/scripts/expertise/expertise_en_uprising_2.py b/scripts/expertise/expertise_en_uprising_2.py
index e20bc8e6..5540f85b 100644
--- a/scripts/expertise/expertise_en_uprising_2.py
+++ b/scripts/expertise/expertise_en_uprising_2.py
@@ -1,42 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_uprising_2')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_uprising_2')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ actor.addAbility("expertise_en_uprising_2")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("expertise_en_uprising_2")
+ return
diff --git a/scripts/expertise/expertise_en_void_dance_1.py b/scripts/expertise/expertise_en_void_dance_1.py
index bbd46c9c..7127a2c4 100644
--- a/scripts/expertise/expertise_en_void_dance_1.py
+++ b/scripts/expertise/expertise_en_void_dance_1.py
@@ -1,42 +1,16 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.addSkill('expertise_en_void_dance_1')
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'entertainer_1a':
- return
-
- actor.removeSkill('expertise_en_void_dance_1')
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- return
+ if actor.getLevel() >= 10:
+ actor.addAbility("en_void_dance_1")
+ if actor.getLevel() >= 34:
+ actor.addAbility("en_void_dance_2")
+ if actor.getLevel() >= 62:
+ actor.addAbility("en_void_dance_3")
+ return
def removeAbilities(core, actor, player):
-
- return
-
+ actor.removeAbility("en_void_dance_1")
+ actor.removeAbility("en_void_dance_2")
+ actor.removeAbility("en_void_dance_3")
+ return
diff --git a/scripts/expertise/expertise_engineering_artisan_advanced_theory_1.py b/scripts/expertise/expertise_engineering_artisan_advanced_theory_1.py
index aaf17d68..bd6b7454 100644
--- a/scripts/expertise/expertise_engineering_artisan_advanced_theory_1.py
+++ b/scripts/expertise/expertise_engineering_artisan_advanced_theory_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.addSkill('expertise_engineering_artisan_advanced_theory_1')
-
- actor.addSkillMod('general_experimentation', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.removeSkill('expertise_engineering_artisan_advanced_theory_1')
-
- actor.removeSkillMod('general_experimentation', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_engineering_artisan_advanced_theory_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_engineering_artisan_advanced_theory_1")
return
diff --git a/scripts/expertise/expertise_engineering_artisan_dexterity_1.py b/scripts/expertise/expertise_engineering_artisan_dexterity_1.py
index 1f4d7860..3e103c16 100644
--- a/scripts/expertise/expertise_engineering_artisan_dexterity_1.py
+++ b/scripts/expertise/expertise_engineering_artisan_dexterity_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.addSkill('expertise_engineering_artisan_dexterity_1')
-
- actor.addSkillMod('general_assembly', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.removeSkill('expertise_engineering_artisan_dexterity_1')
-
- actor.removeSkillMod('general_assembly', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_engineering_artisan_dexterity_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_engineering_artisan_dexterity_1")
return
diff --git a/scripts/expertise/expertise_engineering_artisan_dexterity_2.py b/scripts/expertise/expertise_engineering_artisan_dexterity_2.py
index 28cff05e..50edc60b 100644
--- a/scripts/expertise/expertise_engineering_artisan_dexterity_2.py
+++ b/scripts/expertise/expertise_engineering_artisan_dexterity_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.addSkill('expertise_engineering_artisan_dexterity_2')
-
- actor.addSkillMod('general_assembly', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.removeSkill('expertise_engineering_artisan_dexterity_2')
-
- actor.removeSkillMod('general_assembly', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_engineering_artisan_dexterity_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_engineering_artisan_dexterity_2")
return
diff --git a/scripts/expertise/expertise_engineering_artisan_dexterity_3.py b/scripts/expertise/expertise_engineering_artisan_dexterity_3.py
index 11e3b091..0cd8c37e 100644
--- a/scripts/expertise/expertise_engineering_artisan_dexterity_3.py
+++ b/scripts/expertise/expertise_engineering_artisan_dexterity_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.addSkill('expertise_engineering_artisan_dexterity_3')
-
- actor.addSkillMod('general_assembly', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.removeSkill('expertise_engineering_artisan_dexterity_3')
-
- actor.removeSkillMod('general_assembly', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_engineering_artisan_dexterity_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_engineering_artisan_dexterity_3")
return
diff --git a/scripts/expertise/expertise_engineering_artisan_dexterity_4.py b/scripts/expertise/expertise_engineering_artisan_dexterity_4.py
index ae8bab3f..34c64977 100644
--- a/scripts/expertise/expertise_engineering_artisan_dexterity_4.py
+++ b/scripts/expertise/expertise_engineering_artisan_dexterity_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.addSkill('expertise_engineering_artisan_dexterity_4')
-
- actor.addSkillMod('general_assembly', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.removeSkill('expertise_engineering_artisan_dexterity_4')
-
- actor.removeSkillMod('general_assembly', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_engineering_artisan_dexterity_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_engineering_artisan_dexterity_4")
return
diff --git a/scripts/expertise/expertise_engineering_artisan_hypothesis_1.py b/scripts/expertise/expertise_engineering_artisan_hypothesis_1.py
index eb7b0aa0..c2daa093 100644
--- a/scripts/expertise/expertise_engineering_artisan_hypothesis_1.py
+++ b/scripts/expertise/expertise_engineering_artisan_hypothesis_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.addSkill('expertise_engineering_artisan_hypothesis_1')
-
- actor.addSkillMod('expertise_experimentation_increase_artisan', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.removeSkill('expertise_engineering_artisan_hypothesis_1')
-
- actor.removeSkillMod('expertise_experimentation_increase_artisan', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_engineering_artisan_hypothesis_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_engineering_artisan_hypothesis_1")
return
diff --git a/scripts/expertise/expertise_engineering_artisan_hypothesis_2.py b/scripts/expertise/expertise_engineering_artisan_hypothesis_2.py
index 14e79abd..96592a1b 100644
--- a/scripts/expertise/expertise_engineering_artisan_hypothesis_2.py
+++ b/scripts/expertise/expertise_engineering_artisan_hypothesis_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.addSkill('expertise_engineering_artisan_hypothesis_2')
-
- actor.addSkillMod('expertise_experimentation_increase_artisan', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.removeSkill('expertise_engineering_artisan_hypothesis_2')
-
- actor.removeSkillMod('expertise_experimentation_increase_artisan', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_engineering_artisan_hypothesis_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_engineering_artisan_hypothesis_2")
return
diff --git a/scripts/expertise/expertise_engineering_artisan_hypothesis_3.py b/scripts/expertise/expertise_engineering_artisan_hypothesis_3.py
index 29b90722..e4f6a8b1 100644
--- a/scripts/expertise/expertise_engineering_artisan_hypothesis_3.py
+++ b/scripts/expertise/expertise_engineering_artisan_hypothesis_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.addSkill('expertise_engineering_artisan_hypothesis_3')
-
- actor.addSkillMod('expertise_experimentation_increase_artisan', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.removeSkill('expertise_engineering_artisan_hypothesis_3')
-
- actor.removeSkillMod('expertise_experimentation_increase_artisan', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_engineering_artisan_hypothesis_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_engineering_artisan_hypothesis_3")
return
diff --git a/scripts/expertise/expertise_engineering_artisan_hypothesis_4.py b/scripts/expertise/expertise_engineering_artisan_hypothesis_4.py
index 1ffb1f9a..95f93fbd 100644
--- a/scripts/expertise/expertise_engineering_artisan_hypothesis_4.py
+++ b/scripts/expertise/expertise_engineering_artisan_hypothesis_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.addSkill('expertise_engineering_artisan_hypothesis_4')
-
- actor.addSkillMod('expertise_experimentation_increase_artisan', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.removeSkill('expertise_engineering_artisan_hypothesis_4')
-
- actor.removeSkillMod('expertise_experimentation_increase_artisan', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_engineering_artisan_hypothesis_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_engineering_artisan_hypothesis_4")
return
diff --git a/scripts/expertise/expertise_engineering_cybernetic_advanced_theory_1.py b/scripts/expertise/expertise_engineering_cybernetic_advanced_theory_1.py
index 2a99c79f..e7cf240d 100644
--- a/scripts/expertise/expertise_engineering_cybernetic_advanced_theory_1.py
+++ b/scripts/expertise/expertise_engineering_cybernetic_advanced_theory_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.addSkill('expertise_engineering_cybernetic_advanced_theory_1')
-
- actor.addSkillMod('cybernetic_experimentation', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.removeSkill('expertise_engineering_cybernetic_advanced_theory_1')
-
- actor.removeSkillMod('cybernetic_experimentation', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_engineering_cybernetic_advanced_theory_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_engineering_cybernetic_advanced_theory_1")
return
diff --git a/scripts/expertise/expertise_engineering_cybernetic_hypothesis_1.py b/scripts/expertise/expertise_engineering_cybernetic_hypothesis_1.py
index a23e203d..bbf9682e 100644
--- a/scripts/expertise/expertise_engineering_cybernetic_hypothesis_1.py
+++ b/scripts/expertise/expertise_engineering_cybernetic_hypothesis_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.addSkill('expertise_engineering_cybernetic_hypothesis_1')
-
- actor.addSkillMod('expertise_experimentation_increase_cybernetic', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.removeSkill('expertise_engineering_cybernetic_hypothesis_1')
-
- actor.removeSkillMod('expertise_experimentation_increase_cybernetic', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_engineering_cybernetic_hypothesis_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_engineering_cybernetic_hypothesis_1")
return
diff --git a/scripts/expertise/expertise_engineering_cybernetic_hypothesis_2.py b/scripts/expertise/expertise_engineering_cybernetic_hypothesis_2.py
index 017890cd..6c7d6b20 100644
--- a/scripts/expertise/expertise_engineering_cybernetic_hypothesis_2.py
+++ b/scripts/expertise/expertise_engineering_cybernetic_hypothesis_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.addSkill('expertise_engineering_cybernetic_hypothesis_2')
-
- actor.addSkillMod('expertise_experimentation_increase_cybernetic', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.removeSkill('expertise_engineering_cybernetic_hypothesis_2')
-
- actor.removeSkillMod('expertise_experimentation_increase_cybernetic', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_engineering_cybernetic_hypothesis_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_engineering_cybernetic_hypothesis_2")
return
diff --git a/scripts/expertise/expertise_engineering_cybernetic_hypothesis_3.py b/scripts/expertise/expertise_engineering_cybernetic_hypothesis_3.py
index adef4cc9..fc963038 100644
--- a/scripts/expertise/expertise_engineering_cybernetic_hypothesis_3.py
+++ b/scripts/expertise/expertise_engineering_cybernetic_hypothesis_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.addSkill('expertise_engineering_cybernetic_hypothesis_3')
-
- actor.addSkillMod('expertise_experimentation_increase_cybernetic', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.removeSkill('expertise_engineering_cybernetic_hypothesis_3')
-
- actor.removeSkillMod('expertise_experimentation_increase_cybernetic', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_engineering_cybernetic_hypothesis_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_engineering_cybernetic_hypothesis_3")
return
diff --git a/scripts/expertise/expertise_engineering_cybernetic_hypothesis_4.py b/scripts/expertise/expertise_engineering_cybernetic_hypothesis_4.py
index 85aab1da..4f15a6d8 100644
--- a/scripts/expertise/expertise_engineering_cybernetic_hypothesis_4.py
+++ b/scripts/expertise/expertise_engineering_cybernetic_hypothesis_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.addSkill('expertise_engineering_cybernetic_hypothesis_4')
-
- actor.addSkillMod('expertise_experimentation_increase_cybernetic', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.removeSkill('expertise_engineering_cybernetic_hypothesis_4')
-
- actor.removeSkillMod('expertise_experimentation_increase_cybernetic', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_engineering_cybernetic_hypothesis_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_engineering_cybernetic_hypothesis_4")
return
diff --git a/scripts/expertise/expertise_engineering_cybernetic_negative_effects_reduction_1.py b/scripts/expertise/expertise_engineering_cybernetic_negative_effects_reduction_1.py
index 1a6c2b4e..658dd7df 100644
--- a/scripts/expertise/expertise_engineering_cybernetic_negative_effects_reduction_1.py
+++ b/scripts/expertise/expertise_engineering_cybernetic_negative_effects_reduction_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.addSkill('expertise_engineering_cybernetic_negative_effects_reduction_1')
-
- actor.addSkillMod('expertise_cybernetic_negative_effects_reduction', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.removeSkill('expertise_engineering_cybernetic_negative_effects_reduction_1')
-
- actor.removeSkillMod('expertise_cybernetic_negative_effects_reduction', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_engineering_cybernetic_negative_effects_reduction_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_engineering_cybernetic_negative_effects_reduction_1")
return
diff --git a/scripts/expertise/expertise_engineering_cybernetic_negative_effects_reduction_2.py b/scripts/expertise/expertise_engineering_cybernetic_negative_effects_reduction_2.py
index 52dfd22b..d04160b0 100644
--- a/scripts/expertise/expertise_engineering_cybernetic_negative_effects_reduction_2.py
+++ b/scripts/expertise/expertise_engineering_cybernetic_negative_effects_reduction_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.addSkill('expertise_engineering_cybernetic_negative_effects_reduction_2')
-
- actor.addSkillMod('expertise_cybernetic_negative_effects_reduction', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.removeSkill('expertise_engineering_cybernetic_negative_effects_reduction_2')
-
- actor.removeSkillMod('expertise_cybernetic_negative_effects_reduction', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_engineering_cybernetic_negative_effects_reduction_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_engineering_cybernetic_negative_effects_reduction_2")
return
diff --git a/scripts/expertise/expertise_engineering_cybernetic_negative_effects_reduction_3.py b/scripts/expertise/expertise_engineering_cybernetic_negative_effects_reduction_3.py
index eb2c7532..9c98e65b 100644
--- a/scripts/expertise/expertise_engineering_cybernetic_negative_effects_reduction_3.py
+++ b/scripts/expertise/expertise_engineering_cybernetic_negative_effects_reduction_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.addSkill('expertise_engineering_cybernetic_negative_effects_reduction_3')
-
- actor.addSkillMod('expertise_cybernetic_negative_effects_reduction', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.removeSkill('expertise_engineering_cybernetic_negative_effects_reduction_3')
-
- actor.removeSkillMod('expertise_cybernetic_negative_effects_reduction', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_engineering_cybernetic_negative_effects_reduction_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_engineering_cybernetic_negative_effects_reduction_3")
return
diff --git a/scripts/expertise/expertise_engineering_cybernetic_negative_effects_reduction_4.py b/scripts/expertise/expertise_engineering_cybernetic_negative_effects_reduction_4.py
index da6d8d56..93bd0c81 100644
--- a/scripts/expertise/expertise_engineering_cybernetic_negative_effects_reduction_4.py
+++ b/scripts/expertise/expertise_engineering_cybernetic_negative_effects_reduction_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.addSkill('expertise_engineering_cybernetic_negative_effects_reduction_4')
-
- actor.addSkillMod('expertise_cybernetic_negative_effects_reduction', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.removeSkill('expertise_engineering_cybernetic_negative_effects_reduction_4')
-
- actor.removeSkillMod('expertise_cybernetic_negative_effects_reduction', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_engineering_cybernetic_negative_effects_reduction_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_engineering_cybernetic_negative_effects_reduction_4")
return
diff --git a/scripts/expertise/expertise_engineering_cybernetic_s03_schematics_1.py b/scripts/expertise/expertise_engineering_cybernetic_s03_schematics_1.py
index f20459ec..59dacda7 100644
--- a/scripts/expertise/expertise_engineering_cybernetic_s03_schematics_1.py
+++ b/scripts/expertise/expertise_engineering_cybernetic_s03_schematics_1.py
@@ -1,46 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.addSkill('expertise_engineering_cybernetic_s03_schematics_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.removeSkill('expertise_engineering_cybernetic_s03_schematics_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_engineering_cybernetic_s03_schematics_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_engineering_cybernetic_s03_schematics_1")
return
diff --git a/scripts/expertise/expertise_engineering_droid_advanced_theory_1.py b/scripts/expertise/expertise_engineering_droid_advanced_theory_1.py
index 36c97c2d..8435fcae 100644
--- a/scripts/expertise/expertise_engineering_droid_advanced_theory_1.py
+++ b/scripts/expertise/expertise_engineering_droid_advanced_theory_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.addSkill('expertise_engineering_droid_advanced_theory_1')
-
- actor.addSkillMod('droid_experimentation', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.removeSkill('expertise_engineering_droid_advanced_theory_1')
-
- actor.removeSkillMod('droid_experimentation', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_engineering_droid_advanced_theory_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_engineering_droid_advanced_theory_1")
return
diff --git a/scripts/expertise/expertise_engineering_droid_dexterity_1.py b/scripts/expertise/expertise_engineering_droid_dexterity_1.py
index 4195d6b0..58da3ce9 100644
--- a/scripts/expertise/expertise_engineering_droid_dexterity_1.py
+++ b/scripts/expertise/expertise_engineering_droid_dexterity_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.addSkill('expertise_engineering_droid_dexterity_1')
-
- actor.addSkillMod('droid_assembly', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.removeSkill('expertise_engineering_droid_dexterity_1')
-
- actor.removeSkillMod('droid_assembly', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_engineering_droid_dexterity_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_engineering_droid_dexterity_1")
return
diff --git a/scripts/expertise/expertise_engineering_droid_dexterity_2.py b/scripts/expertise/expertise_engineering_droid_dexterity_2.py
index 53052f6a..5608862f 100644
--- a/scripts/expertise/expertise_engineering_droid_dexterity_2.py
+++ b/scripts/expertise/expertise_engineering_droid_dexterity_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.addSkill('expertise_engineering_droid_dexterity_2')
-
- actor.addSkillMod('droid_assembly', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.removeSkill('expertise_engineering_droid_dexterity_2')
-
- actor.removeSkillMod('droid_assembly', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_engineering_droid_dexterity_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_engineering_droid_dexterity_2")
return
diff --git a/scripts/expertise/expertise_engineering_droid_dexterity_3.py b/scripts/expertise/expertise_engineering_droid_dexterity_3.py
index 438fbf7c..a5f8e6df 100644
--- a/scripts/expertise/expertise_engineering_droid_dexterity_3.py
+++ b/scripts/expertise/expertise_engineering_droid_dexterity_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.addSkill('expertise_engineering_droid_dexterity_3')
-
- actor.addSkillMod('droid_assembly', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.removeSkill('expertise_engineering_droid_dexterity_3')
-
- actor.removeSkillMod('droid_assembly', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_engineering_droid_dexterity_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_engineering_droid_dexterity_3")
return
diff --git a/scripts/expertise/expertise_engineering_droid_dexterity_4.py b/scripts/expertise/expertise_engineering_droid_dexterity_4.py
index 6547a684..ce65339b 100644
--- a/scripts/expertise/expertise_engineering_droid_dexterity_4.py
+++ b/scripts/expertise/expertise_engineering_droid_dexterity_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.addSkill('expertise_engineering_droid_dexterity_4')
-
- actor.addSkillMod('droid_assembly', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.removeSkill('expertise_engineering_droid_dexterity_4')
-
- actor.removeSkillMod('droid_assembly', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_engineering_droid_dexterity_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_engineering_droid_dexterity_4")
return
diff --git a/scripts/expertise/expertise_engineering_droid_hypothesis_1.py b/scripts/expertise/expertise_engineering_droid_hypothesis_1.py
index a57e47ed..71ad763c 100644
--- a/scripts/expertise/expertise_engineering_droid_hypothesis_1.py
+++ b/scripts/expertise/expertise_engineering_droid_hypothesis_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.addSkill('expertise_engineering_droid_hypothesis_1')
-
- actor.addSkillMod('expertise_experimentation_increase_droid', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.removeSkill('expertise_engineering_droid_hypothesis_1')
-
- actor.removeSkillMod('expertise_experimentation_increase_droid', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_engineering_droid_hypothesis_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_engineering_droid_hypothesis_1")
return
diff --git a/scripts/expertise/expertise_engineering_droid_hypothesis_2.py b/scripts/expertise/expertise_engineering_droid_hypothesis_2.py
index 4658c156..56645f9b 100644
--- a/scripts/expertise/expertise_engineering_droid_hypothesis_2.py
+++ b/scripts/expertise/expertise_engineering_droid_hypothesis_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.addSkill('expertise_engineering_droid_hypothesis_2')
-
- actor.addSkillMod('expertise_experimentation_increase_droid', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.removeSkill('expertise_engineering_droid_hypothesis_2')
-
- actor.removeSkillMod('expertise_experimentation_increase_droid', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_engineering_droid_hypothesis_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_engineering_droid_hypothesis_2")
return
diff --git a/scripts/expertise/expertise_engineering_droid_hypothesis_3.py b/scripts/expertise/expertise_engineering_droid_hypothesis_3.py
index 3f8a59a1..dc413239 100644
--- a/scripts/expertise/expertise_engineering_droid_hypothesis_3.py
+++ b/scripts/expertise/expertise_engineering_droid_hypothesis_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.addSkill('expertise_engineering_droid_hypothesis_3')
-
- actor.addSkillMod('expertise_experimentation_increase_droid', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.removeSkill('expertise_engineering_droid_hypothesis_3')
-
- actor.removeSkillMod('expertise_experimentation_increase_droid', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_engineering_droid_hypothesis_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_engineering_droid_hypothesis_3")
return
diff --git a/scripts/expertise/expertise_engineering_droid_hypothesis_4.py b/scripts/expertise/expertise_engineering_droid_hypothesis_4.py
index fc794c58..7b5af620 100644
--- a/scripts/expertise/expertise_engineering_droid_hypothesis_4.py
+++ b/scripts/expertise/expertise_engineering_droid_hypothesis_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.addSkill('expertise_engineering_droid_hypothesis_4')
-
- actor.addSkillMod('expertise_experimentation_increase_droid', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.removeSkill('expertise_engineering_droid_hypothesis_4')
-
- actor.removeSkillMod('expertise_experimentation_increase_droid', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_engineering_droid_hypothesis_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_engineering_droid_hypothesis_4")
return
diff --git a/scripts/expertise/expertise_engineering_droid_insight_1.py b/scripts/expertise/expertise_engineering_droid_insight_1.py
index afb13261..6209cf4e 100644
--- a/scripts/expertise/expertise_engineering_droid_insight_1.py
+++ b/scripts/expertise/expertise_engineering_droid_insight_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.addSkill('expertise_engineering_droid_insight_1')
-
- actor.addSkillMod('expertise_complexity_decrease_droid', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.removeSkill('expertise_engineering_droid_insight_1')
-
- actor.removeSkillMod('expertise_complexity_decrease_droid', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_engineering_droid_insight_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_engineering_droid_insight_1")
return
diff --git a/scripts/expertise/expertise_engineering_droid_insight_2.py b/scripts/expertise/expertise_engineering_droid_insight_2.py
index 9a3ccca5..cfd7d326 100644
--- a/scripts/expertise/expertise_engineering_droid_insight_2.py
+++ b/scripts/expertise/expertise_engineering_droid_insight_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.addSkill('expertise_engineering_droid_insight_2')
-
- actor.addSkillMod('expertise_complexity_decrease_droid', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.removeSkill('expertise_engineering_droid_insight_2')
-
- actor.removeSkillMod('expertise_complexity_decrease_droid', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_engineering_droid_insight_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_engineering_droid_insight_2")
return
diff --git a/scripts/expertise/expertise_engineering_droid_keen_understanding_1.py b/scripts/expertise/expertise_engineering_droid_keen_understanding_1.py
index e47da182..471b9cf0 100644
--- a/scripts/expertise/expertise_engineering_droid_keen_understanding_1.py
+++ b/scripts/expertise/expertise_engineering_droid_keen_understanding_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.addSkill('expertise_engineering_droid_keen_understanding_1')
-
- actor.addSkillMod('expertise_complexity_decrease_droid', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.removeSkill('expertise_engineering_droid_keen_understanding_1')
-
- actor.removeSkillMod('expertise_complexity_decrease_droid', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_engineering_droid_keen_understanding_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_engineering_droid_keen_understanding_1")
return
diff --git a/scripts/expertise/expertise_engineering_droid_keen_understanding_2.py b/scripts/expertise/expertise_engineering_droid_keen_understanding_2.py
index 5cd3dd65..c7bd1ede 100644
--- a/scripts/expertise/expertise_engineering_droid_keen_understanding_2.py
+++ b/scripts/expertise/expertise_engineering_droid_keen_understanding_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.addSkill('expertise_engineering_droid_keen_understanding_2')
-
- actor.addSkillMod('expertise_complexity_decrease_droid', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.removeSkill('expertise_engineering_droid_keen_understanding_2')
-
- actor.removeSkillMod('expertise_complexity_decrease_droid', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_engineering_droid_keen_understanding_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_engineering_droid_keen_understanding_2")
return
diff --git a/scripts/expertise/expertise_engineering_droid_schematic_1_1.py b/scripts/expertise/expertise_engineering_droid_schematic_1_1.py
index 6340cdd7..c9a0234c 100644
--- a/scripts/expertise/expertise_engineering_droid_schematic_1_1.py
+++ b/scripts/expertise/expertise_engineering_droid_schematic_1_1.py
@@ -1,46 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.addSkill('expertise_engineering_droid_schematic_1_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.removeSkill('expertise_engineering_droid_schematic_1_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_engineering_droid_schematic_1_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_engineering_droid_schematic_1_1")
return
diff --git a/scripts/expertise/expertise_engineering_droid_schematic_2_1.py b/scripts/expertise/expertise_engineering_droid_schematic_2_1.py
index 9ade7f61..c7e1a68f 100644
--- a/scripts/expertise/expertise_engineering_droid_schematic_2_1.py
+++ b/scripts/expertise/expertise_engineering_droid_schematic_2_1.py
@@ -1,46 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.addSkill('expertise_engineering_droid_schematic_2_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.removeSkill('expertise_engineering_droid_schematic_2_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_engineering_droid_schematic_2_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_engineering_droid_schematic_2_1")
return
diff --git a/scripts/expertise/expertise_engineering_resource_processing_1.py b/scripts/expertise/expertise_engineering_resource_processing_1.py
index 6c8953a7..38aa0595 100644
--- a/scripts/expertise/expertise_engineering_resource_processing_1.py
+++ b/scripts/expertise/expertise_engineering_resource_processing_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.addSkill('expertise_engineering_resource_processing_1')
-
- actor.addSkillMod('expertise_resource_quality_increase', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.removeSkill('expertise_engineering_resource_processing_1')
-
- actor.removeSkillMod('expertise_resource_quality_increase', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_engineering_resource_processing_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_engineering_resource_processing_1")
return
diff --git a/scripts/expertise/expertise_engineering_resource_processing_2.py b/scripts/expertise/expertise_engineering_resource_processing_2.py
index e0d9b8cf..0e561add 100644
--- a/scripts/expertise/expertise_engineering_resource_processing_2.py
+++ b/scripts/expertise/expertise_engineering_resource_processing_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.addSkill('expertise_engineering_resource_processing_2')
-
- actor.addSkillMod('expertise_resource_quality_increase', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.removeSkill('expertise_engineering_resource_processing_2')
-
- actor.removeSkillMod('expertise_resource_quality_increase', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_engineering_resource_processing_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_engineering_resource_processing_2")
return
diff --git a/scripts/expertise/expertise_engineering_resource_refinement_1.py b/scripts/expertise/expertise_engineering_resource_refinement_1.py
index 635c1e44..476a968e 100644
--- a/scripts/expertise/expertise_engineering_resource_refinement_1.py
+++ b/scripts/expertise/expertise_engineering_resource_refinement_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.addSkill('expertise_engineering_resource_refinement_1')
-
- actor.addSkillMod('expertise_resource_quality_increase', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.removeSkill('expertise_engineering_resource_refinement_1')
-
- actor.removeSkillMod('expertise_resource_quality_increase', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_engineering_resource_refinement_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_engineering_resource_refinement_1")
return
diff --git a/scripts/expertise/expertise_engineering_resource_refinement_2.py b/scripts/expertise/expertise_engineering_resource_refinement_2.py
index 0246b71c..80b22ec3 100644
--- a/scripts/expertise/expertise_engineering_resource_refinement_2.py
+++ b/scripts/expertise/expertise_engineering_resource_refinement_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.addSkill('expertise_engineering_resource_refinement_2')
-
- actor.addSkillMod('expertise_resource_quality_increase', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.removeSkill('expertise_engineering_resource_refinement_2')
-
- actor.removeSkillMod('expertise_resource_quality_increase', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_engineering_resource_refinement_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_engineering_resource_refinement_2")
return
diff --git a/scripts/expertise/expertise_engineering_weaponsmith_attachment_upgrade_1.py b/scripts/expertise/expertise_engineering_weaponsmith_attachment_upgrade_1.py
index 8f59c85c..8045a598 100644
--- a/scripts/expertise/expertise_engineering_weaponsmith_attachment_upgrade_1.py
+++ b/scripts/expertise/expertise_engineering_weaponsmith_attachment_upgrade_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.addSkill('expertise_engineering_weaponsmith_attachment_upgrade_1')
-
- actor.addSkillMod('expertise_attachment_upgrade', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.removeSkill('expertise_engineering_weaponsmith_attachment_upgrade_1')
-
- actor.removeSkillMod('expertise_attachment_upgrade', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_engineering_weaponsmith_attachment_upgrade_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_engineering_weaponsmith_attachment_upgrade_1")
return
diff --git a/scripts/expertise/expertise_engineering_weaponsmith_socket_bonus_1.py b/scripts/expertise/expertise_engineering_weaponsmith_socket_bonus_1.py
index ea4bbe96..7fbbb3d1 100644
--- a/scripts/expertise/expertise_engineering_weaponsmith_socket_bonus_1.py
+++ b/scripts/expertise/expertise_engineering_weaponsmith_socket_bonus_1.py
@@ -1,46 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.addSkill('expertise_engineering_weaponsmith_socket_bonus_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_eng_1a':
- return
-
- actor.removeSkill('expertise_engineering_weaponsmith_socket_bonus_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_engineering_weaponsmith_socket_bonus_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_engineering_weaponsmith_socket_bonus_1")
return
diff --git a/scripts/expertise/expertise_fs_general_alacrity_1.py b/scripts/expertise/expertise_fs_general_alacrity_1.py
index b9f17633..b69a7bc6 100644
--- a/scripts/expertise/expertise_fs_general_alacrity_1.py
+++ b/scripts/expertise/expertise_fs_general_alacrity_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_general_alacrity_1')
-
- core.skillModService.addSkillMod(actor, 'expertise_glancing_blow_all', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_general_alacrity_1')
-
- core.skillModService.deductSkillMod(actor, 'expertise_glancing_blow_all', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_general_alacrity_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_general_alacrity_1")
return
diff --git a/scripts/expertise/expertise_fs_general_alacrity_2.py b/scripts/expertise/expertise_fs_general_alacrity_2.py
index c1a3f4b0..3c5d3f66 100644
--- a/scripts/expertise/expertise_fs_general_alacrity_2.py
+++ b/scripts/expertise/expertise_fs_general_alacrity_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_general_alacrity_2')
-
- core.skillModService.addSkillMod(actor, 'expertise_glancing_blow_all', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_general_alacrity_2')
-
- core.skillModService.deductSkillMod(actor, 'expertise_glancing_blow_all', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_general_alacrity_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_general_alacrity_2")
return
diff --git a/scripts/expertise/expertise_fs_general_alacrity_3.py b/scripts/expertise/expertise_fs_general_alacrity_3.py
index bf182038..58282db9 100644
--- a/scripts/expertise/expertise_fs_general_alacrity_3.py
+++ b/scripts/expertise/expertise_fs_general_alacrity_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_general_alacrity_3')
-
- core.skillModService.addSkillMod(actor, 'expertise_glancing_blow_all', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_general_alacrity_3')
-
- core.skillModService.deductSkillMod(actor, 'expertise_glancing_blow_all', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_general_alacrity_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_general_alacrity_3")
return
diff --git a/scripts/expertise/expertise_fs_general_alacrity_4.py b/scripts/expertise/expertise_fs_general_alacrity_4.py
index 1c89b7dc..641990c1 100644
--- a/scripts/expertise/expertise_fs_general_alacrity_4.py
+++ b/scripts/expertise/expertise_fs_general_alacrity_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_general_alacrity_4')
-
- core.skillModService.addSkillMod(actor, 'expertise_glancing_blow_all', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_general_alacrity_4')
-
- core.skillModService.deductSkillMod(actor, 'expertise_glancing_blow_all', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_general_alacrity_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_general_alacrity_4")
return
diff --git a/scripts/expertise/expertise_fs_general_enhanced_agility_1.py b/scripts/expertise/expertise_fs_general_enhanced_agility_1.py
index 1ed244d3..b4133b1b 100644
--- a/scripts/expertise/expertise_fs_general_enhanced_agility_1.py
+++ b/scripts/expertise/expertise_fs_general_enhanced_agility_1.py
@@ -1,47 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_general_enhanced_agility_1')
-
- core.skillModService.addSkillMod(actor, 'agility_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_general_enhanced_agility_1')
-
- core.skillModService.deductSkillMod(actor, 'agility_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
+ actor.addAbility("expertise_fs_general_enhanced_agility_1")
return
def removeAbilities(core, actor, player):
-
+ actor.removeAbility("expertise_fs_general_enhanced_agility_1")
return
-
diff --git a/scripts/expertise/expertise_fs_general_enhanced_agility_2.py b/scripts/expertise/expertise_fs_general_enhanced_agility_2.py
index e9e90307..48301d52 100644
--- a/scripts/expertise/expertise_fs_general_enhanced_agility_2.py
+++ b/scripts/expertise/expertise_fs_general_enhanced_agility_2.py
@@ -1,47 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_general_enhanced_agility_2')
-
- core.skillModService.addSkillMod(actor, 'agility_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_general_enhanced_agility_2')
-
- core.skillModService.deductSkillMod(actor, 'agility_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
+ actor.addAbility("expertise_fs_general_enhanced_agility_2")
return
def removeAbilities(core, actor, player):
-
+ actor.removeAbility("expertise_fs_general_enhanced_agility_2")
return
-
diff --git a/scripts/expertise/expertise_fs_general_enhanced_constitution_1.py b/scripts/expertise/expertise_fs_general_enhanced_constitution_1.py
index 9db9e638..5521929c 100644
--- a/scripts/expertise/expertise_fs_general_enhanced_constitution_1.py
+++ b/scripts/expertise/expertise_fs_general_enhanced_constitution_1.py
@@ -1,47 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_general_enhanced_constitution_1')
-
- core.skillModService.addSkillMod(actor, 'constitution_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_general_enhanced_constitution_1')
-
- core.skillModService.deductSkillMod(actor, 'constitution_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
+ actor.addAbility("expertise_fs_general_enhanced_constitution_1")
return
def removeAbilities(core, actor, player):
-
+ actor.removeAbility("expertise_fs_general_enhanced_constitution_1")
return
-
diff --git a/scripts/expertise/expertise_fs_general_enhanced_constitution_2.py b/scripts/expertise/expertise_fs_general_enhanced_constitution_2.py
index 7dad3160..f800a526 100644
--- a/scripts/expertise/expertise_fs_general_enhanced_constitution_2.py
+++ b/scripts/expertise/expertise_fs_general_enhanced_constitution_2.py
@@ -1,47 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_general_enhanced_constitution_2')
-
- core.skillModService.addSkillMod(actor, 'constitution_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_general_enhanced_constitution_2')
-
- core.skillModService.addSkillMod(actor, 'constitution_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
+ actor.addAbility("expertise_fs_general_enhanced_constitution_2")
return
def removeAbilities(core, actor, player):
-
+ actor.removeAbility("expertise_fs_general_enhanced_constitution_2")
return
-
diff --git a/scripts/expertise/expertise_fs_general_enhanced_stamina_1.py b/scripts/expertise/expertise_fs_general_enhanced_stamina_1.py
index 7c760888..28be7fc3 100644
--- a/scripts/expertise/expertise_fs_general_enhanced_stamina_1.py
+++ b/scripts/expertise/expertise_fs_general_enhanced_stamina_1.py
@@ -1,47 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_general_enhanced_stamina_1')
-
- core.skillModService.addSkillMod(actor, 'stamina_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_general_enhanced_stamina_1')
-
- core.skillModService.deductSkillMod(actor, 'stamina_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
+ actor.addAbility("expertise_fs_general_enhanced_stamina_1")
return
def removeAbilities(core, actor, player):
-
+ actor.removeAbility("expertise_fs_general_enhanced_stamina_1")
return
-
diff --git a/scripts/expertise/expertise_fs_general_enhanced_stamina_2.py b/scripts/expertise/expertise_fs_general_enhanced_stamina_2.py
index 1dc31c3d..57ad1cd6 100644
--- a/scripts/expertise/expertise_fs_general_enhanced_stamina_2.py
+++ b/scripts/expertise/expertise_fs_general_enhanced_stamina_2.py
@@ -1,47 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_general_enhanced_stamina_2')
-
- core.skillModService.addSkillMod(actor, 'stamina_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_general_enhanced_stamina_2')
-
- core.skillModService.deductSkillMod(actor, 'stamina_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
+ actor.addAbility("expertise_fs_general_enhanced_stamina_2")
return
def removeAbilities(core, actor, player):
-
+ actor.removeAbility("expertise_fs_general_enhanced_stamina_2")
return
-
diff --git a/scripts/expertise/expertise_fs_general_enhanced_strength_1.py b/scripts/expertise/expertise_fs_general_enhanced_strength_1.py
index e4419423..881f9819 100644
--- a/scripts/expertise/expertise_fs_general_enhanced_strength_1.py
+++ b/scripts/expertise/expertise_fs_general_enhanced_strength_1.py
@@ -1,47 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_general_enhanced_strength_1')
-
- core.skillModService.addSkillMod(actor, 'strength_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_general_enhanced_strength_1')
-
- core.skillModService.deductSkillMod(actor, 'strength_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
+ actor.addAbility("expertise_fs_general_enhanced_strength_1")
return
def removeAbilities(core, actor, player):
-
+ actor.removeAbility("expertise_fs_general_enhanced_strength_1")
return
-
diff --git a/scripts/expertise/expertise_fs_general_enhanced_strength_2.py b/scripts/expertise/expertise_fs_general_enhanced_strength_2.py
index b5193a5f..fed1b59a 100644
--- a/scripts/expertise/expertise_fs_general_enhanced_strength_2.py
+++ b/scripts/expertise/expertise_fs_general_enhanced_strength_2.py
@@ -1,47 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_general_enhanced_strength_2')
-
- core.skillModService.addSkillMod(actor, 'strength_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_general_enhanced_strength_2')
-
- core.skillModService.deductSkillMod(actor, 'strength_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
+ actor.addAbility("expertise_fs_general_enhanced_strength_2")
return
def removeAbilities(core, actor, player):
-
+ actor.removeAbility("expertise_fs_general_enhanced_strength_2")
return
-
diff --git a/scripts/expertise/expertise_fs_general_exacting_strikes_1.py b/scripts/expertise/expertise_fs_general_exacting_strikes_1.py
index 2236311e..91ea8275 100644
--- a/scripts/expertise/expertise_fs_general_exacting_strikes_1.py
+++ b/scripts/expertise/expertise_fs_general_exacting_strikes_1.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_general_exacting_strikes_1')
-
- actor.addSkillMod('expertise_damage_line_fs_sweep', 2)
- actor.addSkillMod('expertise_damage_line_fs_dm', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_general_exacting_strikes_1')
-
- actor.removeSkillMod('expertise_damage_line_fs_sweep', 2)
- actor.removeSkillMod('expertise_damage_line_fs_dm', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_general_exacting_strike_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_general_exacting_strike_1")
return
diff --git a/scripts/expertise/expertise_fs_general_exacting_strikes_2.py b/scripts/expertise/expertise_fs_general_exacting_strikes_2.py
index 2b4161b2..c28e666c 100644
--- a/scripts/expertise/expertise_fs_general_exacting_strikes_2.py
+++ b/scripts/expertise/expertise_fs_general_exacting_strikes_2.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_general_exacting_strikes_2')
-
- actor.addSkillMod('expertise_damage_line_fs_sweep', 2)
- actor.addSkillMod('expertise_damage_line_fs_dm', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_general_exacting_strikes_2')
-
- actor.removeSkillMod('expertise_damage_line_fs_sweep', 2)
- actor.removeSkillMod('expertise_damage_line_fs_dm', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_general_exacting_strike_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_general_exacting_strike_2")
return
diff --git a/scripts/expertise/expertise_fs_general_exacting_strikes_3.py b/scripts/expertise/expertise_fs_general_exacting_strikes_3.py
index cc542875..5e711192 100644
--- a/scripts/expertise/expertise_fs_general_exacting_strikes_3.py
+++ b/scripts/expertise/expertise_fs_general_exacting_strikes_3.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_general_exacting_strikes_3')
-
- actor.addSkillMod('expertise_damage_line_fs_sweep', 2)
- actor.addSkillMod('expertise_damage_line_fs_dm', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_general_exacting_strikes_3')
-
- actor.removeSkillMod('expertise_damage_line_fs_sweep', 2)
- actor.removeSkillMod('expertise_damage_line_fs_dm', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_general_exacting_strike_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_general_exacting_strike_3")
return
diff --git a/scripts/expertise/expertise_fs_general_exacting_strikes_4.py b/scripts/expertise/expertise_fs_general_exacting_strikes_4.py
index 448389c0..86f573c0 100644
--- a/scripts/expertise/expertise_fs_general_exacting_strikes_4.py
+++ b/scripts/expertise/expertise_fs_general_exacting_strikes_4.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_general_exacting_strikes_4')
-
- actor.addSkillMod('expertise_damage_line_fs_sweep', 2)
- actor.addSkillMod('expertise_damage_line_fs_dm', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_general_exacting_strikes_4')
-
- actor.removeSkillMod('expertise_damage_line_fs_sweep', 2)
- actor.removeSkillMod('expertise_damage_line_fs_dm', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_general_exacting_strike_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_general_exacting_strike_4")
return
diff --git a/scripts/expertise/expertise_fs_general_fidelity_1.py b/scripts/expertise/expertise_fs_general_fidelity_1.py
index 7e78aef6..9817071f 100644
--- a/scripts/expertise/expertise_fs_general_fidelity_1.py
+++ b/scripts/expertise/expertise_fs_general_fidelity_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_general_fidelity_1')
-
- core.skillModService.addSkillMod(actor, 'expertise_damage_melee', 4)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_general_fidelity_1')
-
- core.skillModService.deductSkillMod(actor, 'expertise_damage_melee', 4)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_general_fidelity_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_general_fidelity_1")
return
diff --git a/scripts/expertise/expertise_fs_general_fidelity_2.py b/scripts/expertise/expertise_fs_general_fidelity_2.py
index db68b4f5..19abb94c 100644
--- a/scripts/expertise/expertise_fs_general_fidelity_2.py
+++ b/scripts/expertise/expertise_fs_general_fidelity_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_general_fidelity_2')
-
- core.skillModService.addSkillMod(actor, 'expertise_damage_melee', 4)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_general_fidelity_2')
-
- core.skillModService.deductSkillMod(actor, 'expertise_damage_melee', 4)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_general_fidelity_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_general_fidelity_2")
return
diff --git a/scripts/expertise/expertise_fs_general_force_cloak_1.py b/scripts/expertise/expertise_fs_general_force_cloak_1.py
index fd748f6d..5f9fc9d4 100644
--- a/scripts/expertise/expertise_fs_general_force_cloak_1.py
+++ b/scripts/expertise/expertise_fs_general_force_cloak_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_general_force_cloak_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_general_force_cloak_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('fs_buff_invis_1')
-
+ actor.addAbility("fs_buff_invis_1")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('fs_buff_invis_1')
-
+ actor.removeAbility("fs_buff_invis_1")
return
diff --git a/scripts/expertise/expertise_fs_general_force_shockwave_1.py b/scripts/expertise/expertise_fs_general_force_shockwave_1.py
index 05f5873a..a17dbe47 100644
--- a/scripts/expertise/expertise_fs_general_force_shockwave_1.py
+++ b/scripts/expertise/expertise_fs_general_force_shockwave_1.py
@@ -1,48 +1,22 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_general_force_shockwave_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_general_force_shockwave_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('fs_dm_cc_crit_1')
-
+ if actor.getLevel() >= 26:
+ actor.addAbility("fs_dm_cc_crit_1")
+ if actor.getLevel() >= 34:
+ actor.addAbility("fs_dm_cc_crit_2")
+ if actor.getLevel() >= 48:
+ actor.addAbility("fs_dm_cc_crit_3")
+ if actor.getLevel() >= 62:
+ actor.addAbility("fs_dm_cc_crit_4")
+ if actor.getLevel() >= 76:
+ actor.addAbility("fs_dm_cc_crit_5")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('fs_dm_cc_crit_1')
-
+ actor.removeAbility("fs_dm_cc_crit_1")
+ actor.removeAbility("fs_dm_cc_crit_2")
+ actor.removeAbility("fs_dm_cc_crit_3")
+ actor.removeAbility("fs_dm_cc_crit_4")
+ actor.removeAbility("fs_dm_cc_crit_5")
return
diff --git a/scripts/expertise/expertise_fs_general_grace_in_motion_1.py b/scripts/expertise/expertise_fs_general_grace_in_motion_1.py
index e2207030..1bc3e355 100644
--- a/scripts/expertise/expertise_fs_general_grace_in_motion_1.py
+++ b/scripts/expertise/expertise_fs_general_grace_in_motion_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_general_grace_in_motion_1')
-
- actor.addSkillMod('expertise_action_lightsaber', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_general_grace_in_motion_1')
-
- actor.removeSkillMod('expertise_action_lightsaber', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_general_grace_in_motion_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_general_grace_in_motion_1")
return
diff --git a/scripts/expertise/expertise_fs_general_grace_in_motion_2.py b/scripts/expertise/expertise_fs_general_grace_in_motion_2.py
index 9b520c39..fa2a708a 100644
--- a/scripts/expertise/expertise_fs_general_grace_in_motion_2.py
+++ b/scripts/expertise/expertise_fs_general_grace_in_motion_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_general_grace_in_motion_2')
-
- actor.addSkillMod('expertise_action_lightsaber', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_general_grace_in_motion_2')
-
- actor.removeSkillMod('expertise_action_lightsaber', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_general_grace_in_motion_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_general_grace_in_motion_2")
return
diff --git a/scripts/expertise/expertise_fs_general_grace_in_motion_3.py b/scripts/expertise/expertise_fs_general_grace_in_motion_3.py
index acedaa7a..ea60fbe1 100644
--- a/scripts/expertise/expertise_fs_general_grace_in_motion_3.py
+++ b/scripts/expertise/expertise_fs_general_grace_in_motion_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_general_grace_in_motion_3')
-
- actor.addSkillMod('expertise_action_lightsaber', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_general_grace_in_motion_3')
-
- actor.removeSkillMod('expertise_action_lightsaber', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_general_grace_in_motion_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_general_grace_in_motion_3")
return
diff --git a/scripts/expertise/expertise_fs_general_heightened_speed_1.py b/scripts/expertise/expertise_fs_general_heightened_speed_1.py
index 1f410c98..aa3be1b3 100644
--- a/scripts/expertise/expertise_fs_general_heightened_speed_1.py
+++ b/scripts/expertise/expertise_fs_general_heightened_speed_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_general_heightened_speed_1')
-
- actor.addSkillMod('expertise_movement_buff_fs_force_run', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_general_heightened_speed_1')
-
- actor.removeSkillMod('expertise_movement_buff_fs_force_run', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_general_heightened_speed_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_general_heightened_speed_1")
return
diff --git a/scripts/expertise/expertise_fs_general_heightened_speed_2.py b/scripts/expertise/expertise_fs_general_heightened_speed_2.py
index 7aed8948..245c3478 100644
--- a/scripts/expertise/expertise_fs_general_heightened_speed_2.py
+++ b/scripts/expertise/expertise_fs_general_heightened_speed_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_general_heightened_speed_2')
-
- actor.addSkillMod('expertise_movement_buff_fs_force_run', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_general_heightened_speed_2')
-
- actor.removeSkillMod('expertise_movement_buff_fs_force_run', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_general_heightened_speed_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_general_heightened_speed_2")
return
diff --git a/scripts/expertise/expertise_fs_general_heightened_speed_3.py b/scripts/expertise/expertise_fs_general_heightened_speed_3.py
index 847e3c06..e5517964 100644
--- a/scripts/expertise/expertise_fs_general_heightened_speed_3.py
+++ b/scripts/expertise/expertise_fs_general_heightened_speed_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_general_heightened_speed_3')
-
- actor.addSkillMod('expertise_movement_buff_fs_force_run', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_general_heightened_speed_3')
-
- actor.removeSkillMod('expertise_movement_buff_fs_force_run', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_general_heightened_speed_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_general_heightened_speed_3")
return
diff --git a/scripts/expertise/expertise_fs_general_heightened_speed_4.py b/scripts/expertise/expertise_fs_general_heightened_speed_4.py
index 878c1750..e49ae9b4 100644
--- a/scripts/expertise/expertise_fs_general_heightened_speed_4.py
+++ b/scripts/expertise/expertise_fs_general_heightened_speed_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_general_heightened_speed_4')
-
- actor.addSkillMod('expertise_movement_buff_fs_force_run', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_general_heightened_speed_4')
-
- actor.removeSkillMod('expertise_movement_buff_fs_force_run', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_general_heightened_speed_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_general_heightened_speed_4")
return
diff --git a/scripts/expertise/expertise_fs_general_improved_crippling_accuracy_1.py b/scripts/expertise/expertise_fs_general_improved_crippling_accuracy_1.py
index 7339e6cf..16c4a122 100644
--- a/scripts/expertise/expertise_fs_general_improved_crippling_accuracy_1.py
+++ b/scripts/expertise/expertise_fs_general_improved_crippling_accuracy_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_general_improved_crippling_accuracy_1')
-
- actor.addSkillMod('expertise_buff_duration_line_fs_force_throw', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_general_improved_crippling_accuracy_1')
-
- actor.removeSkillMod('expertise_buff_duration_line_fs_force_throw', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_general_improved_crippling_accuracy_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_general_improved_crippling_accuracy_1")
return
diff --git a/scripts/expertise/expertise_fs_general_improved_crippling_accuracy_2.py b/scripts/expertise/expertise_fs_general_improved_crippling_accuracy_2.py
index 1535e2c6..1ca0b65b 100644
--- a/scripts/expertise/expertise_fs_general_improved_crippling_accuracy_2.py
+++ b/scripts/expertise/expertise_fs_general_improved_crippling_accuracy_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_general_improved_crippling_accuracy_2')
-
- actor.addSkillMod('expertise_buff_duration_line_fs_force_throw', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_general_improved_crippling_accuracy_2')
-
- actor.removeSkillMod('expertise_buff_duration_line_fs_force_throw', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_general_improved_crippling_accuracy_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_general_improved_crippling_accuracy_2")
return
diff --git a/scripts/expertise/expertise_fs_general_improved_crippling_accuracy_3.py b/scripts/expertise/expertise_fs_general_improved_crippling_accuracy_3.py
index fb5ffa62..51018497 100644
--- a/scripts/expertise/expertise_fs_general_improved_crippling_accuracy_3.py
+++ b/scripts/expertise/expertise_fs_general_improved_crippling_accuracy_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_general_improved_crippling_accuracy_3')
-
- actor.addSkillMod('expertise_buff_duration_line_fs_force_throw', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_general_improved_crippling_accuracy_3')
-
- actor.removeSkillMod('expertise_buff_duration_line_fs_force_throw', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_general_improved_crippling_accuracy_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_general_improved_crippling_accuracy_3")
return
diff --git a/scripts/expertise/expertise_fs_general_improved_force_cloak_1.py b/scripts/expertise/expertise_fs_general_improved_force_cloak_1.py
index 29eb5f11..bd140591 100644
--- a/scripts/expertise/expertise_fs_general_improved_force_cloak_1.py
+++ b/scripts/expertise/expertise_fs_general_improved_force_cloak_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_general_improved_force_cloak_1')
-
- actor.addSkillMod('expertise_force_cloak_combat_escape', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_general_improved_force_cloak_1')
-
- actor.removeSkillMod('expertise_force_cloak_combat_escape', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_general_improved_force_cloak_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_general_improved_force_cloak_1")
return
diff --git a/scripts/expertise/expertise_fs_general_improved_force_shockwave_1.py b/scripts/expertise/expertise_fs_general_improved_force_shockwave_1.py
index 9eab98c3..0c675358 100644
--- a/scripts/expertise/expertise_fs_general_improved_force_shockwave_1.py
+++ b/scripts/expertise/expertise_fs_general_improved_force_shockwave_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_general_improved_force_shockwave_1')
-
- actor.addSkillMod('expertise_damage_line_fs_cc_crit', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_general_improved_force_shockwave_1')
-
- actor.removeSkillMod('expertise_damage_line_fs_cc_crit', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_general_improved_force_shockwave_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_general_improved_force_shockwave_1")
return
diff --git a/scripts/expertise/expertise_fs_general_improved_force_shockwave_2.py b/scripts/expertise/expertise_fs_general_improved_force_shockwave_2.py
index f51b5f9e..e47b87b3 100644
--- a/scripts/expertise/expertise_fs_general_improved_force_shockwave_2.py
+++ b/scripts/expertise/expertise_fs_general_improved_force_shockwave_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_general_improved_force_shockwave_2')
-
- actor.addSkillMod('expertise_damage_line_fs_cc_crit', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_general_improved_force_shockwave_2')
-
- actor.removeSkillMod('expertise_damage_line_fs_cc_crit', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_general_improved_force_shockwave_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_general_improved_force_shockwave_2")
return
diff --git a/scripts/expertise/expertise_fs_general_improved_force_shockwave_3.py b/scripts/expertise/expertise_fs_general_improved_force_shockwave_3.py
index 85d26f98..c7293502 100644
--- a/scripts/expertise/expertise_fs_general_improved_force_shockwave_3.py
+++ b/scripts/expertise/expertise_fs_general_improved_force_shockwave_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_general_improved_force_shockwave_3')
-
- actor.addSkillMod('expertise_damage_line_fs_cc_crit', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_general_improved_force_shockwave_3')
-
- actor.removeSkillMod('expertise_damage_line_fs_cc_crit', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_general_improved_force_shockwave_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_general_improved_force_shockwave_3")
return
diff --git a/scripts/expertise/expertise_fs_general_improved_force_throw_1.py b/scripts/expertise/expertise_fs_general_improved_force_throw_1.py
index 982a4921..07264c82 100644
--- a/scripts/expertise/expertise_fs_general_improved_force_throw_1.py
+++ b/scripts/expertise/expertise_fs_general_improved_force_throw_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_general_improved_force_throw_1')
-
- actor.addSkillMod('expertise_damage_line_fs_force_throw', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_general_improved_force_throw_1')
-
- actor.removeSkillMod('expertise_damage_line_fs_force_throw', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_general_improved_force_throw_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_general_improved_force_throw_1")
return
diff --git a/scripts/expertise/expertise_fs_general_improved_force_throw_2.py b/scripts/expertise/expertise_fs_general_improved_force_throw_2.py
index 303292ef..1d5d428b 100644
--- a/scripts/expertise/expertise_fs_general_improved_force_throw_2.py
+++ b/scripts/expertise/expertise_fs_general_improved_force_throw_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_general_improved_force_throw_2')
-
- actor.addSkillMod('expertise_damage_line_fs_force_throw', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_general_improved_force_throw_2')
-
- actor.removeSkillMod('expertise_damage_line_fs_force_throw', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_general_improved_force_throw_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_general_improved_force_throw_2")
return
diff --git a/scripts/expertise/expertise_fs_general_improved_saber_block_1.py b/scripts/expertise/expertise_fs_general_improved_saber_block_1.py
index 25d545c9..41596ad9 100644
--- a/scripts/expertise/expertise_fs_general_improved_saber_block_1.py
+++ b/scripts/expertise/expertise_fs_general_improved_saber_block_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_general_improved_saber_block_1')
-
- actor.addSkillMod('expertise_saber_block', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_general_improved_saber_block_1')
-
- actor.removeSkillMod('expertise_saber_block', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_general_improved_saber_block_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_general_improved_saber_block_1")
return
diff --git a/scripts/expertise/expertise_fs_general_improved_saber_block_2.py b/scripts/expertise/expertise_fs_general_improved_saber_block_2.py
index 066a2128..abc2f012 100644
--- a/scripts/expertise/expertise_fs_general_improved_saber_block_2.py
+++ b/scripts/expertise/expertise_fs_general_improved_saber_block_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_general_improved_saber_block_2')
-
- actor.addSkillMod('expertise_saber_block', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_general_improved_saber_block_2')
-
- actor.removeSkillMod('expertise_saber_block', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_general_improved_saber_block_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_general_improved_saber_block_2")
return
diff --git a/scripts/expertise/expertise_fs_general_improved_saber_block_3.py b/scripts/expertise/expertise_fs_general_improved_saber_block_3.py
index 75e6e32b..37892890 100644
--- a/scripts/expertise/expertise_fs_general_improved_saber_block_3.py
+++ b/scripts/expertise/expertise_fs_general_improved_saber_block_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_general_improved_saber_block_3')
-
- actor.addSkillMod('expertise_saber_block', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_general_improved_saber_block_3')
-
- actor.removeSkillMod('expertise_saber_block', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_general_improved_saber_block_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_general_improved_saber_block_3")
return
diff --git a/scripts/expertise/expertise_fs_general_incisiveness_1.py b/scripts/expertise/expertise_fs_general_incisiveness_1.py
index 9e171eca..b872f06e 100644
--- a/scripts/expertise/expertise_fs_general_incisiveness_1.py
+++ b/scripts/expertise/expertise_fs_general_incisiveness_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_general_incisiveness_1')
-
- core.skillModService.addSkillMod(actor, 'expertise_critical_niche_all', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_general_incisiveness_1')
-
- core.skillModService.deductSkillMod(actor, 'expertise_critical_niche_all', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_general_incisiveness_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_general_incisiveness_1")
return
diff --git a/scripts/expertise/expertise_fs_general_incisiveness_2.py b/scripts/expertise/expertise_fs_general_incisiveness_2.py
index 97a54475..7d397ae3 100644
--- a/scripts/expertise/expertise_fs_general_incisiveness_2.py
+++ b/scripts/expertise/expertise_fs_general_incisiveness_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_general_incisiveness_2')
-
- core.skillModService.addSkillMod(actor, 'expertise_critical_niche_all', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_general_incisiveness_2')
-
- core.skillModService.deductSkillMod(actor, 'expertise_critical_niche_all', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_general_incisiveness_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_general_incisiveness_2")
return
diff --git a/scripts/expertise/expertise_fs_general_incisiveness_3.py b/scripts/expertise/expertise_fs_general_incisiveness_3.py
index 773b7bee..58ea449d 100644
--- a/scripts/expertise/expertise_fs_general_incisiveness_3.py
+++ b/scripts/expertise/expertise_fs_general_incisiveness_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_general_incisiveness_3')
-
- core.skillModService.addSkillMod(actor, 'expertise_critical_niche_all', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_general_incisiveness_3')
-
- core.skillModService.deductSkillMod(actor, 'expertise_critical_niche_all', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_general_incisiveness_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_general_incisiveness_3")
return
diff --git a/scripts/expertise/expertise_fs_general_premonition_1.py b/scripts/expertise/expertise_fs_general_premonition_1.py
index 95553815..c5510629 100644
--- a/scripts/expertise/expertise_fs_general_premonition_1.py
+++ b/scripts/expertise/expertise_fs_general_premonition_1.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_general_premonition_1')
-
- core.skillModService.addSkillMod(actor, 'expertise_evasion_chance', 2)
- core.skillModService.addSkillMod(actor, 'expertise_evasion_value', 8)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_general_premonition_1')
-
- core.skillModService.deductSkillMod(actor, 'expertise_evasion_chance', 2)
- core.skillModService.deductSkillMod(actor, 'expertise_evasion_value', 8)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_general_premonition_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_general_premonition_1")
return
diff --git a/scripts/expertise/expertise_fs_general_premonition_2.py b/scripts/expertise/expertise_fs_general_premonition_2.py
index 329f1496..ac6cbe24 100644
--- a/scripts/expertise/expertise_fs_general_premonition_2.py
+++ b/scripts/expertise/expertise_fs_general_premonition_2.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_general_premonition_2')
-
- core.skillModService.addSkillMod(actor, 'expertise_evasion_chance', 2)
- core.skillModService.addSkillMod(actor, 'expertise_evasion_value', 8)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_general_premonition_2')
-
- core.skillModService.deductSkillMod(actor, 'expertise_evasion_chance', 2)
- core.skillModService.deductSkillMod(actor, 'expertise_evasion_value', 8)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_general_premonition_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_general_premonition_2")
return
diff --git a/scripts/expertise/expertise_fs_general_premonition_3.py b/scripts/expertise/expertise_fs_general_premonition_3.py
index 7c1ae35e..4bfaf6eb 100644
--- a/scripts/expertise/expertise_fs_general_premonition_3.py
+++ b/scripts/expertise/expertise_fs_general_premonition_3.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_general_premonition_3')
-
- core.skillModService.addSkillMod(actor, 'expertise_evasion_chance', 2)
- core.skillModService.addSkillMod(actor, 'expertise_evasion_value', 8)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_general_premonition_3')
-
- core.skillModService.deductSkillMod(actor, 'expertise_evasion_chance', 2)
- core.skillModService.deductSkillMod(actor, 'expertise_evasion_value', 8)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_general_premonition_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_general_premonition_3")
return
diff --git a/scripts/expertise/expertise_fs_general_premonition_4.py b/scripts/expertise/expertise_fs_general_premonition_4.py
index ffc6fe53..751255e1 100644
--- a/scripts/expertise/expertise_fs_general_premonition_4.py
+++ b/scripts/expertise/expertise_fs_general_premonition_4.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_general_premonition_4')
-
- core.skillModService.addSkillMod(actor, 'expertise_evasion_chance', 2)
- core.skillModService.addSkillMod(actor, 'expertise_evasion_value', 8)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_general_premonition_4')
-
- core.skillModService.deductSkillMod(actor, 'expertise_evasion_chance', 2)
- core.skillModService.deductSkillMod(actor, 'expertise_evasion_value', 8)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_general_premonition_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_general_premonition_4")
return
diff --git a/scripts/expertise/expertise_fs_general_second_wind_1.py b/scripts/expertise/expertise_fs_general_second_wind_1.py
index e2bf66c3..90120855 100644
--- a/scripts/expertise/expertise_fs_general_second_wind_1.py
+++ b/scripts/expertise/expertise_fs_general_second_wind_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_general_second_wind_1')
-
- actor.addSkillMod('expertise_buff_duration_line_fs_force_run', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_general_second_wind_1')
-
- actor.removeSkillMod('expertise_buff_duration_line_fs_force_run', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_general_second_wind_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_general_second_wind_1")
return
diff --git a/scripts/expertise/expertise_fs_general_second_wind_2.py b/scripts/expertise/expertise_fs_general_second_wind_2.py
index ed634e1a..5dc1cf7a 100644
--- a/scripts/expertise/expertise_fs_general_second_wind_2.py
+++ b/scripts/expertise/expertise_fs_general_second_wind_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_general_second_wind_2')
-
- actor.addSkillMod('expertise_buff_duration_line_fs_force_run', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_general_second_wind_2')
-
- actor.removeSkillMod('expertise_buff_duration_line_fs_force_run', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_general_second_wind_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_general_second_wind_2")
return
diff --git a/scripts/expertise/expertise_fs_general_stance_saber_block_1.py b/scripts/expertise/expertise_fs_general_stance_saber_block_1.py
index 15799877..01313e59 100644
--- a/scripts/expertise/expertise_fs_general_stance_saber_block_1.py
+++ b/scripts/expertise/expertise_fs_general_stance_saber_block_1.py
@@ -1,46 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_general_stance_saber_block_1')
-
- actor.addSkillMod('display_only_parry', 1000)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_general_stance_saber_block_1')
-
- actor.removeSkillMod('display_only_parry', 1000)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
+ actor.addAbility("saberBlock")
return
def removeAbilities(core, actor, player):
-
+ actor.removeAbility("saberBlock")
return
diff --git a/scripts/expertise/expertise_fs_path_anticipate_aggression_1.py b/scripts/expertise/expertise_fs_path_anticipate_aggression_1.py
index ab29d84c..ac447738 100644
--- a/scripts/expertise/expertise_fs_path_anticipate_aggression_1.py
+++ b/scripts/expertise/expertise_fs_path_anticipate_aggression_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_path_anticipate_aggression_1')
-
- actor.addSkillMod('expertise_stance_anticipate_aggression', 4)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_path_anticipate_aggression_1')
-
- actor.removeSkillMod('expertise_stance_anticipate_aggression', 4)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_path_anticipate_aggression_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_path_anticipate_aggression_1")
return
diff --git a/scripts/expertise/expertise_fs_path_anticipate_aggression_2.py b/scripts/expertise/expertise_fs_path_anticipate_aggression_2.py
index 89805eca..da421e8b 100644
--- a/scripts/expertise/expertise_fs_path_anticipate_aggression_2.py
+++ b/scripts/expertise/expertise_fs_path_anticipate_aggression_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_path_anticipate_aggression_2')
-
- actor.addSkillMod('expertise_stance_anticipate_aggression', 4)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_path_anticipate_aggression_2')
-
- actor.removeSkillMod('expertise_stance_anticipate_aggression', 4)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_path_anticipate_aggression_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_path_anticipate_aggression_2")
return
diff --git a/scripts/expertise/expertise_fs_path_brutality_1.py b/scripts/expertise/expertise_fs_path_brutality_1.py
index 2bddedf4..b583d402 100644
--- a/scripts/expertise/expertise_fs_path_brutality_1.py
+++ b/scripts/expertise/expertise_fs_path_brutality_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_path_brutality_1')
-
- core.skillModService.addSkillMod(actor, 'expertise_focus_critical_buff_line', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_path_brutality_1')
-
- core.skillModService.deductSkillMod(actor, 'expertise_focus_critical_buff_line', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_path_brutality_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_path_brutality_1")
return
diff --git a/scripts/expertise/expertise_fs_path_brutality_2.py b/scripts/expertise/expertise_fs_path_brutality_2.py
index 56aa4679..06c05ccd 100644
--- a/scripts/expertise/expertise_fs_path_brutality_2.py
+++ b/scripts/expertise/expertise_fs_path_brutality_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_path_brutality_2')
-
- core.skillModService.addSkillMod(actor, 'expertise_focus_critical_buff_line', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_path_brutality_2')
-
- core.skillModService.deductSkillMod(actor, 'expertise_focus_critical_buff_line', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_path_brutality_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_path_brutality_2")
return
diff --git a/scripts/expertise/expertise_fs_path_brutality_3.py b/scripts/expertise/expertise_fs_path_brutality_3.py
index ae385f2c..63954836 100644
--- a/scripts/expertise/expertise_fs_path_brutality_3.py
+++ b/scripts/expertise/expertise_fs_path_brutality_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_path_brutality_3')
-
- core.skillModService.addSkillMod(actor, 'expertise_focus_critical_buff_line', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_path_brutality_3')
-
- core.skillModService.deductSkillMod(actor, 'expertise_focus_critical_buff_line', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_path_brutality_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_path_brutality_3")
return
diff --git a/scripts/expertise/expertise_fs_path_brutality_4.py b/scripts/expertise/expertise_fs_path_brutality_4.py
index 7170710f..c922074e 100644
--- a/scripts/expertise/expertise_fs_path_brutality_4.py
+++ b/scripts/expertise/expertise_fs_path_brutality_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_path_brutality_4')
-
- core.skillModService.addSkillMod(actor, 'expertise_focus_critical_buff_line', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_path_brutality_4')
-
- core.skillModService.deductSkillMod(actor, 'expertise_focus_critical_buff_line', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_path_brutality_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_path_brutality_4")
return
diff --git a/scripts/expertise/expertise_fs_path_cautious_nature_1.py b/scripts/expertise/expertise_fs_path_cautious_nature_1.py
index 84c462c0..d4d90133 100644
--- a/scripts/expertise/expertise_fs_path_cautious_nature_1.py
+++ b/scripts/expertise/expertise_fs_path_cautious_nature_1.py
@@ -1,52 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_path_cautious_nature_1')
-
- core.skillModService.addSkillMod(actor, 'expertise_stance_constitution', 10)
- core.skillModService.addSkillMod(actor, 'expertise_stance_parry', 1)
- core.skillModService.addSkillMod(actor, 'expertise_stance_evasion', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_path_cautious_nature_1')
-
- core.skillModService.deductSkillMod(actor, 'expertise_stance_constitution', 10)
- core.skillModService.deductSkillMod(actor, 'expertise_stance_parry', 1)
- core.skillModService.deductSkillMod(actor, 'expertise_stance_evasion', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_path_cautious_nature_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_path_cautious_nature_1")
return
diff --git a/scripts/expertise/expertise_fs_path_cautious_nature_2.py b/scripts/expertise/expertise_fs_path_cautious_nature_2.py
index 42d67d98..112514fd 100644
--- a/scripts/expertise/expertise_fs_path_cautious_nature_2.py
+++ b/scripts/expertise/expertise_fs_path_cautious_nature_2.py
@@ -1,52 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_path_cautious_nature_2')
-
- core.skillModService.addSkillMod(actor, 'expertise_stance_constitution', 10)
- core.skillModService.addSkillMod(actor, 'expertise_stance_parry', 1)
- core.skillModService.addSkillMod(actor, 'expertise_stance_evasion', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_path_cautious_nature_2')
-
- core.skillModService.deductSkillMod(actor, 'expertise_stance_constitution', 10)
- core.skillModService.deductSkillMod(actor, 'expertise_stance_parry', 1)
- core.skillModService.deductSkillMod(actor, 'expertise_stance_evasion', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_path_cautious_nature_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_path_cautious_nature_2")
return
diff --git a/scripts/expertise/expertise_fs_path_cautious_nature_3.py b/scripts/expertise/expertise_fs_path_cautious_nature_3.py
index dfcc3c24..05183a16 100644
--- a/scripts/expertise/expertise_fs_path_cautious_nature_3.py
+++ b/scripts/expertise/expertise_fs_path_cautious_nature_3.py
@@ -1,52 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_path_cautious_nature_3')
-
- core.skillModService.addSkillMod(actor, 'expertise_stance_constitution', 10)
- core.skillModService.addSkillMod(actor, 'expertise_stance_parry', 1)
- core.skillModService.addSkillMod(actor, 'expertise_stance_evasion', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_path_cautious_nature_3')
-
- core.skillModService.deductSkillMod(actor, 'expertise_stance_constitution', 10)
- core.skillModService.deductSkillMod(actor, 'expertise_stance_parry', 1)
- core.skillModService.deductSkillMod(actor, 'expertise_stance_evasion', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_path_cautious_nature_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_path_cautious_nature_3")
return
diff --git a/scripts/expertise/expertise_fs_path_cautious_nature_4.py b/scripts/expertise/expertise_fs_path_cautious_nature_4.py
index fa3a2980..d5f122dd 100644
--- a/scripts/expertise/expertise_fs_path_cautious_nature_4.py
+++ b/scripts/expertise/expertise_fs_path_cautious_nature_4.py
@@ -1,52 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_path_cautious_nature_4')
-
- core.skillModService.addSkillMod(actor, 'expertise_stance_constitution', 10)
- core.skillModService.addSkillMod(actor, 'expertise_stance_parry', 1)
- core.skillModService.addSkillMod(actor, 'expertise_stance_evasion', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_path_cautious_nature_4')
-
- core.skillModService.deductSkillMod(actor, 'expertise_stance_constitution', 10)
- core.skillModService.deductSkillMod(actor, 'expertise_stance_parry', 1)
- core.skillModService.deductSkillMod(actor, 'expertise_stance_evasion', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_path_cautious_nature_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_path_cautious_nature_4")
return
diff --git a/scripts/expertise/expertise_fs_path_cloud_minds_1.py b/scripts/expertise/expertise_fs_path_cloud_minds_1.py
index 6fa583aa..7b839729 100644
--- a/scripts/expertise/expertise_fs_path_cloud_minds_1.py
+++ b/scripts/expertise/expertise_fs_path_cloud_minds_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_path_cloud_minds_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_path_cloud_minds_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('fs_mind_trick_2')
-
+ actor.addAbility("fs_mind_trick_2")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('fs_mind_trick_2')
-
+ actor.removeAbility("fs_mind_trick_2")
return
diff --git a/scripts/expertise/expertise_fs_path_dark_lightning_1.py b/scripts/expertise/expertise_fs_path_dark_lightning_1.py
index 6bea7d3e..bd222493 100644
--- a/scripts/expertise/expertise_fs_path_dark_lightning_1.py
+++ b/scripts/expertise/expertise_fs_path_dark_lightning_1.py
@@ -1,48 +1,25 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_path_dark_lightning_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_path_dark_lightning_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('fs_ae_dm_cc_1')
-
+ if actor.getLevel() >= 26:
+ actor.addAbility("fs_ae_dm_cc_1")
+ if actor.getLevel() >= 34:
+ actor.addAbility("fs_ae_dm_cc_2")
+ if actor.getLevel() >= 48:
+ actor.addAbility("fs_ae_dm_cc_3")
+ if actor.getLevel() >= 62:
+ actor.addAbility("fs_ae_dm_cc_4")
+ if actor.getLevel() >= 76:
+ actor.addAbility("fs_ae_dm_cc_5")
+ if actor.getLevel() >= 90:
+ actor.addAbility("fs_ae_dm_cc_6")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('fs_ae_dm_cc_1')
-
+ actor.removeAbility("fs_ae_dm_cc_1")
+ actor.removeAbility("fs_ae_dm_cc_2")
+ actor.removeAbility("fs_ae_dm_cc_3")
+ actor.removeAbility("fs_ae_dm_cc_4")
+ actor.removeAbility("fs_ae_dm_cc_5")
+ actor.removeAbility("fs_ae_dm_cc_6")
return
diff --git a/scripts/expertise/expertise_fs_path_expansive_trickery_1.py b/scripts/expertise/expertise_fs_path_expansive_trickery_1.py
index 4e48ff9c..f58232ed 100644
--- a/scripts/expertise/expertise_fs_path_expansive_trickery_1.py
+++ b/scripts/expertise/expertise_fs_path_expansive_trickery_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_path_expansive_trickery_1')
-
- actor.addSkillMod('expertise_area_size_single_fs_mind_trick_2', 4)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_path_expansive_trickery_1')
-
- actor.removeSkillMod('expertise_area_size_single_fs_mind_trick_2', 4)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_path_expensive_trickery_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_path_expensive_trickery_2")
return
diff --git a/scripts/expertise/expertise_fs_path_flurry.py b/scripts/expertise/expertise_fs_path_flurry.py
index 0c9dbb88..1fc0486f 100644
--- a/scripts/expertise/expertise_fs_path_flurry.py
+++ b/scripts/expertise/expertise_fs_path_flurry.py
@@ -1,48 +1,29 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_path_flurry')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_path_flurry')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('fs_flurry_1')
-
+ if actor.getLevel() >= 4:
+ actor.addAbility("fs_flurry_1")
+ if actor.getLevel() >= 12:
+ actor.addAbility("fs_flurry_2")
+ if actor.getLevel() >= 20:
+ actor.addAbility("fs_flurry_3")
+ if actor.getLevel() >= 30:
+ actor.addAbility("fs_flurry_4")
+ if actor.getLevel() >= 38:
+ actor.addAbility("fs_flurry_5")
+ if actor.getLevel() >= 52:
+ actor.addAbility("fs_flurry_6")
+ if actor.getLevel() >= 62:
+ actor.addAbility("fs_flurry_7")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('fs_flurry_1')
+ actor.removeAbility("fs_flurry_1")
+ actor.removeAbility("fs_flurry_2")
+ actor.removeAbility("fs_flurry_3")
+ actor.removeAbility("fs_flurry_4")
+ actor.removeAbility("fs_flurry_5")
+ actor.removeAbility("fs_flurry_6")
+ actor.removeAbility("fs_flurry_7")
return
diff --git a/scripts/expertise/expertise_fs_path_force_choke_1.py b/scripts/expertise/expertise_fs_path_force_choke_1.py
index b38da3a8..ad9a5d82 100644
--- a/scripts/expertise/expertise_fs_path_force_choke_1.py
+++ b/scripts/expertise/expertise_fs_path_force_choke_1.py
@@ -1,48 +1,25 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_path_force_choke_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_path_force_choke_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('fs_dm_cc_1')
-
+ if actor.getLevel() >= 26:
+ actor.addAbility("fs_dm_cc_1")
+ if actor.getLevel() >= 34:
+ actor.addAbility("fs_dm_cc_2")
+ if actor.getLevel() >= 48:
+ actor.addAbility("fs_dm_cc_3")
+ if actor.getLevel() >= 62:
+ actor.addAbility("fs_dm_cc_4")
+ if actor.getLevel() >= 76:
+ actor.addAbility("fs_dm_cc_5")
+ if actor.getLevel() >= 90:
+ actor.addAbility("fs_dm_cc_6")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('fs_dm_cc_1')
-
+ actor.removeAbility("fs_dm_cc_1")
+ actor.removeAbility("fs_dm_cc_2")
+ actor.removeAbility("fs_dm_cc_3")
+ actor.removeAbility("fs_dm_cc_4")
+ actor.removeAbility("fs_dm_cc_5")
+ actor.removeAbility("fs_dm_cc_6")
return
diff --git a/scripts/expertise/expertise_fs_path_force_clarity_1.py b/scripts/expertise/expertise_fs_path_force_clarity_1.py
index 651153f9..f511c020 100644
--- a/scripts/expertise/expertise_fs_path_force_clarity_1.py
+++ b/scripts/expertise/expertise_fs_path_force_clarity_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_path_force_clarity_1')
-
- actor.addSkillMod('expertise_stance_fs_force_clarity', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_path_force_clarity_1')
-
- actor.removeSkillMod('expertise_stance_fs_force_clarity', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_path_force_clarity_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_path_force_clarity_1")
return
diff --git a/scripts/expertise/expertise_fs_path_force_drain_1.py b/scripts/expertise/expertise_fs_path_force_drain_1.py
index e8c5fee3..6d310e3a 100644
--- a/scripts/expertise/expertise_fs_path_force_drain_1.py
+++ b/scripts/expertise/expertise_fs_path_force_drain_1.py
@@ -1,48 +1,22 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_path_force_drain_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_path_force_drain_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('fs_drain_1')
-
+ if actor.getLevel() >= 26:
+ actor.addAbility("fs_drain_1")
+ if actor.getLevel() >= 34:
+ actor.addAbility("fs_drain_2")
+ if actor.getLevel() >= 48:
+ actor.addAbility("fs_drain_3")
+ if actor.getLevel() >= 62:
+ actor.addAbility("fs_drain_4")
+ if actor.getLevel() >= 76:
+ actor.addAbility("fs_drain_5")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('fs_drain_1')
-
+ actor.removeAbility("fs_drain_1")
+ actor.removeAbility("fs_drain_2")
+ actor.removeAbility("fs_drain_3")
+ actor.removeAbility("fs_drain_4")
+ actor.removeAbility("fs_drain_5")
return
diff --git a/scripts/expertise/expertise_fs_path_forsake_fear_1.py b/scripts/expertise/expertise_fs_path_forsake_fear_1.py
index 6ef13e11..8ef08232 100644
--- a/scripts/expertise/expertise_fs_path_forsake_fear_1.py
+++ b/scripts/expertise/expertise_fs_path_forsake_fear_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_path_forsake_fear_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_path_forsake_fear_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('fs_forsake_fear')
-
+ actor.addAbility("fs_forsake_fear")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('fs_forsake_fear')
-
+ actor.removeAbility("fs_forsake_fear")
return
diff --git a/scripts/expertise/expertise_fs_path_hermetic_touch_1.py b/scripts/expertise/expertise_fs_path_hermetic_touch_1.py
index 8361fe7d..4e681b4e 100644
--- a/scripts/expertise/expertise_fs_path_hermetic_touch_1.py
+++ b/scripts/expertise/expertise_fs_path_hermetic_touch_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_path_hermetic_touch_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_path_hermetic_touch_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('fs_hermetic_touch')
-
+ actor.addAbility("fs_hermetic_touch")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('fs_hermetic_touch')
-
+ actor.removeAbility("fs_hermetic_touch")
return
diff --git a/scripts/expertise/expertise_fs_path_improved_force_choke_1.py b/scripts/expertise/expertise_fs_path_improved_force_choke_1.py
index e01d7586..6aef5ed0 100644
--- a/scripts/expertise/expertise_fs_path_improved_force_choke_1.py
+++ b/scripts/expertise/expertise_fs_path_improved_force_choke_1.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_path_improved_force_choke_1')
-
- actor.addSkillMod('expertise_damage_line_fs_dm_cc', 10)
- actor.addSkillMod('expertise_dot_damage_line_fs_dm_cc', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_path_improved_force_choke_1')
-
- actor.removeSkillMod('expertise_damage_line_fs_dm_cc', 10)
- actor.removeSkillMod('expertise_dot_damage_line_fs_dm_cc', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_path_improved_force_choke_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_path_improved_force_choke_1")
return
diff --git a/scripts/expertise/expertise_fs_path_improved_force_choke_2.py b/scripts/expertise/expertise_fs_path_improved_force_choke_2.py
index 53971b85..dc0cb249 100644
--- a/scripts/expertise/expertise_fs_path_improved_force_choke_2.py
+++ b/scripts/expertise/expertise_fs_path_improved_force_choke_2.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_path_improved_force_choke_2')
-
- actor.addSkillMod('expertise_damage_line_fs_dm_cc', 10)
- actor.addSkillMod('expertise_dot_damage_line_fs_dm_cc', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_path_improved_force_choke_2')
-
- actor.removeSkillMod('expertise_damage_line_fs_dm_cc', 10)
- actor.removeSkillMod('expertise_dot_damage_line_fs_dm_cc', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_path_improved_force_choke_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_path_improved_force_choke_2")
return
diff --git a/scripts/expertise/expertise_fs_path_improved_force_drain_1.py b/scripts/expertise/expertise_fs_path_improved_force_drain_1.py
index 2665853a..425f98c3 100644
--- a/scripts/expertise/expertise_fs_path_improved_force_drain_1.py
+++ b/scripts/expertise/expertise_fs_path_improved_force_drain_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_path_improved_force_drain_1')
-
- actor.addSkillMod('expertise_fs_imp_drain', 33)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_path_improved_force_drain_1')
-
- actor.removeSkillMod('expertise_fs_imp_drain', 33)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_path_improved_force_drain_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_path_improved_force_drain_1")
return
diff --git a/scripts/expertise/expertise_fs_path_improved_force_drain_2.py b/scripts/expertise/expertise_fs_path_improved_force_drain_2.py
index 61d92bb5..a155578f 100644
--- a/scripts/expertise/expertise_fs_path_improved_force_drain_2.py
+++ b/scripts/expertise/expertise_fs_path_improved_force_drain_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_path_improved_force_drain_2')
-
- actor.addSkillMod('expertise_fs_imp_drain', 33)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_path_improved_force_drain_2')
-
- actor.removeSkillMod('expertise_fs_imp_drain', 33)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_path_improved_force_drain_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_path_improved_force_drain_2")
return
diff --git a/scripts/expertise/expertise_fs_path_improved_force_drain_3.py b/scripts/expertise/expertise_fs_path_improved_force_drain_3.py
index 4ecb65bf..9fc7a049 100644
--- a/scripts/expertise/expertise_fs_path_improved_force_drain_3.py
+++ b/scripts/expertise/expertise_fs_path_improved_force_drain_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_path_improved_force_drain_3')
-
- actor.addSkillMod('expertise_fs_imp_drain', 34)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_path_improved_force_drain_3')
-
- actor.removeSkillMod('expertise_fs_imp_drain', 34)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_path_improved_force_drain_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_path_improved_force_drain_3")
return
diff --git a/scripts/expertise/expertise_fs_path_improved_saber_reflect_1.py b/scripts/expertise/expertise_fs_path_improved_saber_reflect_1.py
index f68eb3ae..fcd8dab3 100644
--- a/scripts/expertise/expertise_fs_path_improved_saber_reflect_1.py
+++ b/scripts/expertise/expertise_fs_path_improved_saber_reflect_1.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_path_improved_saber_reflect_1')
-
- actor.addSkillMod('expertise_damage_line_fs_saber_reflect', 50)
- actor.addSkillMod('expertise_force_alacrity', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_path_improved_saber_reflect_1')
-
- actor.removeSkillMod('expertise_damage_line_fs_saber_reflect', 50)
- actor.removeSkillMod('expertise_force_alacrity', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_path_improved_saber_reflect_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_path_improved_saber_reflect_1")
return
diff --git a/scripts/expertise/expertise_fs_path_improved_saber_reflect_2.py b/scripts/expertise/expertise_fs_path_improved_saber_reflect_2.py
index 6d95b6e7..dc7a3f46 100644
--- a/scripts/expertise/expertise_fs_path_improved_saber_reflect_2.py
+++ b/scripts/expertise/expertise_fs_path_improved_saber_reflect_2.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_path_improved_saber_reflect_2')
-
- actor.addSkillMod('expertise_damage_line_fs_saber_reflect', 50)
- actor.addSkillMod('expertise_force_alacrity', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_path_improved_saber_reflect_2')
-
- actor.removeSkillMod('expertise_damage_line_fs_saber_reflect', 50)
- actor.removeSkillMod('expertise_force_alacrity', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_path_improved_saber_reflect_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_path_improved_saber_reflect_2")
return
diff --git a/scripts/expertise/expertise_fs_path_lethargy_1.py b/scripts/expertise/expertise_fs_path_lethargy_1.py
index 7039b6d8..a214883f 100644
--- a/scripts/expertise/expertise_fs_path_lethargy_1.py
+++ b/scripts/expertise/expertise_fs_path_lethargy_1.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_path_lethargy_1')
-
- actor.addSkillMod('expertise_buff_duration_line_fs_mind_trick', 2)
- actor.addSkillMod('expertise_action_damage_line_fs_mind_trick', 250)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_path_lethargy_1')
-
- actor.removeSkillMod('expertise_buff_duration_line_fs_mind_trick', 2)
- actor.removeSkillMod('expertise_action_damage_line_fs_mind_trick', 250)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_path_lethargy_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_path_lethargy_1")
return
diff --git a/scripts/expertise/expertise_fs_path_lethargy_2.py b/scripts/expertise/expertise_fs_path_lethargy_2.py
index 6b294600..b3191ac1 100644
--- a/scripts/expertise/expertise_fs_path_lethargy_2.py
+++ b/scripts/expertise/expertise_fs_path_lethargy_2.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_path_lethargy_2')
-
- actor.addSkillMod('expertise_buff_duration_line_fs_mind_trick', 2)
- actor.addSkillMod('expertise_action_damage_line_fs_mind_trick', 250)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_path_lethargy_2')
-
- actor.removeSkillMod('expertise_buff_duration_line_fs_mind_trick', 2)
- actor.removeSkillMod('expertise_action_damage_line_fs_mind_trick', 250)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_path_lethargy_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_path_lethargy_2")
return
diff --git a/scripts/expertise/expertise_fs_path_lethargy_3.py b/scripts/expertise/expertise_fs_path_lethargy_3.py
index 9966bbad..833037e2 100644
--- a/scripts/expertise/expertise_fs_path_lethargy_3.py
+++ b/scripts/expertise/expertise_fs_path_lethargy_3.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_path_lethargy_3')
-
- actor.addSkillMod('expertise_buff_duration_line_fs_mind_trick', 2)
- actor.addSkillMod('expertise_action_damage_line_fs_mind_trick', 250)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_path_lethargy_3')
-
- actor.removeSkillMod('expertise_buff_duration_line_fs_mind_trick', 2)
- actor.removeSkillMod('expertise_action_damage_line_fs_mind_trick', 250)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_path_lethargy_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_path_lethargy_3")
return
diff --git a/scripts/expertise/expertise_fs_path_lethargy_4.py b/scripts/expertise/expertise_fs_path_lethargy_4.py
index ca3b2e10..6fb09b25 100644
--- a/scripts/expertise/expertise_fs_path_lethargy_4.py
+++ b/scripts/expertise/expertise_fs_path_lethargy_4.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_path_lethargy_4')
-
- actor.addSkillMod('expertise_buff_duration_line_fs_mind_trick', 2)
- actor.addSkillMod('expertise_action_damage_line_fs_mind_trick', 250)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_path_lethargy_4')
-
- actor.removeSkillMod('expertise_buff_duration_line_fs_mind_trick', 2)
- actor.removeSkillMod('expertise_action_damage_line_fs_mind_trick', 250)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_path_lethargy_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_path_lethargy_4")
return
diff --git a/scripts/expertise/expertise_fs_path_maelstrom_1.py b/scripts/expertise/expertise_fs_path_maelstrom_1.py
index 39b07550..84a05ef5 100644
--- a/scripts/expertise/expertise_fs_path_maelstrom_1.py
+++ b/scripts/expertise/expertise_fs_path_maelstrom_1.py
@@ -1,48 +1,22 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_path_maelstrom_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_path_maelstrom_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('fs_maelstrom_1')
-
+ if actor.getLevel() >= 26:
+ actor.addAbility("fs_maelstrom_1")
+ if actor.getLevel() >= 34:
+ actor.addAbility("fs_maelstrom_2")
+ if actor.getLevel() >= 48:
+ actor.addAbility("fs_maelstrom_3")
+ if actor.getLevel() >= 62:
+ actor.addAbility("fs_maelstrom_4")
+ if actor.getLevel() >= 76:
+ actor.addAbility("fs_maelstrom_5")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('fs_maelstrom_1')
-
+ actor.removeAbility("fs_maelstrom_1")
+ actor.removeAbility("fs_maelstrom_2")
+ actor.removeAbility("fs_maelstrom_3")
+ actor.removeAbility("fs_maelstrom_4")
+ actor.removeAbility("fs_maelstrom_5")
return
diff --git a/scripts/expertise/expertise_fs_path_perceptive_sentinel_1.py b/scripts/expertise/expertise_fs_path_perceptive_sentinel_1.py
index 3803bf98..c2bb199d 100644
--- a/scripts/expertise/expertise_fs_path_perceptive_sentinel_1.py
+++ b/scripts/expertise/expertise_fs_path_perceptive_sentinel_1.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_path_perceptive_sentinel_1')
-
- actor.addSkillMod('expertise_stance_perceptive_sentinel', 1)
- actor.addSkillMod('expertise_stance_perceptive_sentinel_pvp', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_path_perceptive_sentinel_1')
-
- actor.removeSkillMod('expertise_stance_perceptive_sentinel', 1)
- actor.removeSkillMod('expertise_stance_perceptive_sentinel_pvp', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_path_perceptive_sentinel_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_path_perceptive_sentinel_1")
return
diff --git a/scripts/expertise/expertise_fs_path_perceptive_sentinel_2.py b/scripts/expertise/expertise_fs_path_perceptive_sentinel_2.py
index e8944848..04c69b17 100644
--- a/scripts/expertise/expertise_fs_path_perceptive_sentinel_2.py
+++ b/scripts/expertise/expertise_fs_path_perceptive_sentinel_2.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_path_perceptive_sentinel_2')
-
- actor.addSkillMod('expertise_stance_perceptive_sentinel', 1)
- actor.addSkillMod('expertise_stance_perceptive_sentinel_pvp', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_path_perceptive_sentinel_2')
-
- actor.removeSkillMod('expertise_stance_perceptive_sentinel', 1)
- actor.removeSkillMod('expertise_stance_perceptive_sentinel_pvp', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_path_perceptive_sentinel_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_path_perceptive_sentinel_2")
return
diff --git a/scripts/expertise/expertise_fs_path_perceptive_sentinel_3.py b/scripts/expertise/expertise_fs_path_perceptive_sentinel_3.py
index a4bd42b0..83c4131f 100644
--- a/scripts/expertise/expertise_fs_path_perceptive_sentinel_3.py
+++ b/scripts/expertise/expertise_fs_path_perceptive_sentinel_3.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_path_perceptive_sentinel_3')
-
- actor.addSkillMod('expertise_stance_perceptive_sentinel', 1)
- actor.addSkillMod('expertise_stance_perceptive_sentinel_pvp', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_path_perceptive_sentinel_3')
-
- actor.removeSkillMod('expertise_stance_perceptive_sentinel', 1)
- actor.removeSkillMod('expertise_stance_perceptive_sentinel_pvp', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_path_perceptive_sentinel_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_path_perceptive_sentinel_3")
return
diff --git a/scripts/expertise/expertise_fs_path_perceptive_sentinel_4.py b/scripts/expertise/expertise_fs_path_perceptive_sentinel_4.py
index f3a94bb6..0f6276dc 100644
--- a/scripts/expertise/expertise_fs_path_perceptive_sentinel_4.py
+++ b/scripts/expertise/expertise_fs_path_perceptive_sentinel_4.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_path_perceptive_sentinel_4')
-
- actor.addSkillMod('expertise_stance_perceptive_sentinel', 1)
- actor.addSkillMod('expertise_stance_perceptive_sentinel_pvp', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_path_perceptive_sentinel_4')
-
- actor.removeSkillMod('expertise_stance_perceptive_sentinel', 1)
- actor.removeSkillMod('expertise_stance_perceptive_sentinel_pvp', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_path_perceptive_sentinel_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_path_perceptive_sentinel_4")
return
diff --git a/scripts/expertise/expertise_fs_path_reactive_response_1.py b/scripts/expertise/expertise_fs_path_reactive_response_1.py
index 7742793f..816c657d 100644
--- a/scripts/expertise/expertise_fs_path_reactive_response_1.py
+++ b/scripts/expertise/expertise_fs_path_reactive_response_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_path_reactive_response_1')
-
- actor.addSkillMod('expertise_stance_damage_add_to_action', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_path_reactive_response_1')
-
- actor.removeSkillMod('expertise_stance_damage_add_to_action', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_path_reactive_response_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_path_reactive_response_1")
return
diff --git a/scripts/expertise/expertise_fs_path_reactive_response_2.py b/scripts/expertise/expertise_fs_path_reactive_response_2.py
index a46db04e..3a79b265 100644
--- a/scripts/expertise/expertise_fs_path_reactive_response_2.py
+++ b/scripts/expertise/expertise_fs_path_reactive_response_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_path_reactive_response_2')
-
- actor.addSkillMod('expertise_stance_damage_add_to_action', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_path_reactive_response_2')
-
- actor.removeSkillMod('expertise_stance_damage_add_to_action', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_path_reactive_response_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_path_reactive_response_2")
return
diff --git a/scripts/expertise/expertise_fs_path_remorseless_nature_1.py b/scripts/expertise/expertise_fs_path_remorseless_nature_1.py
index a155f97c..1c4bee8a 100644
--- a/scripts/expertise/expertise_fs_path_remorseless_nature_1.py
+++ b/scripts/expertise/expertise_fs_path_remorseless_nature_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_path_remorseless_nature_1')
-
- actor.addSkillMod('expertise_focus_stamina', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_path_remorseless_nature_1')
-
- actor.removeSkillMod('expertise_focus_stamina', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_path_remorseless_nature_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_path_remorseless_nature_1")
return
diff --git a/scripts/expertise/expertise_fs_path_remorseless_nature_2.py b/scripts/expertise/expertise_fs_path_remorseless_nature_2.py
index 28db8826..85d986d8 100644
--- a/scripts/expertise/expertise_fs_path_remorseless_nature_2.py
+++ b/scripts/expertise/expertise_fs_path_remorseless_nature_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_path_remorseless_nature_2')
-
- actor.addSkillMod('expertise_focus_stamina', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_path_remorseless_nature_2')
-
- actor.removeSkillMod('expertise_focus_stamina', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_path_remorseless_nature_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_path_remorseless_nature_2")
return
diff --git a/scripts/expertise/expertise_fs_path_remorseless_nature_3.py b/scripts/expertise/expertise_fs_path_remorseless_nature_3.py
index 7089a65c..19dfa6fd 100644
--- a/scripts/expertise/expertise_fs_path_remorseless_nature_3.py
+++ b/scripts/expertise/expertise_fs_path_remorseless_nature_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_path_remorseless_nature_3')
-
- actor.addSkillMod('expertise_focus_stamina', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_path_remorseless_nature_3')
-
- actor.removeSkillMod('expertise_focus_stamina', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_path_remorseless_nature_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_path_remorseless_nature_3")
return
diff --git a/scripts/expertise/expertise_fs_path_remorseless_nature_4.py b/scripts/expertise/expertise_fs_path_remorseless_nature_4.py
index 49440a2d..8d505b2f 100644
--- a/scripts/expertise/expertise_fs_path_remorseless_nature_4.py
+++ b/scripts/expertise/expertise_fs_path_remorseless_nature_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_path_remorseless_nature_4')
-
- actor.addSkillMod('expertise_focus_stamina', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_path_remorseless_nature_4')
-
- actor.removeSkillMod('expertise_focus_stamina', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_path_remorseless_nature_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_path_remorseless_nature_4")
return
diff --git a/scripts/expertise/expertise_fs_path_riposte_1.py b/scripts/expertise/expertise_fs_path_riposte_1.py
index b7470a65..5ffa3594 100644
--- a/scripts/expertise/expertise_fs_path_riposte_1.py
+++ b/scripts/expertise/expertise_fs_path_riposte_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_path_riposte_1')
-
- actor.addSkillMod('expertise_stance_riposte', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_path_riposte_1')
-
- actor.removeSkillMod('expertise_stance_riposte', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_path_riposte_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_path_riposte_1")
return
diff --git a/scripts/expertise/expertise_fs_path_riposte_2.py b/scripts/expertise/expertise_fs_path_riposte_2.py
index de7b4623..7704424c 100644
--- a/scripts/expertise/expertise_fs_path_riposte_2.py
+++ b/scripts/expertise/expertise_fs_path_riposte_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_path_riposte_2')
-
- actor.addSkillMod('expertise_stance_riposte', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_path_riposte_2')
-
- actor.removeSkillMod('expertise_stance_riposte', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_path_riposte_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_path_riposte_2")
return
diff --git a/scripts/expertise/expertise_fs_path_ruthless_precision_1.py b/scripts/expertise/expertise_fs_path_ruthless_precision_1.py
index c90c209a..ad47cf20 100644
--- a/scripts/expertise/expertise_fs_path_ruthless_precision_1.py
+++ b/scripts/expertise/expertise_fs_path_ruthless_precision_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_path_ruthless_precision_1')
-
- core.skillModService.addSkillMod(actor, 'expertise_focus_damage_increase', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_path_ruthless_precision_1')
-
- core.skillModService.deductSkillMod(actor, 'expertise_focus_damage_increase', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_path_ruthless_precision_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_path_ruthless_precision_1")
return
diff --git a/scripts/expertise/expertise_fs_path_ruthless_precision_2.py b/scripts/expertise/expertise_fs_path_ruthless_precision_2.py
index 87ad2d2d..c4ccc5ae 100644
--- a/scripts/expertise/expertise_fs_path_ruthless_precision_2.py
+++ b/scripts/expertise/expertise_fs_path_ruthless_precision_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_path_ruthless_precision_2')
-
- core.skillModService.addSkillMod(actor, 'expertise_focus_damage_increase', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_path_ruthless_precision_2')
-
- core.skillModService.deductSkillMod(actor, 'expertise_focus_damage_increase', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_path_ruthless_precision_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_path_ruthless_precision_2")
return
diff --git a/scripts/expertise/expertise_fs_path_ruthless_precision_3.py b/scripts/expertise/expertise_fs_path_ruthless_precision_3.py
index b802e602..01546884 100644
--- a/scripts/expertise/expertise_fs_path_ruthless_precision_3.py
+++ b/scripts/expertise/expertise_fs_path_ruthless_precision_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_path_ruthless_precision_3')
-
- core.skillModService.addSkillMod(actor, 'expertise_focus_damage_increase', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_path_ruthless_precision_3')
-
- core.skillModService.deductSkillMod(actor, 'expertise_focus_damage_increase', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_path_ruthless_precision_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_path_ruthless_precision_3")
return
diff --git a/scripts/expertise/expertise_fs_path_ruthless_precision_4.py b/scripts/expertise/expertise_fs_path_ruthless_precision_4.py
index f0f94fe5..6292bfe5 100644
--- a/scripts/expertise/expertise_fs_path_ruthless_precision_4.py
+++ b/scripts/expertise/expertise_fs_path_ruthless_precision_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_path_ruthless_precision_4')
-
- core.skillModService.addSkillMod(actor, 'expertise_focus_damage_increase', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_path_ruthless_precision_4')
-
- core.skillModService.deductSkillMod(actor, 'expertise_focus_damage_increase', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_path_ruthless_precision_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_path_ruthless_precision_4")
return
diff --git a/scripts/expertise/expertise_fs_path_saber_reflect_1.py b/scripts/expertise/expertise_fs_path_saber_reflect_1.py
index 2895ccac..ff019b2d 100644
--- a/scripts/expertise/expertise_fs_path_saber_reflect_1.py
+++ b/scripts/expertise/expertise_fs_path_saber_reflect_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_path_saber_reflect_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_path_saber_reflect_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('fs_saber_reflect_buff')
-
+ actor.addAbility("fs_saber_reflect_buff")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('fs_saber_reflect_buff')
-
+ actor.removeAbility("fs_saber_reflect_buff")
return
diff --git a/scripts/expertise/expertise_fs_path_saber_shackle_1.py b/scripts/expertise/expertise_fs_path_saber_shackle_1.py
index 9f2fe63f..e7115fa0 100644
--- a/scripts/expertise/expertise_fs_path_saber_shackle_1.py
+++ b/scripts/expertise/expertise_fs_path_saber_shackle_1.py
@@ -1,52 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_path_saber_shackle_1')
-
- actor.addSkillMod('expertise_stance_saber_throw_snare_chance', 25)
- actor.addSkillMod('expertise_stance_saber_throw_root_chance', 2)
- actor.addSkillMod('expertise_damage_line_fs_dm', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_path_saber_shackle_1')
-
- actor.removeSkillMod('expertise_stance_saber_throw_snare_chance', 25)
- actor.removeSkillMod('expertise_stance_saber_throw_root_chance', 2)
- actor.removeSkillMod('expertise_damage_line_fs_dm', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_path_saber_shackle_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_path_saber_shackle_1")
return
diff --git a/scripts/expertise/expertise_fs_path_saber_shackle_2.py b/scripts/expertise/expertise_fs_path_saber_shackle_2.py
index 76d3d5fa..cc2cdab9 100644
--- a/scripts/expertise/expertise_fs_path_saber_shackle_2.py
+++ b/scripts/expertise/expertise_fs_path_saber_shackle_2.py
@@ -1,52 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_path_saber_shackle_2')
-
- actor.addSkillMod('expertise_stance_saber_throw_snare_chance', 25)
- actor.addSkillMod('expertise_stance_saber_throw_root_chance', 2)
- actor.addSkillMod('expertise_damage_line_fs_dm', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_path_saber_shackle_2')
-
- actor.removeSkillMod('expertise_stance_saber_throw_snare_chance', 25)
- actor.removeSkillMod('expertise_stance_saber_throw_root_chance', 2)
- actor.removeSkillMod('expertise_damage_line_fs_dm', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_path_saber_shackle_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_path_saber_shackle_2")
return
diff --git a/scripts/expertise/expertise_fs_path_saber_shackle_3.py b/scripts/expertise/expertise_fs_path_saber_shackle_3.py
index 7c4b0c3e..426199d1 100644
--- a/scripts/expertise/expertise_fs_path_saber_shackle_3.py
+++ b/scripts/expertise/expertise_fs_path_saber_shackle_3.py
@@ -1,52 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_path_saber_shackle_3')
-
- actor.addSkillMod('expertise_stance_saber_throw_snare_chance', 25)
- actor.addSkillMod('expertise_stance_saber_throw_root_chance', 2)
- actor.addSkillMod('expertise_damage_line_fs_dm', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_path_saber_shackle_3')
-
- actor.removeSkillMod('expertise_stance_saber_throw_snare_chance', 25)
- actor.removeSkillMod('expertise_stance_saber_throw_root_chance', 2)
- actor.removeSkillMod('expertise_damage_line_fs_dm', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_path_saber_shackle_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_path_saber_shackle_3")
return
diff --git a/scripts/expertise/expertise_fs_path_saber_shackle_4.py b/scripts/expertise/expertise_fs_path_saber_shackle_4.py
index 889e106d..a20668d8 100644
--- a/scripts/expertise/expertise_fs_path_saber_shackle_4.py
+++ b/scripts/expertise/expertise_fs_path_saber_shackle_4.py
@@ -1,52 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_path_saber_shackle_4')
-
- actor.addSkillMod('expertise_stance_saber_throw_snare_chance', 25)
- actor.addSkillMod('expertise_stance_saber_throw_root_chance', 2)
- actor.addSkillMod('expertise_damage_line_fs_dm', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_path_saber_shackle_4')
-
- actor.removeSkillMod('expertise_stance_saber_throw_snare_chance', 25)
- actor.removeSkillMod('expertise_stance_saber_throw_root_chance', 2)
- actor.removeSkillMod('expertise_damage_line_fs_dm', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_path_saber_shackle_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_path_saber_shackle_4")
return
diff --git a/scripts/expertise/expertise_fs_path_soothing_aura_1.py b/scripts/expertise/expertise_fs_path_soothing_aura_1.py
index d2ce8171..ab8c5c6b 100644
--- a/scripts/expertise/expertise_fs_path_soothing_aura_1.py
+++ b/scripts/expertise/expertise_fs_path_soothing_aura_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_path_soothing_aura_1')
-
- actor.addSkillMod('expertise_stance_healing_line_fs_heal', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_path_soothing_aura_1')
-
- actor.removeSkillMod('expertise_stance_healing_line_fs_heal', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_path_soothing_aura_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_path_soothing_aura_1")
return
diff --git a/scripts/expertise/expertise_fs_path_soothing_aura_2.py b/scripts/expertise/expertise_fs_path_soothing_aura_2.py
index eb134506..e04ed993 100644
--- a/scripts/expertise/expertise_fs_path_soothing_aura_2.py
+++ b/scripts/expertise/expertise_fs_path_soothing_aura_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_path_soothing_aura_2')
-
- actor.addSkillMod('expertise_stance_healing_line_fs_heal', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_path_soothing_aura_2')
-
- actor.removeSkillMod('expertise_stance_healing_line_fs_heal', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_path_soothing_aura_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_path_soothing_aura_2")
return
diff --git a/scripts/expertise/expertise_fs_path_soothing_aura_3.py b/scripts/expertise/expertise_fs_path_soothing_aura_3.py
index ea794b23..c7ec3e0b 100644
--- a/scripts/expertise/expertise_fs_path_soothing_aura_3.py
+++ b/scripts/expertise/expertise_fs_path_soothing_aura_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_path_soothing_aura_3')
-
- actor.addSkillMod('expertise_stance_healing_line_fs_heal', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_path_soothing_aura_3')
-
- actor.removeSkillMod('expertise_stance_healing_line_fs_heal', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_path_soothing_aura_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_path_soothing_aura_3")
return
diff --git a/scripts/expertise/expertise_fs_path_soothing_aura_4.py b/scripts/expertise/expertise_fs_path_soothing_aura_4.py
index b209ea53..0e3bc9a1 100644
--- a/scripts/expertise/expertise_fs_path_soothing_aura_4.py
+++ b/scripts/expertise/expertise_fs_path_soothing_aura_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_path_soothing_aura_4')
-
- actor.addSkillMod('expertise_stance_healing_line_fs_heal', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_path_soothing_aura_4')
-
- actor.removeSkillMod('expertise_stance_healing_line_fs_heal', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_path_soothing_aura_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_path_soothing_aura_4")
return
diff --git a/scripts/expertise/expertise_fs_path_strangulation_1.py b/scripts/expertise/expertise_fs_path_strangulation_1.py
index 7e57f9af..b1db621b 100644
--- a/scripts/expertise/expertise_fs_path_strangulation_1.py
+++ b/scripts/expertise/expertise_fs_path_strangulation_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_path_strangulation_1')
-
- actor.addSkillMod('expertise_fs_imp_choke', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_path_strangulation_1')
-
- actor.removeSkillMod('expertise_fs_imp_choke', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_path_strangulation_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_path_strangulation_1")
return
diff --git a/scripts/expertise/expertise_fs_path_strangulation_2.py b/scripts/expertise/expertise_fs_path_strangulation_2.py
index 40534bff..43c05ab8 100644
--- a/scripts/expertise/expertise_fs_path_strangulation_2.py
+++ b/scripts/expertise/expertise_fs_path_strangulation_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_path_strangulation_2')
-
- actor.addSkillMod('expertise_fs_imp_choke', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_path_strangulation_2')
-
- actor.removeSkillMod('expertise_fs_imp_choke', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_path_strangulation_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_path_strangulation_2")
return
diff --git a/scripts/expertise/expertise_fs_path_tempt_hatred_1.py b/scripts/expertise/expertise_fs_path_tempt_hatred_1.py
index 7bf99377..c8260021 100644
--- a/scripts/expertise/expertise_fs_path_tempt_hatred_1.py
+++ b/scripts/expertise/expertise_fs_path_tempt_hatred_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_path_tempt_hatred_1')
-
- actor.addSkillMod('expertise_focus_damage_add_to_action', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_path_tempt_hatred_1')
-
- actor.removeSkillMod('expertise_focus_damage_add_to_action', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_path_tempt_hatred_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_path_tempt_hatred_1")
return
diff --git a/scripts/expertise/expertise_fs_path_tempt_hatred_2.py b/scripts/expertise/expertise_fs_path_tempt_hatred_2.py
index 9abf4c24..cced0afd 100644
--- a/scripts/expertise/expertise_fs_path_tempt_hatred_2.py
+++ b/scripts/expertise/expertise_fs_path_tempt_hatred_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_path_tempt_hatred_2')
-
- actor.addSkillMod('expertise_focus_damage_add_to_action', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_path_tempt_hatred_2')
-
- actor.removeSkillMod('expertise_focus_damage_add_to_action', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_path_tempt_hatred_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_path_tempt_hatred_2")
return
diff --git a/scripts/expertise/expertise_fs_path_wracking_energy_1.py b/scripts/expertise/expertise_fs_path_wracking_energy_1.py
index 425b7931..25e70e11 100644
--- a/scripts/expertise/expertise_fs_path_wracking_energy_1.py
+++ b/scripts/expertise/expertise_fs_path_wracking_energy_1.py
@@ -1,52 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_path_wracking_energy_1')
-
- actor.addSkillMod('expertise_fs_dm_armor_bypass', 25)
- actor.addSkillMod('expertise_buff_duration_line_fs_ae_dm_cc', 2)
- actor.addSkillMod('expertise_buff_chance_line_fs_ae_dm_cc', 100)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_path_wracking_energy_1')
-
- actor.removeSkillMod('expertise_fs_dm_armor_bypass', 25)
- actor.removeSkillMod('expertise_buff_duration_line_fs_ae_dm_cc', 2)
- actor.removeSkillMod('expertise_buff_chance_line_fs_ae_dm_cc', 100)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_path_wracking_energy_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_path_wracking_energy_1")
return
diff --git a/scripts/expertise/expertise_fs_path_wracking_energy_2.py b/scripts/expertise/expertise_fs_path_wracking_energy_2.py
index 298130bc..cd1ed137 100644
--- a/scripts/expertise/expertise_fs_path_wracking_energy_2.py
+++ b/scripts/expertise/expertise_fs_path_wracking_energy_2.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_path_wracking_energy_2')
-
- actor.addSkillMod('expertise_fs_dm_armor_bypass', 25)
- actor.addSkillMod('expertise_buff_duration_line_fs_ae_dm_cc', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_path_wracking_energy_2')
-
- actor.removeSkillMod('expertise_fs_dm_armor_bypass', 25)
- actor.removeSkillMod('expertise_buff_duration_line_fs_ae_dm_cc', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_path_wracking_energy_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_path_wracking_energy_2")
return
diff --git a/scripts/expertise/expertise_fs_path_wracking_energy_3.py b/scripts/expertise/expertise_fs_path_wracking_energy_3.py
index 7ebb9e6a..00b73ffc 100644
--- a/scripts/expertise/expertise_fs_path_wracking_energy_3.py
+++ b/scripts/expertise/expertise_fs_path_wracking_energy_3.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_path_wracking_energy_3')
-
- actor.addSkillMod('expertise_fs_dm_armor_bypass', 25)
- actor.addSkillMod('expertise_buff_duration_line_fs_ae_dm_cc', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_path_wracking_energy_3')
-
- actor.removeSkillMod('expertise_fs_dm_armor_bypass', 25)
- actor.removeSkillMod('expertise_buff_duration_line_fs_ae_dm_cc', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_path_wracking_energy_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_path_wracking_energy_3")
return
diff --git a/scripts/expertise/expertise_fs_path_wracking_energy_4.py b/scripts/expertise/expertise_fs_path_wracking_energy_4.py
index 6818335f..86641a26 100644
--- a/scripts/expertise/expertise_fs_path_wracking_energy_4.py
+++ b/scripts/expertise/expertise_fs_path_wracking_energy_4.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.addSkill('expertise_fs_path_wracking_energy_4')
-
- actor.addSkillMod('expertise_fs_dm_armor_bypass', 25)
- actor.addSkillMod('expertise_buff_duration_line_fs_ae_dm_cc', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'force_sensitive_1a':
- return
-
- actor.removeSkill('expertise_fs_path_wracking_energy_4')
-
- actor.removeSkillMod('expertise_fs_dm_armor_bypass', 25)
- actor.removeSkillMod('expertise_buff_duration_line_fs_ae_dm_cc', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_fs_path_wracking_energy_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_fs_path_wracking_energy_4")
return
diff --git a/scripts/expertise/expertise_me_agility_1.py b/scripts/expertise/expertise_me_agility_1.py
index 29ea50ff..62abf270 100644
--- a/scripts/expertise/expertise_me_agility_1.py
+++ b/scripts/expertise/expertise_me_agility_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_agility_1')
-
- actor.addSkillMod('agility_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_agility_1')
-
- actor.removeSkillMod('agility_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_agility_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_agility_1")
return
diff --git a/scripts/expertise/expertise_me_agility_2.py b/scripts/expertise/expertise_me_agility_2.py
index f92f5a4b..d9f1bc7b 100644
--- a/scripts/expertise/expertise_me_agility_2.py
+++ b/scripts/expertise/expertise_me_agility_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_agility_2')
-
- actor.addSkillMod('agility_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_agility_2')
-
- actor.removeSkillMod('agility_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_agility_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_agility_2")
return
diff --git a/scripts/expertise/expertise_me_agility_3.py b/scripts/expertise/expertise_me_agility_3.py
index 7441af33..1d58506f 100644
--- a/scripts/expertise/expertise_me_agility_3.py
+++ b/scripts/expertise/expertise_me_agility_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_agility_3')
-
- actor.addSkillMod('agility_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_agility_3')
-
- actor.removeSkillMod('agility_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_agility_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_agility_3")
return
diff --git a/scripts/expertise/expertise_me_agility_4.py b/scripts/expertise/expertise_me_agility_4.py
index 89603b75..ab6d2201 100644
--- a/scripts/expertise/expertise_me_agility_4.py
+++ b/scripts/expertise/expertise_me_agility_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_agility_4')
-
- actor.addSkillMod('agility_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_agility_4')
-
- actor.removeSkillMod('agility_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_agility_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_agility_4")
return
diff --git a/scripts/expertise/expertise_me_agro_healing_1.py b/scripts/expertise/expertise_me_agro_healing_1.py
index 5e44ee56..35bcdccc 100644
--- a/scripts/expertise/expertise_me_agro_healing_1.py
+++ b/scripts/expertise/expertise_me_agro_healing_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_agro_healing_1')
-
- actor.addSkillMod('expertise_agro_healing', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_agro_healing_1')
-
- actor.removeSkillMod('expertise_agro_healing', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_agro_healing_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_agro_healing_1")
return
diff --git a/scripts/expertise/expertise_me_agro_healing_2.py b/scripts/expertise/expertise_me_agro_healing_2.py
index 454ce643..40fbc169 100644
--- a/scripts/expertise/expertise_me_agro_healing_2.py
+++ b/scripts/expertise/expertise_me_agro_healing_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_agro_healing_2')
-
- actor.addSkillMod('expertise_agro_healing', 20)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_agro_healing_2')
-
- actor.removeSkillMod('expertise_agro_healing', 20)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_agro_healing_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_agro_healing_2")
return
diff --git a/scripts/expertise/expertise_me_agro_healing_3.py b/scripts/expertise/expertise_me_agro_healing_3.py
index b795406e..4deaea9a 100644
--- a/scripts/expertise/expertise_me_agro_healing_3.py
+++ b/scripts/expertise/expertise_me_agro_healing_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_agro_healing_3')
-
- actor.addSkillMod('expertise_agro_healing', 20)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_agro_healing_3')
-
- actor.removeSkillMod('expertise_agro_healing', 20)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_agro_healing_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_agro_healing_3")
return
diff --git a/scripts/expertise/expertise_me_bacta_bomb_1.py b/scripts/expertise/expertise_me_bacta_bomb_1.py
index 64d190c5..40336997 100644
--- a/scripts/expertise/expertise_me_bacta_bomb_1.py
+++ b/scripts/expertise/expertise_me_bacta_bomb_1.py
@@ -1,48 +1,22 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_bacta_bomb_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_bacta_bomb_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('me_bacta_bomb_1')
-
+ if actor.getLevel() >= 26:
+ actor.addAbility("me_bacta_bomb_1")
+ if actor.getLevel() >= 34:
+ actor.addAbility("me_bacta_bomb_2")
+ if actor.getLevel() >= 48:
+ actor.addAbility("me_bacta_bomb_3")
+ if actor.getLevel() >= 62:
+ actor.addAbility("me_bacta_bomb_4")
+ if actor.getLevel() >= 76:
+ actor.addAbility("me_bacta_bomb_5")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('me_bacta_bomb_1')
-
+ actor.removeAbility("me_bacta_bomb_1")
+ actor.removeAbility("me_bacta_bomb_2")
+ actor.removeAbility("me_bacta_bomb_3")
+ actor.removeAbility("me_bacta_bomb_4")
+ actor.removeAbility("me_bacta_bomb_5")
return
diff --git a/scripts/expertise/expertise_me_bacta_grenade_1.py b/scripts/expertise/expertise_me_bacta_grenade_1.py
index 2f16ef84..762bbabc 100644
--- a/scripts/expertise/expertise_me_bacta_grenade_1.py
+++ b/scripts/expertise/expertise_me_bacta_grenade_1.py
@@ -1,48 +1,22 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_bacta_grenade_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_bacta_grenade_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('me_bacta_grenade_1')
-
+ if actor.getLevel() >= 26:
+ actor.addAbility("me_bacta_grenade_1")
+ if actor.getLevel() >= 34:
+ actor.addAbility("me_bacta_grenade_2")
+ if actor.getLevel() >= 48:
+ actor.addAbility("me_bacta_grenade_3")
+ if actor.getLevel() >= 62:
+ actor.addAbility("me_bacta_grenade_4")
+ if actor.getLevel() >= 76:
+ actor.addAbility("me_bacta_grenade_5")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('me_bacta_grenade_1')
-
+ actor.removeAbility("me_bacta_grenade_1")
+ actor.removeAbility("me_bacta_grenade_2")
+ actor.removeAbility("me_bacta_grenade_3")
+ actor.removeAbility("me_bacta_grenade_4")
+ actor.removeAbility("me_bacta_grenade_5")
return
diff --git a/scripts/expertise/expertise_me_bacta_resistance_1.py b/scripts/expertise/expertise_me_bacta_resistance_1.py
index 1c26ade5..f35efe8f 100644
--- a/scripts/expertise/expertise_me_bacta_resistance_1.py
+++ b/scripts/expertise/expertise_me_bacta_resistance_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_bacta_resistance_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_bacta_resistance_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('me_bacta_resistance_1')
-
+ actor.addAbility("me_bacta_resistance_1")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('me_bacta_resistance_1')
-
+ actor.removeAbility("me_bacta_resistance_1")
return
diff --git a/scripts/expertise/expertise_me_blood_cleaners_1.py b/scripts/expertise/expertise_me_blood_cleaners_1.py
index b4de82c1..7405f78d 100644
--- a/scripts/expertise/expertise_me_blood_cleaners_1.py
+++ b/scripts/expertise/expertise_me_blood_cleaners_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_blood_cleaners_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_blood_cleaners_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('me_blood_cleaners_1')
-
+ actor.addAbility("me_blood_cleaners_1")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('me_blood_cleaners_1')
-
+ actor.removeAbility("me_blood_clearners_1")
return
diff --git a/scripts/expertise/expertise_me_burst_1.py b/scripts/expertise/expertise_me_burst_1.py
index f9b65f16..2fff6848 100644
--- a/scripts/expertise/expertise_me_burst_1.py
+++ b/scripts/expertise/expertise_me_burst_1.py
@@ -1,48 +1,22 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_burst_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_burst_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('me_burst_1')
-
+ if actor.getLevel() >= 26:
+ actor.addAbility("me_burst_1")
+ if actor.getLevel() >= 34:
+ actor.addAbility("me_burst_2")
+ if actor.getLevel() >= 48:
+ actor.addAbility("me_burst_3")
+ if actor.getLevel() >= 62:
+ actor.addAbility("me_burst_4")
+ if actor.getLevel() >= 76:
+ actor.addAbility("me_burst_5")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('me_burst_1')
-
+ actor.removeAbility("me_burst_1")
+ actor.removeAbility("me_burst_2")
+ actor.removeAbility("me_burst_3")
+ actor.removeAbility("me_burst_4")
+ actor.removeAbility("me_burst_5")
return
diff --git a/scripts/expertise/expertise_me_carbine_damage_1.py b/scripts/expertise/expertise_me_carbine_damage_1.py
index ae18ecf9..4cdfd0d0 100644
--- a/scripts/expertise/expertise_me_carbine_damage_1.py
+++ b/scripts/expertise/expertise_me_carbine_damage_1.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_carbine_damage_1')
-
- actor.addSkillMod('expertise_damage_weapon_1', 2)
- actor.addSkillMod('expertise_damage_weapon_2', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_carbine_damage_1')
-
- actor.removeSkillMod('expertise_damage_weapon_1', 2)
- actor.removeSkillMod('expertise_damage_weapon_2', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_carbine_damage_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_carbine_damage_1")
return
diff --git a/scripts/expertise/expertise_me_carbine_damage_2.py b/scripts/expertise/expertise_me_carbine_damage_2.py
index 50bd5fa2..2ca975d7 100644
--- a/scripts/expertise/expertise_me_carbine_damage_2.py
+++ b/scripts/expertise/expertise_me_carbine_damage_2.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_carbine_damage_2')
-
- actor.addSkillMod('expertise_damage_weapon_1', 2)
- actor.addSkillMod('expertise_damage_weapon_2', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_carbine_damage_2')
-
- actor.removeSkillMod('expertise_damage_weapon_1', 2)
- actor.removeSkillMod('expertise_damage_weapon_2', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_carbine_damage_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_carbine_damage_2")
return
diff --git a/scripts/expertise/expertise_me_carbine_damage_3.py b/scripts/expertise/expertise_me_carbine_damage_3.py
index 8a65e510..0fec9aac 100644
--- a/scripts/expertise/expertise_me_carbine_damage_3.py
+++ b/scripts/expertise/expertise_me_carbine_damage_3.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_carbine_damage_3')
-
- actor.addSkillMod('expertise_damage_weapon_1', 3)
- actor.addSkillMod('expertise_damage_weapon_2', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_carbine_damage_3')
-
- actor.removeSkillMod('expertise_damage_weapon_1', 3)
- actor.removeSkillMod('expertise_damage_weapon_2', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_carbine_damage_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_carbine_damage_3")
return
diff --git a/scripts/expertise/expertise_me_carbine_damage_4.py b/scripts/expertise/expertise_me_carbine_damage_4.py
index ddd1ca17..23dd0479 100644
--- a/scripts/expertise/expertise_me_carbine_damage_4.py
+++ b/scripts/expertise/expertise_me_carbine_damage_4.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_carbine_damage_4')
-
- actor.addSkillMod('expertise_damage_weapon_1', 3)
- actor.addSkillMod('expertise_damage_weapon_2', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_carbine_damage_4')
-
- actor.removeSkillMod('expertise_damage_weapon_1', 3)
- actor.removeSkillMod('expertise_damage_weapon_2', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_carbine_damage_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_carbine_damage_4")
return
diff --git a/scripts/expertise/expertise_me_cranial_smash_1.py b/scripts/expertise/expertise_me_cranial_smash_1.py
index 98d77547..220198de 100644
--- a/scripts/expertise/expertise_me_cranial_smash_1.py
+++ b/scripts/expertise/expertise_me_cranial_smash_1.py
@@ -1,48 +1,22 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_cranial_smash_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_cranial_smash_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('me_cranial_smash_1')
-
+ if actor.getLevel() >= 26:
+ actor.addAbility("me_cranial_smash_1")
+ if actor.getLevel() >= 34:
+ actor.addAbility("me_cranial_smash_2")
+ if actor.getLevel() >= 48:
+ actor.addAbility("me_cranial_smash_3)
+ if actor.getLevel() >= 62:
+ actor.addAbility("me_cranial_smash_4")
+ if actor.getLevel() >= 76:
+ actor.addAbility("me_cranial_smash_5")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('me_cranial_smash_1')
-
+ actor.removeAbility("me_cranial_smash_1")
+ actor.removeAbility("me_cranial_smash_2")
+ actor.removeAbility("me_cranial_smash_3")
+ actor.removeAbility("me_cranial_smash_4")
+ actor.removeAbility("me_cranial_smash_5")
return
diff --git a/scripts/expertise/expertise_me_cure_affliction_1.py b/scripts/expertise/expertise_me_cure_affliction_1.py
index 6a794b64..7a783eea 100644
--- a/scripts/expertise/expertise_me_cure_affliction_1.py
+++ b/scripts/expertise/expertise_me_cure_affliction_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_cure_affliction_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_cure_affliction_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('me_cure_affliction_1')
-
+ actor.addAbility("me_cure_affliction_1")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('me_cure_affliction_1')
-
+ actor.removeAbility("me_cure_affliction_1")
return
diff --git a/scripts/expertise/expertise_me_dot_damage_1.py b/scripts/expertise/expertise_me_dot_damage_1.py
index 3251e445..163a8d86 100644
--- a/scripts/expertise/expertise_me_dot_damage_1.py
+++ b/scripts/expertise/expertise_me_dot_damage_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_dot_damage_1')
-
- actor.addSkillMod('expertise_dot_increase', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_dot_damage_1')
-
- actor.removeSkillMod('expertise_dot_increase', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_dot_damage_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_dot_damage_1")
return
diff --git a/scripts/expertise/expertise_me_dot_damage_2.py b/scripts/expertise/expertise_me_dot_damage_2.py
index 4c361396..0deae54e 100644
--- a/scripts/expertise/expertise_me_dot_damage_2.py
+++ b/scripts/expertise/expertise_me_dot_damage_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_dot_damage_2')
-
- actor.addSkillMod('expertise_dot_increase', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_dot_damage_2')
-
- actor.removeSkillMod('expertise_dot_increase', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_dot_damage_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_dot_damage_2")
return
diff --git a/scripts/expertise/expertise_me_dot_damage_3.py b/scripts/expertise/expertise_me_dot_damage_3.py
index 84865714..11ff1f05 100644
--- a/scripts/expertise/expertise_me_dot_damage_3.py
+++ b/scripts/expertise/expertise_me_dot_damage_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_dot_damage_3')
-
- actor.addSkillMod('expertise_dot_increase', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_dot_damage_3')
-
- actor.removeSkillMod('expertise_dot_increase', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_dot_damage_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_dot_damage_3")
return
diff --git a/scripts/expertise/expertise_me_dot_duration_1.py b/scripts/expertise/expertise_me_dot_duration_1.py
index b7962f70..c3a9b6a5 100644
--- a/scripts/expertise/expertise_me_dot_duration_1.py
+++ b/scripts/expertise/expertise_me_dot_duration_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_dot_duration_1')
-
- actor.addSkillMod('expertise_dot_duration_line_me_dot', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_dot_duration_1')
-
- actor.removeSkillMod('expertise_dot_duration_line_me_dot', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_dot_duration_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_dot_duration_1")
return
diff --git a/scripts/expertise/expertise_me_dot_duration_2.py b/scripts/expertise/expertise_me_dot_duration_2.py
index 7a514071..61309ba1 100644
--- a/scripts/expertise/expertise_me_dot_duration_2.py
+++ b/scripts/expertise/expertise_me_dot_duration_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_dot_duration_2')
-
- actor.addSkillMod('expertise_dot_duration_line_me_dot', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_dot_duration_2')
-
- actor.removeSkillMod('expertise_dot_duration_line_me_dot', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_dot_duration_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_dot_duration_2")
return
diff --git a/scripts/expertise/expertise_me_dot_duration_3.py b/scripts/expertise/expertise_me_dot_duration_3.py
index 8b2bb169..6f7b45eb 100644
--- a/scripts/expertise/expertise_me_dot_duration_3.py
+++ b/scripts/expertise/expertise_me_dot_duration_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_dot_duration_3')
-
- actor.addSkillMod('expertise_dot_duration_line_me_dot', 4)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_dot_duration_3')
-
- actor.removeSkillMod('expertise_dot_duration_line_me_dot', 4)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_dot_duration_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_dot_duration_3")
return
diff --git a/scripts/expertise/expertise_me_dueterium_rounds_1.py b/scripts/expertise/expertise_me_dueterium_rounds_1.py
index b7d57e44..ed57795c 100644
--- a/scripts/expertise/expertise_me_dueterium_rounds_1.py
+++ b/scripts/expertise/expertise_me_dueterium_rounds_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_dueterium_rounds_1')
-
- actor.addSkillMod('expertise_dueterium_rounds_proc', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_dueterium_rounds_1')
-
- actor.removeSkillMod('expertise_dueterium_rounds_proc', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_dueterium_rounds_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_dueterium_rounds_1")
return
diff --git a/scripts/expertise/expertise_me_electrolyte_drain_1.py b/scripts/expertise/expertise_me_electrolyte_drain_1.py
index d7eb33ac..1daa98a3 100644
--- a/scripts/expertise/expertise_me_electrolyte_drain_1.py
+++ b/scripts/expertise/expertise_me_electrolyte_drain_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_electrolyte_drain_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_electrolyte_drain_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('me_electrolyte_drain_1')
-
+ actor.addAbility("me_electrolyte_drain_1")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('me_electrolyte_drain_1')
-
+ actor.removeAbility("me_electrolyte_drain_1")
return
diff --git a/scripts/expertise/expertise_me_energy_armor_1.py b/scripts/expertise/expertise_me_energy_armor_1.py
index 2fc984be..fd7c40f9 100644
--- a/scripts/expertise/expertise_me_energy_armor_1.py
+++ b/scripts/expertise/expertise_me_energy_armor_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_energy_armor_1')
-
- actor.addSkillMod('expertise_innate_protection_all', 225)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_energy_armor_1')
-
- actor.removeSkillMod('expertise_innate_protection_all', 225)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_energy_armor_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_energy_armor_1")
return
diff --git a/scripts/expertise/expertise_me_energy_armor_2.py b/scripts/expertise/expertise_me_energy_armor_2.py
index 0d02a8a1..ace09ed5 100644
--- a/scripts/expertise/expertise_me_energy_armor_2.py
+++ b/scripts/expertise/expertise_me_energy_armor_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_energy_armor_2')
-
- actor.addSkillMod('expertise_innate_protection_all', 225)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_energy_armor_2')
-
- actor.removeSkillMod('expertise_innate_protection_all', 225)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_energy_armor_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_energy_armor_2")
return
diff --git a/scripts/expertise/expertise_me_energy_armor_3.py b/scripts/expertise/expertise_me_energy_armor_3.py
index cfc6f250..1d161f38 100644
--- a/scripts/expertise/expertise_me_energy_armor_3.py
+++ b/scripts/expertise/expertise_me_energy_armor_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_energy_armor_3')
-
- actor.addSkillMod('expertise_innate_protection_all', 225)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_energy_armor_3')
-
- actor.removeSkillMod('expertise_innate_protection_all', 225)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_energy_armor_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_energy_armor_3")
return
diff --git a/scripts/expertise/expertise_me_energy_armor_4.py b/scripts/expertise/expertise_me_energy_armor_4.py
index 76181747..84fad199 100644
--- a/scripts/expertise/expertise_me_energy_armor_4.py
+++ b/scripts/expertise/expertise_me_energy_armor_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_energy_armor_4')
-
- actor.addSkillMod('expertise_innate_protection_all', 225)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_energy_armor_4')
-
- actor.removeSkillMod('expertise_innate_protection_all', 225)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_energy_armor_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_energy_armor_4")
return
diff --git a/scripts/expertise/expertise_me_enhance_agility_1.py b/scripts/expertise/expertise_me_enhance_agility_1.py
index fd112eb9..4b49ecc9 100644
--- a/scripts/expertise/expertise_me_enhance_agility_1.py
+++ b/scripts/expertise/expertise_me_enhance_agility_1.py
@@ -1,48 +1,16 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_enhance_agility_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_enhance_agility_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('me_enhance_agility_1')
-
+ if actor.getLevel() >= 10:
+ actor.addAbility("me_enhance_agility_1")
+ if actor.getLevel() >= 34:
+ actor.addAbility("me_enhance_agility_2")
+ if actor.getLevel() >= 62:
+ actor.addAbility("me_enhance_agility_3")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('me_enhance_agility_1')
-
+ actor.removeAbility("me_enhance_agility_1")
+ actor.removeAbility("me_enhance_agility_2")
+ actor.removeAbility("me_enhance_agility_3")
return
diff --git a/scripts/expertise/expertise_me_enhance_block_1.py b/scripts/expertise/expertise_me_enhance_block_1.py
index 962c59d5..e6d4a3c6 100644
--- a/scripts/expertise/expertise_me_enhance_block_1.py
+++ b/scripts/expertise/expertise_me_enhance_block_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_enhance_block_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_enhance_block_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('me_enhance_block_1')
-
+ actor.addAbility("me_enhance_block_1")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('me_enhance_block_1')
-
+ actor.removeAbility("me_enhance_block_1")
return
diff --git a/scripts/expertise/expertise_me_enhance_dodge_1.py b/scripts/expertise/expertise_me_enhance_dodge_1.py
index 60af46b2..60b97cd6 100644
--- a/scripts/expertise/expertise_me_enhance_dodge_1.py
+++ b/scripts/expertise/expertise_me_enhance_dodge_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_enhance_dodge_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_enhance_dodge_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('me_enhance_dodge_1')
-
+ actor.addAbility("me_enhance_dodge_1")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('me_enhance_dodge_1')
-
+ actor.removeAbility("me_enhance_dodge_1")
return
diff --git a/scripts/expertise/expertise_me_enhance_duration_1.py b/scripts/expertise/expertise_me_enhance_duration_1.py
index 9b54c0a7..85c5c455 100644
--- a/scripts/expertise/expertise_me_enhance_duration_1.py
+++ b/scripts/expertise/expertise_me_enhance_duration_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_enhance_duration_1')
-
- actor.addSkillMod('expertise_buff_duration_line_me_enhance', 300)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_enhance_duration_1')
-
- actor.removeSkillMod('expertise_buff_duration_line_me_enhance', 300)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_enhance_duration_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_enhance_duration_1")
return
diff --git a/scripts/expertise/expertise_me_enhance_duration_2.py b/scripts/expertise/expertise_me_enhance_duration_2.py
index 4b66e476..ffb8e438 100644
--- a/scripts/expertise/expertise_me_enhance_duration_2.py
+++ b/scripts/expertise/expertise_me_enhance_duration_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_enhance_duration_2')
-
- actor.addSkillMod('expertise_buff_duration_line_me_enhance', 300)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_enhance_duration_2')
-
- actor.removeSkillMod('expertise_buff_duration_line_me_enhance', 300)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_enhance_duration_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_enhance_duration_2")
return
diff --git a/scripts/expertise/expertise_me_enhance_duration_3.py b/scripts/expertise/expertise_me_enhance_duration_3.py
index 336b9d27..53442947 100644
--- a/scripts/expertise/expertise_me_enhance_duration_3.py
+++ b/scripts/expertise/expertise_me_enhance_duration_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_enhance_duration_3')
-
- actor.addSkillMod('expertise_buff_duration_line_me_enhance', 600)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_enhance_duration_3')
-
- actor.removeSkillMod('expertise_buff_duration_line_me_enhance', 600)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_enhance_duration_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_enhance_duration_3")
return
diff --git a/scripts/expertise/expertise_me_enhance_precision_1.py b/scripts/expertise/expertise_me_enhance_precision_1.py
index f12da671..c099937d 100644
--- a/scripts/expertise/expertise_me_enhance_precision_1.py
+++ b/scripts/expertise/expertise_me_enhance_precision_1.py
@@ -1,48 +1,16 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_enhance_precision_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_enhance_precision_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('me_enhance_precision_1')
-
+ if actor.getLevel() >= 10:
+ actor.addAbility("me_enhance_precision_1")
+ if actor.getLevel() >= 34:
+ actor.addAbility("me_enhance_precision_2")
+ if actor.getLevel() >= 62:
+ actor.addAbility("me_enhance_precision_3")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('me_enhance_precision_1')
-
+ actor.removeAbility("me_enhance_precision_1")
+ actor.removeAbility("me_enhance_precision_2")
+ actor.removeAbility("me_enhance_precision_3")
return
diff --git a/scripts/expertise/expertise_me_enhance_strength_1.py b/scripts/expertise/expertise_me_enhance_strength_1.py
index 29bab818..693b0121 100644
--- a/scripts/expertise/expertise_me_enhance_strength_1.py
+++ b/scripts/expertise/expertise_me_enhance_strength_1.py
@@ -1,48 +1,16 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_enhance_strength_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_enhance_strength_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('me_enhance_strength_1')
-
+ if actor.getLevel() >= 10:
+ actor.addAbility("me_enhance_strength_1")
+ if actor.getLevel() >= 34:
+ actor.addAbility("me_enhance_strength_2")
+ if actor.getLevel() >= 62:
+ actor.addAbility("me_enhance_strength_3")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('me_enhance_strength_1')
-
+ actor.removeAbility("me_enhance_strength_1")
+ actor.removeAbility("me_enhance_strength_2")
+ actor.removeAbility("me_enhance_strength_3")
return
diff --git a/scripts/expertise/expertise_me_enhancement_specialist_1.py b/scripts/expertise/expertise_me_enhancement_specialist_1.py
index 145b50e9..ebf28d79 100644
--- a/scripts/expertise/expertise_me_enhancement_specialist_1.py
+++ b/scripts/expertise/expertise_me_enhancement_specialist_1.py
@@ -1,48 +1,24 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_enhancement_specialist_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_enhancement_specialist_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('me_enhance_action_1')
-
+ if actor.getLevel() >= 10:
+ actor.addAbility("me_enhance_action_1")
+ if actor.getLevel() >= 34:
+ actor.addAbility("me_enhance_action_2")
+ if actor.getLevel() >= 62:
+ actor.addAbility("me_enhance_action_3")
+
+ if actor.getLevel() >= 48:
+ actor.addAbility("me_buff_health_2")
+ if actor.getLevel() >= 76:
+ actor.addAbility("me_buff_health_3")
return
def removeAbilities(core, actor, player):
+ actor.removeAbility("me_enhance_action_1")
+ actor.removeAbility("me_enhance_action_2")
+ actor.removeAbility("me_enhance_action_3")
- actor.removeAbility('me_enhance_action_1')
-
+ actor.removeAbility("me_buff_health_2")
+ actor.removeAbility("me_buff_health_3")
return
diff --git a/scripts/expertise/expertise_me_evasion_1.py b/scripts/expertise/expertise_me_evasion_1.py
index 7e62f496..2bbcfee2 100644
--- a/scripts/expertise/expertise_me_evasion_1.py
+++ b/scripts/expertise/expertise_me_evasion_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_evasion_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_evasion_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('me_evasion_1')
-
+ actor.addAbility("me_evasion_1")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('me_evasion_1')
-
+ actor.removeAbility("me_evasion_1")
return
diff --git a/scripts/expertise/expertise_me_heal_action_1.py b/scripts/expertise/expertise_me_heal_action_1.py
index 984b1b6e..33f3254f 100644
--- a/scripts/expertise/expertise_me_heal_action_1.py
+++ b/scripts/expertise/expertise_me_heal_action_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_heal_action_1')
-
- actor.addSkillMod('expertise_action_line_me_heal', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_heal_action_1')
-
- actor.removeSkillMod('expertise_action_line_me_heal', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_heal_action_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_heal_action_1")
return
diff --git a/scripts/expertise/expertise_me_heal_action_2.py b/scripts/expertise/expertise_me_heal_action_2.py
index e650d1e5..b10d3548 100644
--- a/scripts/expertise/expertise_me_heal_action_2.py
+++ b/scripts/expertise/expertise_me_heal_action_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_heal_action_2')
-
- actor.addSkillMod('expertise_action_line_me_heal', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_heal_action_2')
-
- actor.removeSkillMod('expertise_action_line_me_heal', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_heal_action_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_heal_action_2")
return
diff --git a/scripts/expertise/expertise_me_heal_action_3.py b/scripts/expertise/expertise_me_heal_action_3.py
index a5457655..c009d1ae 100644
--- a/scripts/expertise/expertise_me_heal_action_3.py
+++ b/scripts/expertise/expertise_me_heal_action_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_heal_action_3')
-
- actor.addSkillMod('expertise_action_line_me_heal', 15)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_heal_action_3')
-
- actor.removeSkillMod('expertise_action_line_me_heal', 15)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_heal_action_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_heal_action_3")
return
diff --git a/scripts/expertise/expertise_me_heal_damage_1.py b/scripts/expertise/expertise_me_heal_damage_1.py
index 59b07cdf..ba2a72a5 100644
--- a/scripts/expertise/expertise_me_heal_damage_1.py
+++ b/scripts/expertise/expertise_me_heal_damage_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_heal_damage_1')
-
- actor.addSkillMod('expertise_healing_line_me_heal', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_heal_damage_1')
-
- actor.removeSkillMod('expertise_healing_line_me_heal', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_heal_damage_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_heal_damage_1")
return
diff --git a/scripts/expertise/expertise_me_heal_damage_2.py b/scripts/expertise/expertise_me_heal_damage_2.py
index c059fc9b..050ba76f 100644
--- a/scripts/expertise/expertise_me_heal_damage_2.py
+++ b/scripts/expertise/expertise_me_heal_damage_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_heal_damage_2')
-
- actor.addSkillMod('expertise_healing_line_me_heal', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_heal_damage_2')
-
- actor.removeSkillMod('expertise_healing_line_me_heal', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_heal_damage_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_heal_damage_2")
return
diff --git a/scripts/expertise/expertise_me_heal_damage_3.py b/scripts/expertise/expertise_me_heal_damage_3.py
index 94eb5732..3b85bde4 100644
--- a/scripts/expertise/expertise_me_heal_damage_3.py
+++ b/scripts/expertise/expertise_me_heal_damage_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_heal_damage_3')
-
- actor.addSkillMod('expertise_healing_line_me_heal', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_heal_damage_3')
-
- actor.removeSkillMod('expertise_healing_line_me_heal', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_heal_damage_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_heal_damage_3")
return
diff --git a/scripts/expertise/expertise_me_heal_damage_4.py b/scripts/expertise/expertise_me_heal_damage_4.py
index 85a946e6..e58ddb1a 100644
--- a/scripts/expertise/expertise_me_heal_damage_4.py
+++ b/scripts/expertise/expertise_me_heal_damage_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_heal_damage_4')
-
- actor.addSkillMod('expertise_healing_line_me_heal', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_heal_damage_4')
-
- actor.removeSkillMod('expertise_healing_line_me_heal', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_heal_damage_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_heal_damage_4")
return
diff --git a/scripts/expertise/expertise_me_hot_duration_1.py b/scripts/expertise/expertise_me_hot_duration_1.py
index dcdd6ac2..c18a4e36 100644
--- a/scripts/expertise/expertise_me_hot_duration_1.py
+++ b/scripts/expertise/expertise_me_hot_duration_1.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_hot_duration_1')
-
- actor.addSkillMod('expertise_healing_line_me_hot', 10)
- actor.addSkillMod('expertise_healing_line_me_hot_ae', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_hot_duration_1')
-
- actor.removeSkillMod('expertise_healing_line_me_hot', 10)
- actor.removeSkillMod('expertise_healing_line_me_hot_ae', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_hot_duration_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_hot_duration_1")
return
diff --git a/scripts/expertise/expertise_me_hot_duration_2.py b/scripts/expertise/expertise_me_hot_duration_2.py
index dccbe005..e89e515c 100644
--- a/scripts/expertise/expertise_me_hot_duration_2.py
+++ b/scripts/expertise/expertise_me_hot_duration_2.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_hot_duration_2')
-
- actor.addSkillMod('expertise_healing_line_me_hot', 10)
- actor.addSkillMod('expertise_healing_line_me_hot_ae', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_hot_duration_2')
-
- actor.removeSkillMod('expertise_healing_line_me_hot', 10)
- actor.removeSkillMod('expertise_healing_line_me_hot_ae', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_hot_duration_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_hot_duration_2")
return
diff --git a/scripts/expertise/expertise_me_hot_duration_3.py b/scripts/expertise/expertise_me_hot_duration_3.py
index 558430c1..ef238d8d 100644
--- a/scripts/expertise/expertise_me_hot_duration_3.py
+++ b/scripts/expertise/expertise_me_hot_duration_3.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_hot_duration_3')
-
- actor.addSkillMod('expertise_healing_line_me_hot', 15)
- actor.addSkillMod('expertise_healing_line_me_hot_ae', 15)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_hot_duration_3')
-
- actor.removeSkillMod('expertise_healing_line_me_hot', 15)
- actor.removeSkillMod('expertise_healing_line_me_hot_ae', 15)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_hot_duration_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_hot_duration_3")
return
diff --git a/scripts/expertise/expertise_me_hot_duration_4.py b/scripts/expertise/expertise_me_hot_duration_4.py
index 9783531f..16368742 100644
--- a/scripts/expertise/expertise_me_hot_duration_4.py
+++ b/scripts/expertise/expertise_me_hot_duration_4.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_hot_duration_4')
-
- actor.addSkillMod('expertise_healing_line_me_hot', 15)
- actor.addSkillMod('expertise_healing_line_me_hot_ae', 15)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_hot_duration_4')
-
- actor.removeSkillMod('expertise_healing_line_me_hot', 15)
- actor.removeSkillMod('expertise_healing_line_me_hot_ae', 15)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_hot_duration_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_hot_duration_4")
return
diff --git a/scripts/expertise/expertise_me_humanoid_crits_1.py b/scripts/expertise/expertise_me_humanoid_crits_1.py
index 4176b559..482342f3 100644
--- a/scripts/expertise/expertise_me_humanoid_crits_1.py
+++ b/scripts/expertise/expertise_me_humanoid_crits_1.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_humanoid_crits_1')
-
- actor.addSkillMod('expertise_critical_niche_pvp', 1)
- actor.addSkillMod('expertise_critical_niche_npc', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_humanoid_crits_1')
-
- actor.removeSkillMod('expertise_critical_niche_pvp', 1)
- actor.removeSkillMod('expertise_critical_niche_npc', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_humanoid_crits_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_humanoid_crits_1")
return
diff --git a/scripts/expertise/expertise_me_humanoid_crits_2.py b/scripts/expertise/expertise_me_humanoid_crits_2.py
index dd7995cb..085396cc 100644
--- a/scripts/expertise/expertise_me_humanoid_crits_2.py
+++ b/scripts/expertise/expertise_me_humanoid_crits_2.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_humanoid_crits_2')
-
- actor.addSkillMod('expertise_critical_niche_pvp', 2)
- actor.addSkillMod('expertise_critical_niche_npc', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_humanoid_crits_2')
-
- actor.removeSkillMod('expertise_critical_niche_pvp', 2)
- actor.removeSkillMod('expertise_critical_niche_npc', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_humanoid_crits_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_humanoid_crits_2")
return
diff --git a/scripts/expertise/expertise_me_humanoid_crits_3.py b/scripts/expertise/expertise_me_humanoid_crits_3.py
index 2351be93..7392d917 100644
--- a/scripts/expertise/expertise_me_humanoid_crits_3.py
+++ b/scripts/expertise/expertise_me_humanoid_crits_3.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_humanoid_crits_3')
-
- actor.addSkillMod('expertise_critical_niche_pvp', 2)
- actor.addSkillMod('expertise_critical_niche_npc', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_humanoid_crits_3')
-
- actor.removeSkillMod('expertise_critical_niche_pvp', 2)
- actor.removeSkillMod('expertise_critical_niche_npc', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_humanoid_crits_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_humanoid_crits_3")
return
diff --git a/scripts/expertise/expertise_me_induce_insanity_1.py b/scripts/expertise/expertise_me_induce_insanity_1.py
index 10f45c55..2817bc0a 100644
--- a/scripts/expertise/expertise_me_induce_insanity_1.py
+++ b/scripts/expertise/expertise_me_induce_insanity_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_induce_insanity_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_induce_insanity_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('me_induce_insanity_1')
-
+ actor.addAbility("me_induce_insanity_1")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('me_induce_insanity_1')
-
+ actor.removeAbility("me_induce_insanity_1")
return
diff --git a/scripts/expertise/expertise_me_kinetic_armor_1.py b/scripts/expertise/expertise_me_kinetic_armor_1.py
index 26b5dea7..8d78e253 100644
--- a/scripts/expertise/expertise_me_kinetic_armor_1.py
+++ b/scripts/expertise/expertise_me_kinetic_armor_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_kinetic_armor_1')
-
- actor.addSkillMod('expertise_innate_protection_all', 225)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_kinetic_armor_1')
-
- actor.removeSkillMod('expertise_innate_protection_all', 225)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_kinetic_armor_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_kinetic_armor_1")
return
diff --git a/scripts/expertise/expertise_me_kinetic_armor_2.py b/scripts/expertise/expertise_me_kinetic_armor_2.py
index 72f3ba66..ab5c5e71 100644
--- a/scripts/expertise/expertise_me_kinetic_armor_2.py
+++ b/scripts/expertise/expertise_me_kinetic_armor_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_kinetic_armor_2')
-
- actor.addSkillMod('expertise_innate_protection_all', 225)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_kinetic_armor_2')
-
- actor.removeSkillMod('expertise_innate_protection_all', 225)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_kinetic_armor_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_kinetic_armor_2")
return
diff --git a/scripts/expertise/expertise_me_kinetic_armor_3.py b/scripts/expertise/expertise_me_kinetic_armor_3.py
index 794c9185..dcdb9751 100644
--- a/scripts/expertise/expertise_me_kinetic_armor_3.py
+++ b/scripts/expertise/expertise_me_kinetic_armor_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_kinetic_armor_3')
-
- actor.addSkillMod('expertise_innate_protection_all', 225)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_kinetic_armor_3')
-
- actor.removeSkillMod('expertise_innate_protection_all', 225)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_kinetic_armor_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_kinetic_armor_3")
return
diff --git a/scripts/expertise/expertise_me_kinetic_armor_4.py b/scripts/expertise/expertise_me_kinetic_armor_4.py
index 722e4b58..1982a785 100644
--- a/scripts/expertise/expertise_me_kinetic_armor_4.py
+++ b/scripts/expertise/expertise_me_kinetic_armor_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_kinetic_armor_4')
-
- actor.addSkillMod('expertise_innate_protection_all', 225)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_kinetic_armor_4')
-
- actor.removeSkillMod('expertise_innate_protection_all', 225)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_kinetic_armor_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_kinetic_armor_4")
return
diff --git a/scripts/expertise/expertise_me_poison_knuckle_1.py b/scripts/expertise/expertise_me_poison_knuckle_1.py
index 2b6b617e..7b436d7b 100644
--- a/scripts/expertise/expertise_me_poison_knuckle_1.py
+++ b/scripts/expertise/expertise_me_poison_knuckle_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_poison_knuckle_1')
-
- actor.addSkillMod('expertise_poison_knuckle_proc', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_poison_knuckle_1')
-
- actor.removeSkillMod('expertise_poison_knuckle_proc', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_poison_knuckle_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_poison_knuckle_1")
return
diff --git a/scripts/expertise/expertise_me_precision_1.py b/scripts/expertise/expertise_me_precision_1.py
index 8c6f96ed..0d344061 100644
--- a/scripts/expertise/expertise_me_precision_1.py
+++ b/scripts/expertise/expertise_me_precision_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_precision_1')
-
- actor.addSkillMod('precision_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_precision_1')
-
- actor.removeSkillMod('precision_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_precision_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_precision_1")
return
diff --git a/scripts/expertise/expertise_me_precision_2.py b/scripts/expertise/expertise_me_precision_2.py
index 2873f46c..6857d3a2 100644
--- a/scripts/expertise/expertise_me_precision_2.py
+++ b/scripts/expertise/expertise_me_precision_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_precision_2')
-
- actor.addSkillMod('precision_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_precision_2')
-
- actor.removeSkillMod('precision_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_precision_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_precision_2")
return
diff --git a/scripts/expertise/expertise_me_precision_3.py b/scripts/expertise/expertise_me_precision_3.py
index d8996229..bb36eea4 100644
--- a/scripts/expertise/expertise_me_precision_3.py
+++ b/scripts/expertise/expertise_me_precision_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_precision_3')
-
- actor.addSkillMod('precision_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_precision_3')
-
- actor.removeSkillMod('precision_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_precision_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_precision_3")
return
diff --git a/scripts/expertise/expertise_me_precision_4.py b/scripts/expertise/expertise_me_precision_4.py
index 2a2643bb..c32b63ff 100644
--- a/scripts/expertise/expertise_me_precision_4.py
+++ b/scripts/expertise/expertise_me_precision_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_precision_4')
-
- actor.addSkillMod('precision_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_precision_4')
-
- actor.removeSkillMod('precision_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_precision_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_precision_4")
return
diff --git a/scripts/expertise/expertise_me_reckless_stimulation_1.py b/scripts/expertise/expertise_me_reckless_stimulation_1.py
index d8085f3b..0be74ed4 100644
--- a/scripts/expertise/expertise_me_reckless_stimulation_1.py
+++ b/scripts/expertise/expertise_me_reckless_stimulation_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_reckless_stimulation_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_reckless_stimulation_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('me_reckless_stimulation_1')
-
+ actor.addAbility("me_reckless_stimulation_1")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('me_reckless_stimulation_1')
-
+ actor.removeAbility("me_reckless_stimulation_1")
return
diff --git a/scripts/expertise/expertise_me_revive_duration_1.py b/scripts/expertise/expertise_me_revive_duration_1.py
index 17a19551..d2bcc4ba 100644
--- a/scripts/expertise/expertise_me_revive_duration_1.py
+++ b/scripts/expertise/expertise_me_revive_duration_1.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_revive_duration_1')
-
- actor.addSkillMod('expertise_cooldown_line_me_revive', 5)
- actor.addSkillMod('expertise_cooldown_line_me_aoe_revive', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_revive_duration_1')
-
- actor.removeSkillMod('expertise_cooldown_line_me_revive', 5)
- actor.removeSkillMod('expertise_cooldown_line_me_aoe_revive', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_revive_duration_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_revive_duration_1")
return
diff --git a/scripts/expertise/expertise_me_revive_duration_2.py b/scripts/expertise/expertise_me_revive_duration_2.py
index ffe5144d..5c8a9035 100644
--- a/scripts/expertise/expertise_me_revive_duration_2.py
+++ b/scripts/expertise/expertise_me_revive_duration_2.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_revive_duration_2')
-
- actor.addSkillMod('expertise_cooldown_line_me_revive', 5)
- actor.addSkillMod('expertise_cooldown_line_me_aoe_revive', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_revive_duration_2')
-
- actor.removeSkillMod('expertise_cooldown_line_me_revive', 5)
- actor.removeSkillMod('expertise_cooldown_line_me_aoe_revive', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_revive_duration_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_revive_duration_2")
return
diff --git a/scripts/expertise/expertise_me_revive_duration_3.py b/scripts/expertise/expertise_me_revive_duration_3.py
index 4d89125e..0ed33a9b 100644
--- a/scripts/expertise/expertise_me_revive_duration_3.py
+++ b/scripts/expertise/expertise_me_revive_duration_3.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_revive_duration_3')
-
- actor.addSkillMod('expertise_cooldown_line_me_revive', 5)
- actor.addSkillMod('expertise_cooldown_line_me_aoe_revive', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_revive_duration_3')
-
- actor.removeSkillMod('expertise_cooldown_line_me_revive', 5)
- actor.removeSkillMod('expertise_cooldown_line_me_aoe_revive', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_revive_duration_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_revive_duration_3")
return
diff --git a/scripts/expertise/expertise_me_serotonin_boost_1.py b/scripts/expertise/expertise_me_serotonin_boost_1.py
index be920b81..13420734 100644
--- a/scripts/expertise/expertise_me_serotonin_boost_1.py
+++ b/scripts/expertise/expertise_me_serotonin_boost_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_serotonin_boost_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_serotonin_boost_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('me_serotonin_boost_1')
-
+ actor.addAbility("me_serotonin_boost_1")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('me_serotonin_boost_1')
-
+ actor.removeAbility("me_serotonin_boost_1")
return
diff --git a/scripts/expertise/expertise_me_serotonin_purge_1.py b/scripts/expertise/expertise_me_serotonin_purge_1.py
index 34a60137..54972a5b 100644
--- a/scripts/expertise/expertise_me_serotonin_purge_1.py
+++ b/scripts/expertise/expertise_me_serotonin_purge_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_serotonin_purge_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_serotonin_purge_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('me_serotonin_purge_1')
-
+ actor.addAbility("me_serotonin_purge_1")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('me_serotonin_purge_1')
-
+ actor.removeAbility("me_serotonin_purge_1")
return
diff --git a/scripts/expertise/expertise_me_stasis_1.py b/scripts/expertise/expertise_me_stasis_1.py
index f174c539..746687ba 100644
--- a/scripts/expertise/expertise_me_stasis_1.py
+++ b/scripts/expertise/expertise_me_stasis_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_stasis_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_stasis_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('me_stasis_1')
-
+ actor.addAbility("me_stasis_1")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('me_stasis_1')
-
+ actor.removeAbility("me_stasis_1")
return
diff --git a/scripts/expertise/expertise_me_strength_1.py b/scripts/expertise/expertise_me_strength_1.py
index b266ed84..9c3faac3 100644
--- a/scripts/expertise/expertise_me_strength_1.py
+++ b/scripts/expertise/expertise_me_strength_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_strength_1')
-
- actor.addSkillMod('strength_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_strength_1')
-
- actor.removeSkillMod('strength_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_strength_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_strength_1")
return
diff --git a/scripts/expertise/expertise_me_strength_2.py b/scripts/expertise/expertise_me_strength_2.py
index 99f72bb5..fa2bc7b7 100644
--- a/scripts/expertise/expertise_me_strength_2.py
+++ b/scripts/expertise/expertise_me_strength_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_strength_2')
-
- actor.addSkillMod('strength_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_strength_2')
-
- actor.removeSkillMod('strength_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_strength_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_strength_2")
return
diff --git a/scripts/expertise/expertise_me_strength_3.py b/scripts/expertise/expertise_me_strength_3.py
index f677cd7e..89f7a7a1 100644
--- a/scripts/expertise/expertise_me_strength_3.py
+++ b/scripts/expertise/expertise_me_strength_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_strength_3')
-
- actor.addSkillMod('strength_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_strength_3')
-
- actor.removeSkillMod('strength_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_strength_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_strength_3")
return
diff --git a/scripts/expertise/expertise_me_strength_4.py b/scripts/expertise/expertise_me_strength_4.py
index 6da9d910..d3e48b21 100644
--- a/scripts/expertise/expertise_me_strength_4.py
+++ b/scripts/expertise/expertise_me_strength_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_strength_4')
-
- actor.addSkillMod('strength_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_strength_4')
-
- actor.removeSkillMod('strength_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_strength_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_strength_4")
return
diff --git a/scripts/expertise/expertise_me_thyroid_rupture_1.py b/scripts/expertise/expertise_me_thyroid_rupture_1.py
index 229a2796..895d8882 100644
--- a/scripts/expertise/expertise_me_thyroid_rupture_1.py
+++ b/scripts/expertise/expertise_me_thyroid_rupture_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_thyroid_rupture_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_thyroid_rupture_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('me_thyroid_rupture_1')
-
+ actor.addAbility("me_thyroid_rupture_1")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('me_thyroid_rupture_1')
-
+ actor.removeAbility("me_thyroid_rupture_1")
return
diff --git a/scripts/expertise/expertise_me_traumatize_1.py b/scripts/expertise/expertise_me_traumatize_1.py
index 69856b36..4269ec8e 100644
--- a/scripts/expertise/expertise_me_traumatize_1.py
+++ b/scripts/expertise/expertise_me_traumatize_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_traumatize_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_traumatize_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('me_traumatize_1')
-
+ actor.addAbility("me_traumatize_1")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('me_traumatize_1')
-
+ actor.removeAbility("me_traumatize_1")
return
diff --git a/scripts/expertise/expertise_me_unarmed_crit_1.py b/scripts/expertise/expertise_me_unarmed_crit_1.py
index 77d9b653..529ff739 100644
--- a/scripts/expertise/expertise_me_unarmed_crit_1.py
+++ b/scripts/expertise/expertise_me_unarmed_crit_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_unarmed_crit_1')
-
- actor.addSkillMod('expertise_undiminished_critical_melee', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_unarmed_crit_1')
-
- actor.removeSkillMod('expertise_undiminished_critical_melee', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_unarmed_crit_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_unarmed_crit_1")
return
diff --git a/scripts/expertise/expertise_me_unarmed_crit_2.py b/scripts/expertise/expertise_me_unarmed_crit_2.py
index 5a6bb469..4b18402e 100644
--- a/scripts/expertise/expertise_me_unarmed_crit_2.py
+++ b/scripts/expertise/expertise_me_unarmed_crit_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_unarmed_crit_2')
-
- actor.addSkillMod('expertise_undiminished_critical_melee', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_unarmed_crit_2')
-
- actor.removeSkillMod('expertise_undiminished_critical_melee', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_unarmed_crit_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_unarmed_crit_2")
return
diff --git a/scripts/expertise/expertise_me_unarmed_crit_3.py b/scripts/expertise/expertise_me_unarmed_crit_3.py
index f5c332ea..8ba3de99 100644
--- a/scripts/expertise/expertise_me_unarmed_crit_3.py
+++ b/scripts/expertise/expertise_me_unarmed_crit_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_unarmed_crit_3')
-
- actor.addSkillMod('expertise_undiminished_critical_melee', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_unarmed_crit_3')
-
- actor.removeSkillMod('expertise_undiminished_critical_melee', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_unarmed_crit_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_unarmed_crit_3")
return
diff --git a/scripts/expertise/expertise_me_unarmed_damage_1.py b/scripts/expertise/expertise_me_unarmed_damage_1.py
index aa61fb7e..6b81c0bb 100644
--- a/scripts/expertise/expertise_me_unarmed_damage_1.py
+++ b/scripts/expertise/expertise_me_unarmed_damage_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_unarmed_damage_1')
-
- actor.addSkillMod('expertise_damage_melee', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_unarmed_damage_1')
-
- actor.removeSkillMod('expertise_damage_melee', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_unarmed_damage_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_unarmed_damage_1")
return
diff --git a/scripts/expertise/expertise_me_unarmed_damage_2.py b/scripts/expertise/expertise_me_unarmed_damage_2.py
index 7a11aedc..9bb4a83d 100644
--- a/scripts/expertise/expertise_me_unarmed_damage_2.py
+++ b/scripts/expertise/expertise_me_unarmed_damage_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_unarmed_damage_2')
-
- actor.addSkillMod('expertise_damage_melee', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_unarmed_damage_2')
-
- actor.removeSkillMod('expertise_damage_melee', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_unarmed_damage_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_unarmed_damage_2")
return
diff --git a/scripts/expertise/expertise_me_unarmed_damage_3.py b/scripts/expertise/expertise_me_unarmed_damage_3.py
index 9ca773ae..cd4660fa 100644
--- a/scripts/expertise/expertise_me_unarmed_damage_3.py
+++ b/scripts/expertise/expertise_me_unarmed_damage_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_unarmed_damage_3')
-
- actor.addSkillMod('expertise_damage_melee', 4)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_unarmed_damage_3')
-
- actor.removeSkillMod('expertise_damage_melee', 4)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_unarmed_damage_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_unarmed_damage_3")
return
diff --git a/scripts/expertise/expertise_me_unarmed_damage_4.py b/scripts/expertise/expertise_me_unarmed_damage_4.py
index 8164d9c5..8df37d4d 100644
--- a/scripts/expertise/expertise_me_unarmed_damage_4.py
+++ b/scripts/expertise/expertise_me_unarmed_damage_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_unarmed_damage_4')
-
- actor.addSkillMod('expertise_damage_melee', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_unarmed_damage_4')
-
- actor.removeSkillMod('expertise_damage_melee', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_unarmed_damage_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_unarmed_damage_4")
return
diff --git a/scripts/expertise/expertise_me_vital_action_1.py b/scripts/expertise/expertise_me_vital_action_1.py
index ac935c5d..60a8e9e4 100644
--- a/scripts/expertise/expertise_me_vital_action_1.py
+++ b/scripts/expertise/expertise_me_vital_action_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_vital_action_1')
-
- actor.addSkillMod('expertise_action_line_me_dm', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_vital_action_1')
-
- actor.removeSkillMod('expertise_action_line_me_dm', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_vital_action_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_vital_action_1")
return
diff --git a/scripts/expertise/expertise_me_vital_action_2.py b/scripts/expertise/expertise_me_vital_action_2.py
index a3614ac8..a8d0ea03 100644
--- a/scripts/expertise/expertise_me_vital_action_2.py
+++ b/scripts/expertise/expertise_me_vital_action_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_vital_action_2')
-
- actor.addSkillMod('expertise_action_line_me_dm', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_vital_action_2')
-
- actor.removeSkillMod('expertise_action_line_me_dm', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_vital_action_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_vital_action_2")
return
diff --git a/scripts/expertise/expertise_me_vital_action_3.py b/scripts/expertise/expertise_me_vital_action_3.py
index cfdcac09..bd0965c7 100644
--- a/scripts/expertise/expertise_me_vital_action_3.py
+++ b/scripts/expertise/expertise_me_vital_action_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_vital_action_3')
-
- actor.addSkillMod('expertise_action_line_me_dm', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_vital_action_3')
-
- actor.removeSkillMod('expertise_action_line_me_dm', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_vital_action_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_vital_action_3")
return
diff --git a/scripts/expertise/expertise_me_vital_action_4.py b/scripts/expertise/expertise_me_vital_action_4.py
index df14ebf9..ffcab6ff 100644
--- a/scripts/expertise/expertise_me_vital_action_4.py
+++ b/scripts/expertise/expertise_me_vital_action_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_vital_action_4')
-
- actor.addSkillMod('expertise_action_line_me_dm', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_vital_action_4')
-
- actor.removeSkillMod('expertise_action_line_me_dm', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_vital_action_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_vital_action_4")
return
diff --git a/scripts/expertise/expertise_me_vital_damage_1.py b/scripts/expertise/expertise_me_vital_damage_1.py
index a3b86e64..8783041a 100644
--- a/scripts/expertise/expertise_me_vital_damage_1.py
+++ b/scripts/expertise/expertise_me_vital_damage_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_vital_damage_1')
-
- actor.addSkillMod('expertise_damage_line_me_dm', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_vital_damage_1')
-
- actor.removeSkillMod('expertise_damage_line_me_dm', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_vital_damage_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_vital_damage_1")
return
diff --git a/scripts/expertise/expertise_me_vital_damage_2.py b/scripts/expertise/expertise_me_vital_damage_2.py
index 425891d3..727ee2fd 100644
--- a/scripts/expertise/expertise_me_vital_damage_2.py
+++ b/scripts/expertise/expertise_me_vital_damage_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_vital_damage_2')
-
- actor.addSkillMod('expertise_damage_line_me_dm', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_vital_damage_2')
-
- actor.removeSkillMod('expertise_damage_line_me_dm', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_vital_damage_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_vital_damage_2")
return
diff --git a/scripts/expertise/expertise_me_vital_damage_3.py b/scripts/expertise/expertise_me_vital_damage_3.py
index d1c6b17d..0e35314c 100644
--- a/scripts/expertise/expertise_me_vital_damage_3.py
+++ b/scripts/expertise/expertise_me_vital_damage_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_vital_damage_3')
-
- actor.addSkillMod('expertise_damage_line_me_dm', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_vital_damage_3')
-
- actor.removeSkillMod('expertise_damage_line_me_dm', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_vital_damage_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_vital_damage_3")
return
diff --git a/scripts/expertise/expertise_me_vital_damage_4.py b/scripts/expertise/expertise_me_vital_damage_4.py
index fbeb571c..bb634713 100644
--- a/scripts/expertise/expertise_me_vital_damage_4.py
+++ b/scripts/expertise/expertise_me_vital_damage_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.addSkill('expertise_me_vital_damage_4')
-
- actor.addSkillMod('expertise_damage_line_me_dm', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'medic_1a':
- return
-
- actor.removeSkill('expertise_me_vital_damage_4')
-
- actor.removeSkillMod('expertise_damage_line_me_dm', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_me_vital_damage_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_me_vital_damage_4")
return
diff --git a/scripts/expertise/expertise_munition_armorsmith_advanced_theory_1.py b/scripts/expertise/expertise_munition_armorsmith_advanced_theory_1.py
index c7b03de3..dd347899 100644
--- a/scripts/expertise/expertise_munition_armorsmith_advanced_theory_1.py
+++ b/scripts/expertise/expertise_munition_armorsmith_advanced_theory_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.addSkill('expertise_munition_armorsmith_advanced_theory_1')
-
- actor.addSkillMod('armor_experimentation', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.removeSkill('expertise_munition_armorsmith_advanced_theory_1')
-
- actor.removeSkillMod('armor_experimentation', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_munition_armorsmith_advanced_theory_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_munition_armorsmith_advanced_theory_1")
return
diff --git a/scripts/expertise/expertise_munition_armorsmith_attachment_upgrade_1.py b/scripts/expertise/expertise_munition_armorsmith_attachment_upgrade_1.py
index 00e4e545..4f4ae755 100644
--- a/scripts/expertise/expertise_munition_armorsmith_attachment_upgrade_1.py
+++ b/scripts/expertise/expertise_munition_armorsmith_attachment_upgrade_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.addSkill('expertise_munition_armorsmith_attachment_upgrade_1')
-
- actor.addSkillMod('expertise_attachment_upgrade', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.removeSkill('expertise_munition_armorsmith_attachment_upgrade_1')
-
- actor.removeSkillMod('expertise_attachment_upgrade', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_munition_armorsmith_attachment_upgrade_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_munition_armorsmith_attachment_upgrade_1")
return
diff --git a/scripts/expertise/expertise_munition_armorsmith_dexterity_1.py b/scripts/expertise/expertise_munition_armorsmith_dexterity_1.py
index 81d08c77..60cea356 100644
--- a/scripts/expertise/expertise_munition_armorsmith_dexterity_1.py
+++ b/scripts/expertise/expertise_munition_armorsmith_dexterity_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.addSkill('expertise_munition_armorsmith_dexterity_1')
-
- actor.addSkillMod('armor_assembly', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.removeSkill('expertise_munition_armorsmith_dexterity_1')
-
- actor.removeSkillMod('armor_assembly', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_munition_armorsmith_dexterity_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_munition_armorsmith_dexterity_1")
return
diff --git a/scripts/expertise/expertise_munition_armorsmith_dexterity_2.py b/scripts/expertise/expertise_munition_armorsmith_dexterity_2.py
index 9c217bba..1cfed98e 100644
--- a/scripts/expertise/expertise_munition_armorsmith_dexterity_2.py
+++ b/scripts/expertise/expertise_munition_armorsmith_dexterity_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.addSkill('expertise_munition_armorsmith_dexterity_2')
-
- actor.addSkillMod('armor_assembly', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.removeSkill('expertise_munition_armorsmith_dexterity_2')
-
- actor.removeSkillMod('armor_assembly', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_munition_armorsmith_dexterity_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_munition_armorsmith_dexterity_2")
return
diff --git a/scripts/expertise/expertise_munition_armorsmith_dexterity_3.py b/scripts/expertise/expertise_munition_armorsmith_dexterity_3.py
index e26013a5..550545ec 100644
--- a/scripts/expertise/expertise_munition_armorsmith_dexterity_3.py
+++ b/scripts/expertise/expertise_munition_armorsmith_dexterity_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.addSkill('expertise_munition_armorsmith_dexterity_3')
-
- actor.addSkillMod('armor_assembly', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.removeSkill('expertise_munition_armorsmith_dexterity_3')
-
- actor.removeSkillMod('armor_assembly', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_munition_armorsmith_dexterity_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_munition_armorsmith_dexterity_3")
return
diff --git a/scripts/expertise/expertise_munition_armorsmith_dexterity_4.py b/scripts/expertise/expertise_munition_armorsmith_dexterity_4.py
index 96c50f98..0467db0c 100644
--- a/scripts/expertise/expertise_munition_armorsmith_dexterity_4.py
+++ b/scripts/expertise/expertise_munition_armorsmith_dexterity_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.addSkill('expertise_munition_armorsmith_dexterity_4')
-
- actor.addSkillMod('armor_assembly', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.removeSkill('expertise_munition_armorsmith_dexterity_4')
-
- actor.removeSkillMod('armor_assembly', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_munition_armorsmith_dexterity_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_munition_armorsmith_dexterity_4")
return
diff --git a/scripts/expertise/expertise_munition_armorsmith_hypothesis_1.py b/scripts/expertise/expertise_munition_armorsmith_hypothesis_1.py
index df25bf70..a813988d 100644
--- a/scripts/expertise/expertise_munition_armorsmith_hypothesis_1.py
+++ b/scripts/expertise/expertise_munition_armorsmith_hypothesis_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.addSkill('expertise_munition_armorsmith_hypothesis_1')
-
- actor.addSkillMod('expertise_experimentation_increase_armorsmith', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.removeSkill('expertise_munition_armorsmith_hypothesis_1')
-
- actor.removeSkillMod('expertise_experimentation_increase_armorsmith', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_munition_armorsmith_hypothesis_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_munition_armorsmith_hypothesis_1")
return
diff --git a/scripts/expertise/expertise_munition_armorsmith_hypothesis_2.py b/scripts/expertise/expertise_munition_armorsmith_hypothesis_2.py
index 03d1cd9e..3e1df126 100644
--- a/scripts/expertise/expertise_munition_armorsmith_hypothesis_2.py
+++ b/scripts/expertise/expertise_munition_armorsmith_hypothesis_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.addSkill('expertise_munition_armorsmith_hypothesis_2')
-
- actor.addSkillMod('expertise_experimentation_increase_armorsmith', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.removeSkill('expertise_munition_armorsmith_hypothesis_2')
-
- actor.removeSkillMod('expertise_experimentation_increase_armorsmith', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_munition_armorsmith_hypothesis_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_munition_armorsmith_hypothesis_2")
return
diff --git a/scripts/expertise/expertise_munition_armorsmith_hypothesis_3.py b/scripts/expertise/expertise_munition_armorsmith_hypothesis_3.py
index 31e3d0a5..641c52c8 100644
--- a/scripts/expertise/expertise_munition_armorsmith_hypothesis_3.py
+++ b/scripts/expertise/expertise_munition_armorsmith_hypothesis_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.addSkill('expertise_munition_armorsmith_hypothesis_3')
-
- actor.addSkillMod('expertise_experimentation_increase_armorsmith', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.removeSkill('expertise_munition_armorsmith_hypothesis_3')
-
- actor.removeSkillMod('expertise_experimentation_increase_armorsmith', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_munition_armorsmith_hypothesis_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_munition_armorsmith_hypothesis_3")
return
diff --git a/scripts/expertise/expertise_munition_armorsmith_hypothesis_4.py b/scripts/expertise/expertise_munition_armorsmith_hypothesis_4.py
index 3aaf3ca5..94bf9c1e 100644
--- a/scripts/expertise/expertise_munition_armorsmith_hypothesis_4.py
+++ b/scripts/expertise/expertise_munition_armorsmith_hypothesis_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.addSkill('expertise_munition_armorsmith_hypothesis_4')
-
- actor.addSkillMod('expertise_experimentation_increase_armorsmith', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.removeSkill('expertise_munition_armorsmith_hypothesis_4')
-
- actor.removeSkillMod('expertise_experimentation_increase_armorsmith', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_munition_armorsmith_hypothesis_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_munition_armorsmith_hypothesis_4")
return
diff --git a/scripts/expertise/expertise_munition_armorsmith_insight_1.py b/scripts/expertise/expertise_munition_armorsmith_insight_1.py
index f4836dd3..682413ee 100644
--- a/scripts/expertise/expertise_munition_armorsmith_insight_1.py
+++ b/scripts/expertise/expertise_munition_armorsmith_insight_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.addSkill('expertise_munition_armorsmith_insight_1')
-
- actor.addSkillMod('expertise_complexity_decrease_armorsmith', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.removeSkill('expertise_munition_armorsmith_insight_1')
-
- actor.removeSkillMod('expertise_complexity_decrease_armorsmith', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_munition_armorsmith_insight_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_munition_armorsmith_insight_1")
return
diff --git a/scripts/expertise/expertise_munition_armorsmith_insight_2.py b/scripts/expertise/expertise_munition_armorsmith_insight_2.py
index d0b5d3b0..a1ddebae 100644
--- a/scripts/expertise/expertise_munition_armorsmith_insight_2.py
+++ b/scripts/expertise/expertise_munition_armorsmith_insight_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.addSkill('expertise_munition_armorsmith_insight_2')
-
- actor.addSkillMod('expertise_complexity_decrease_armorsmith', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.removeSkill('expertise_munition_armorsmith_insight_2')
-
- actor.removeSkillMod('expertise_complexity_decrease_armorsmith', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_munition_armorsmith_insight_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_munition_armorsmith_insight_2")
return
diff --git a/scripts/expertise/expertise_munition_armorsmith_keen_understanding_1.py b/scripts/expertise/expertise_munition_armorsmith_keen_understanding_1.py
index 9b7863bb..4b919776 100644
--- a/scripts/expertise/expertise_munition_armorsmith_keen_understanding_1.py
+++ b/scripts/expertise/expertise_munition_armorsmith_keen_understanding_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.addSkill('expertise_munition_armorsmith_keen_understanding_1')
-
- actor.addSkillMod('expertise_complexity_decrease_armorsmith', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.removeSkill('expertise_munition_armorsmith_keen_understanding_1')
-
- actor.removeSkillMod('expertise_complexity_decrease_armorsmith', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_munition_armorsmith_keen_understanding_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_munition_armorsmith_keen_understanding_1")
return
diff --git a/scripts/expertise/expertise_munition_armorsmith_keen_understanding_2.py b/scripts/expertise/expertise_munition_armorsmith_keen_understanding_2.py
index 9671c726..68063fba 100644
--- a/scripts/expertise/expertise_munition_armorsmith_keen_understanding_2.py
+++ b/scripts/expertise/expertise_munition_armorsmith_keen_understanding_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.addSkill('expertise_munition_armorsmith_keen_understanding_2')
-
- actor.addSkillMod('expertise_complexity_decrease_armorsmith', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.removeSkill('expertise_munition_armorsmith_keen_understanding_2')
-
- actor.removeSkillMod('expertise_complexity_decrease_armorsmith', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_munition_armorsmith_keen_understand_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_munition_armorsmith_keen_understand_2")
return
diff --git a/scripts/expertise/expertise_munition_armorsmith_socket_bonus_1.py b/scripts/expertise/expertise_munition_armorsmith_socket_bonus_1.py
index 31a4bf81..87f97e77 100644
--- a/scripts/expertise/expertise_munition_armorsmith_socket_bonus_1.py
+++ b/scripts/expertise/expertise_munition_armorsmith_socket_bonus_1.py
@@ -1,46 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.addSkill('expertise_munition_armorsmith_socket_bonus_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.removeSkill('expertise_munition_armorsmith_socket_bonus_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_munition_armorsmith_socket_bonus_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_munition_armorsmith_socket_bonus_1")
return
diff --git a/scripts/expertise/expertise_munition_artisan_advanced_theory_1.py b/scripts/expertise/expertise_munition_artisan_advanced_theory_1.py
index 1e5fe723..52843271 100644
--- a/scripts/expertise/expertise_munition_artisan_advanced_theory_1.py
+++ b/scripts/expertise/expertise_munition_artisan_advanced_theory_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.addSkill('expertise_munition_artisan_advanced_theory_1')
-
- actor.addSkillMod('general_experimentation', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.removeSkill('expertise_munition_artisan_advanced_theory_1')
-
- actor.removeSkillMod('general_experimentation', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_munition_artisan_advanced_theory_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_munition_artisan_advanced_theory_1")
return
diff --git a/scripts/expertise/expertise_munition_artisan_dexterity_1.py b/scripts/expertise/expertise_munition_artisan_dexterity_1.py
index 638088a7..3c7654c3 100644
--- a/scripts/expertise/expertise_munition_artisan_dexterity_1.py
+++ b/scripts/expertise/expertise_munition_artisan_dexterity_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.addSkill('expertise_munition_artisan_dexterity_1')
-
- actor.addSkillMod('general_assembly', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.removeSkill('expertise_munition_artisan_dexterity_1')
-
- actor.removeSkillMod('general_assembly', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_munition_artisan_dexterity_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_munition_artisan_dexterity_1")
return
diff --git a/scripts/expertise/expertise_munition_artisan_dexterity_2.py b/scripts/expertise/expertise_munition_artisan_dexterity_2.py
index 447143e8..100dd414 100644
--- a/scripts/expertise/expertise_munition_artisan_dexterity_2.py
+++ b/scripts/expertise/expertise_munition_artisan_dexterity_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.addSkill('expertise_munition_artisan_dexterity_2')
-
- actor.addSkillMod('general_assembly', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.removeSkill('expertise_munition_artisan_dexterity_2')
-
- actor.removeSkillMod('general_assembly', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_munition_artisan_dexterity_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_munition_artisan_dexterity_2")
return
diff --git a/scripts/expertise/expertise_munition_artisan_dexterity_3.py b/scripts/expertise/expertise_munition_artisan_dexterity_3.py
index 2100f2c7..aa5cdd64 100644
--- a/scripts/expertise/expertise_munition_artisan_dexterity_3.py
+++ b/scripts/expertise/expertise_munition_artisan_dexterity_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.addSkill('expertise_munition_artisan_dexterity_3')
-
- actor.addSkillMod('general_assembly', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.removeSkill('expertise_munition_artisan_dexterity_3')
-
- actor.removeSkillMod('general_assembly', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_munition_artisan_dexterity_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_munition_artisan_dexterity_3")
return
diff --git a/scripts/expertise/expertise_munition_artisan_dexterity_4.py b/scripts/expertise/expertise_munition_artisan_dexterity_4.py
index 4442f4d5..4dd8ecbb 100644
--- a/scripts/expertise/expertise_munition_artisan_dexterity_4.py
+++ b/scripts/expertise/expertise_munition_artisan_dexterity_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.addSkill('expertise_munition_artisan_dexterity_4')
-
- actor.addSkillMod('general_assembly', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.removeSkill('expertise_munition_artisan_dexterity_4')
-
- actor.removeSkillMod('general_assembly', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_munition_artisan_dexterity_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_munition_artisan_dexterity_4")
return
diff --git a/scripts/expertise/expertise_munition_artisan_hypothesis_1.py b/scripts/expertise/expertise_munition_artisan_hypothesis_1.py
index 80d37471..24cb3aae 100644
--- a/scripts/expertise/expertise_munition_artisan_hypothesis_1.py
+++ b/scripts/expertise/expertise_munition_artisan_hypothesis_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.addSkill('expertise_munition_artisan_hypothesis_1')
-
- actor.addSkillMod('expertise_experimentation_increase_artisan', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.removeSkill('expertise_munition_artisan_hypothesis_1')
-
- actor.removeSkillMod('expertise_experimentation_increase_artisan', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_munition_artisan_hypothesis_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_munition_artisan_hypothesis_1")
return
diff --git a/scripts/expertise/expertise_munition_artisan_hypothesis_2.py b/scripts/expertise/expertise_munition_artisan_hypothesis_2.py
index d842f507..99447075 100644
--- a/scripts/expertise/expertise_munition_artisan_hypothesis_2.py
+++ b/scripts/expertise/expertise_munition_artisan_hypothesis_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.addSkill('expertise_munition_artisan_hypothesis_2')
-
- actor.addSkillMod('expertise_experimentation_increase_artisan', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.removeSkill('expertise_munition_artisan_hypothesis_2')
-
- actor.removeSkillMod('expertise_experimentation_increase_artisan', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_munition_artisan_hypothesis_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_munition_artisan_hypothesis_2")
return
diff --git a/scripts/expertise/expertise_munition_artisan_hypothesis_3.py b/scripts/expertise/expertise_munition_artisan_hypothesis_3.py
index c4498501..a18d8365 100644
--- a/scripts/expertise/expertise_munition_artisan_hypothesis_3.py
+++ b/scripts/expertise/expertise_munition_artisan_hypothesis_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.addSkill('expertise_munition_artisan_hypothesis_3')
-
- actor.addSkillMod('expertise_experimentation_increase_artisan', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.removeSkill('expertise_munition_artisan_hypothesis_3')
-
- actor.removeSkillMod('expertise_experimentation_increase_artisan', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_munition_artisan_hypothesis_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_munition_artisan_hypothesis_3")
return
diff --git a/scripts/expertise/expertise_munition_artisan_hypothesis_4.py b/scripts/expertise/expertise_munition_artisan_hypothesis_4.py
index 9e217fe9..35ee3e44 100644
--- a/scripts/expertise/expertise_munition_artisan_hypothesis_4.py
+++ b/scripts/expertise/expertise_munition_artisan_hypothesis_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.addSkill('expertise_munition_artisan_hypothesis_4')
-
- actor.addSkillMod('expertise_experimentation_increase_artisan', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.removeSkill('expertise_munition_artisan_hypothesis_4')
-
- actor.removeSkillMod('expertise_experimentation_increase_artisan', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_munition_artisan_hypothesis_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_munition_artisan_hypothesis_4")
return
diff --git a/scripts/expertise/expertise_munition_resource_processing_1.py b/scripts/expertise/expertise_munition_resource_processing_1.py
index cbbef8f6..46b265dc 100644
--- a/scripts/expertise/expertise_munition_resource_processing_1.py
+++ b/scripts/expertise/expertise_munition_resource_processing_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.addSkill('expertise_munition_resource_processing_1')
-
- actor.addSkillMod('expertise_resource_quality_increase', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.removeSkill('expertise_munition_resource_processing_1')
-
- actor.removeSkillMod('expertise_resource_quality_increase', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_munition_resource_processing_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_munition_resource_processing_1")
return
diff --git a/scripts/expertise/expertise_munition_resource_processing_2.py b/scripts/expertise/expertise_munition_resource_processing_2.py
index 02eed65b..f188f336 100644
--- a/scripts/expertise/expertise_munition_resource_processing_2.py
+++ b/scripts/expertise/expertise_munition_resource_processing_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.addSkill('expertise_munition_resource_processing_2')
-
- actor.addSkillMod('expertise_resource_quality_increase', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.removeSkill('expertise_munition_resource_processing_2')
-
- actor.removeSkillMod('expertise_resource_quality_increase', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_munition_resource_processing_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_munition_resource_processing_2")
return
diff --git a/scripts/expertise/expertise_munition_resource_refinement_1.py b/scripts/expertise/expertise_munition_resource_refinement_1.py
index 0d500f72..855d585b 100644
--- a/scripts/expertise/expertise_munition_resource_refinement_1.py
+++ b/scripts/expertise/expertise_munition_resource_refinement_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.addSkill('expertise_munition_resource_refinement_1')
-
- actor.addSkillMod('expertise_resource_quality_increase', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.removeSkill('expertise_munition_resource_refinement_1')
-
- actor.removeSkillMod('expertise_resource_quality_increase', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_munition_resource_refinement_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_munition_resource_refinement_1")
return
diff --git a/scripts/expertise/expertise_munition_resource_refinement_2.py b/scripts/expertise/expertise_munition_resource_refinement_2.py
index 5b794681..e4536a48 100644
--- a/scripts/expertise/expertise_munition_resource_refinement_2.py
+++ b/scripts/expertise/expertise_munition_resource_refinement_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.addSkill('expertise_munition_resource_refinement_2')
-
- actor.addSkillMod('expertise_resource_quality_increase', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.removeSkill('expertise_munition_resource_refinement_2')
-
- actor.removeSkillMod('expertise_resource_quality_increase', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_munition_resource_refinement_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_munition_resource_refinement_2")
return
diff --git a/scripts/expertise/expertise_munition_weaponsmith_advanced_theory_1.py b/scripts/expertise/expertise_munition_weaponsmith_advanced_theory_1.py
index bfd79df3..6b248343 100644
--- a/scripts/expertise/expertise_munition_weaponsmith_advanced_theory_1.py
+++ b/scripts/expertise/expertise_munition_weaponsmith_advanced_theory_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.addSkill('expertise_munition_weaponsmith_advanced_theory_1')
-
- actor.addSkillMod('weapon_experimentation', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.removeSkill('expertise_munition_weaponsmith_advanced_theory_1')
-
- actor.removeSkillMod('weapon_experimentation', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_munition_weaponsmith_advanced_theory_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_munition_weaponsmith_advanced_theory_1")
return
diff --git a/scripts/expertise/expertise_munition_weaponsmith_dexterity_1.py b/scripts/expertise/expertise_munition_weaponsmith_dexterity_1.py
index fd035fd8..78a141b6 100644
--- a/scripts/expertise/expertise_munition_weaponsmith_dexterity_1.py
+++ b/scripts/expertise/expertise_munition_weaponsmith_dexterity_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.addSkill('expertise_munition_weaponsmith_dexterity_1')
-
- actor.addSkillMod('weapon_assembly', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.removeSkill('expertise_munition_weaponsmith_dexterity_1')
-
- actor.removeSkillMod('weapon_assembly', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_munition_weaponsmith_dexterity_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_munition_weaponsmith_dexterity_1")
return
diff --git a/scripts/expertise/expertise_munition_weaponsmith_dexterity_2.py b/scripts/expertise/expertise_munition_weaponsmith_dexterity_2.py
index 6e0ace46..978ba95f 100644
--- a/scripts/expertise/expertise_munition_weaponsmith_dexterity_2.py
+++ b/scripts/expertise/expertise_munition_weaponsmith_dexterity_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.addSkill('expertise_munition_weaponsmith_dexterity_2')
-
- actor.addSkillMod('weapon_assembly', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.removeSkill('expertise_munition_weaponsmith_dexterity_2')
-
- actor.removeSkillMod('weapon_assembly', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_munition_weaponsmith_dexterity_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_munition_weaponsmith_dexterity_2")
return
diff --git a/scripts/expertise/expertise_munition_weaponsmith_dexterity_3.py b/scripts/expertise/expertise_munition_weaponsmith_dexterity_3.py
index 7ca11203..c386a1ac 100644
--- a/scripts/expertise/expertise_munition_weaponsmith_dexterity_3.py
+++ b/scripts/expertise/expertise_munition_weaponsmith_dexterity_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.addSkill('expertise_munition_weaponsmith_dexterity_3')
-
- actor.addSkillMod('weapon_assembly', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.removeSkill('expertise_munition_weaponsmith_dexterity_3')
-
- actor.removeSkillMod('weapon_assembly', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_munition_weaponsmith_dexterity_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_munition_weaponsmith_dexterity_3")
return
diff --git a/scripts/expertise/expertise_munition_weaponsmith_dexterity_4.py b/scripts/expertise/expertise_munition_weaponsmith_dexterity_4.py
index 492a2b7f..22d08692 100644
--- a/scripts/expertise/expertise_munition_weaponsmith_dexterity_4.py
+++ b/scripts/expertise/expertise_munition_weaponsmith_dexterity_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.addSkill('expertise_munition_weaponsmith_dexterity_4')
-
- actor.addSkillMod('weapon_assembly', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.removeSkill('expertise_munition_weaponsmith_dexterity_4')
-
- actor.removeSkillMod('weapon_assembly', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_munition_weaponsmith_dexterity_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_munition_weaponsmith_dexterity_4")
return
diff --git a/scripts/expertise/expertise_munition_weaponsmith_hypothesis_1.py b/scripts/expertise/expertise_munition_weaponsmith_hypothesis_1.py
index 01a84b79..33a64c97 100644
--- a/scripts/expertise/expertise_munition_weaponsmith_hypothesis_1.py
+++ b/scripts/expertise/expertise_munition_weaponsmith_hypothesis_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.addSkill('expertise_munition_weaponsmith_hypothesis_1')
-
- actor.addSkillMod('expertise_experimentation_increase_weaponsmith', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.removeSkill('expertise_munition_weaponsmith_hypothesis_1')
-
- actor.removeSkillMod('expertise_experimentation_increase_weaponsmith', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_munition_weaponsmith_hypothesis_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_munition_weaponsmith_hypothesis_1")
return
diff --git a/scripts/expertise/expertise_munition_weaponsmith_hypothesis_2.py b/scripts/expertise/expertise_munition_weaponsmith_hypothesis_2.py
index c55b807d..a38da0d9 100644
--- a/scripts/expertise/expertise_munition_weaponsmith_hypothesis_2.py
+++ b/scripts/expertise/expertise_munition_weaponsmith_hypothesis_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.addSkill('expertise_munition_weaponsmith_hypothesis_2')
-
- actor.addSkillMod('expertise_experimentation_increase_weaponsmith', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.removeSkill('expertise_munition_weaponsmith_hypothesis_2')
-
- actor.removeSkillMod('expertise_experimentation_increase_weaponsmith', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_munition_weaponsmith_hypothesis_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_munition_weaponsmith_hypothesis_2")
return
diff --git a/scripts/expertise/expertise_munition_weaponsmith_hypothesis_3.py b/scripts/expertise/expertise_munition_weaponsmith_hypothesis_3.py
index 1236e5a7..a6ecbf5a 100644
--- a/scripts/expertise/expertise_munition_weaponsmith_hypothesis_3.py
+++ b/scripts/expertise/expertise_munition_weaponsmith_hypothesis_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.addSkill('expertise_munition_weaponsmith_hypothesis_3')
-
- actor.addSkillMod('expertise_experimentation_increase_weaponsmith', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.removeSkill('expertise_munition_weaponsmith_hypothesis_3')
-
- actor.removeSkillMod('expertise_experimentation_increase_weaponsmith', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_munition_weaponsmith_hypothesis_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_munition_weaponsmith_hypothesis_3")
return
diff --git a/scripts/expertise/expertise_munition_weaponsmith_hypothesis_4.py b/scripts/expertise/expertise_munition_weaponsmith_hypothesis_4.py
index 233610d9..08e1855e 100644
--- a/scripts/expertise/expertise_munition_weaponsmith_hypothesis_4.py
+++ b/scripts/expertise/expertise_munition_weaponsmith_hypothesis_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.addSkill('expertise_munition_weaponsmith_hypothesis_4')
-
- actor.addSkillMod('expertise_experimentation_increase_weaponsmith', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.removeSkill('expertise_munition_weaponsmith_hypothesis_4')
-
- actor.removeSkillMod('expertise_experimentation_increase_weaponsmith', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_munition_weaponsmith_hypothesis_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_munition_weaponsmith_hypothesis_4")
return
diff --git a/scripts/expertise/expertise_munition_weaponsmith_insight_1.py b/scripts/expertise/expertise_munition_weaponsmith_insight_1.py
index f4775f7e..02ae306a 100644
--- a/scripts/expertise/expertise_munition_weaponsmith_insight_1.py
+++ b/scripts/expertise/expertise_munition_weaponsmith_insight_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.addSkill('expertise_munition_weaponsmith_insight_1')
-
- actor.addSkillMod('expertise_complexity_decrease_weaponsmith', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.removeSkill('expertise_munition_weaponsmith_insight_1')
-
- actor.removeSkillMod('expertise_complexity_decrease_weaponsmith', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_munition_weaponsmith_insight_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_munition_weaponsmith_insight_1")
return
diff --git a/scripts/expertise/expertise_munition_weaponsmith_insight_2.py b/scripts/expertise/expertise_munition_weaponsmith_insight_2.py
index 0bd0d617..fd8846c4 100644
--- a/scripts/expertise/expertise_munition_weaponsmith_insight_2.py
+++ b/scripts/expertise/expertise_munition_weaponsmith_insight_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.addSkill('expertise_munition_weaponsmith_insight_2')
-
- actor.addSkillMod('expertise_complexity_decrease_weaponsmith', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.removeSkill('expertise_munition_weaponsmith_insight_2')
-
- actor.removeSkillMod('expertise_complexity_decrease_weaponsmith', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_munition_weaponsmith_insight_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_munition_weaponsmith_insight_2")
return
diff --git a/scripts/expertise/expertise_munition_weaponsmith_keen_understanding_1.py b/scripts/expertise/expertise_munition_weaponsmith_keen_understanding_1.py
index bf78a146..3a4b9071 100644
--- a/scripts/expertise/expertise_munition_weaponsmith_keen_understanding_1.py
+++ b/scripts/expertise/expertise_munition_weaponsmith_keen_understanding_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.addSkill('expertise_munition_weaponsmith_keen_understanding_1')
-
- actor.addSkillMod('expertise_complexity_decrease_weaponsmith', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.removeSkill('expertise_munition_weaponsmith_keen_understanding_1')
-
- actor.removeSkillMod('expertise_complexity_decrease_weaponsmith', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_munition_weaponsmith_keen_understanding_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_munition_weaponsmith_keen_understanding_1")
return
diff --git a/scripts/expertise/expertise_munition_weaponsmith_keen_understanding_2.py b/scripts/expertise/expertise_munition_weaponsmith_keen_understanding_2.py
index 7bf75f62..14a0134d 100644
--- a/scripts/expertise/expertise_munition_weaponsmith_keen_understanding_2.py
+++ b/scripts/expertise/expertise_munition_weaponsmith_keen_understanding_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.addSkill('expertise_munition_weaponsmith_keen_understanding_2')
-
- actor.addSkillMod('expertise_complexity_decrease_weaponsmith', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_mun_1a':
- return
-
- actor.removeSkill('expertise_munition_weaponsmith_keen_understanding_2')
-
- actor.removeSkillMod('expertise_complexity_decrease_weaponsmith', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_munition_weaponsmith_keen_understanding_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_munition_weaponsmith_keen_understanding_2")
return
diff --git a/scripts/expertise/expertise_of_1h_crit_1.py b/scripts/expertise/expertise_of_1h_crit_1.py
index 461ff94d..5b1de38a 100644
--- a/scripts/expertise/expertise_of_1h_crit_1.py
+++ b/scripts/expertise/expertise_of_1h_crit_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_1h_crit_1')
-
- actor.addSkillMod('expertise_undiminished_critical_melee', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_1h_crit_1')
-
- actor.removeSkillMod('expertise_undiminished_critical_melee', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_of_1h_crit_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_of_1h_crit_1")
return
diff --git a/scripts/expertise/expertise_of_1h_crit_2.py b/scripts/expertise/expertise_of_1h_crit_2.py
index 60a05278..6f5fa016 100644
--- a/scripts/expertise/expertise_of_1h_crit_2.py
+++ b/scripts/expertise/expertise_of_1h_crit_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_1h_crit_2')
-
- actor.addSkillMod('expertise_undiminished_critical_melee', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_1h_crit_2')
-
- actor.removeSkillMod('expertise_undiminished_critical_melee', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_of_1h_crit_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_of_1h_crit_2")
return
diff --git a/scripts/expertise/expertise_of_1h_dam_1.py b/scripts/expertise/expertise_of_1h_dam_1.py
index b8be4494..f143981d 100644
--- a/scripts/expertise/expertise_of_1h_dam_1.py
+++ b/scripts/expertise/expertise_of_1h_dam_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_1h_dam_1')
-
- actor.addSkillMod('expertise_damage_melee', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_1h_dam_1')
-
- actor.removeSkillMod('expertise_damage_melee', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_of_1h_dam_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_of_1h_dam_1")
return
diff --git a/scripts/expertise/expertise_of_1h_dam_2.py b/scripts/expertise/expertise_of_1h_dam_2.py
index e4edd536..65802383 100644
--- a/scripts/expertise/expertise_of_1h_dam_2.py
+++ b/scripts/expertise/expertise_of_1h_dam_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_1h_dam_2')
-
- actor.addSkillMod('expertise_damage_melee', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_1h_dam_2')
-
- actor.removeSkillMod('expertise_damage_melee', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_of_1h_dam_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_of_1h_dam_2")
return
diff --git a/scripts/expertise/expertise_of_1h_dam_3.py b/scripts/expertise/expertise_of_1h_dam_3.py
index aa845e86..e1a3c0ad 100644
--- a/scripts/expertise/expertise_of_1h_dam_3.py
+++ b/scripts/expertise/expertise_of_1h_dam_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_1h_dam_3')
-
- actor.addSkillMod('expertise_damage_melee', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_1h_dam_3')
-
- actor.removeSkillMod('expertise_damage_melee', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_of_1h_dam_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_of_1h_dam_3")
return
diff --git a/scripts/expertise/expertise_of_1h_dam_4.py b/scripts/expertise/expertise_of_1h_dam_4.py
index 8041c7e1..10539dc5 100644
--- a/scripts/expertise/expertise_of_1h_dam_4.py
+++ b/scripts/expertise/expertise_of_1h_dam_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_1h_dam_4')
-
- actor.addSkillMod('expertise_damage_melee', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_1h_dam_4')
-
- actor.removeSkillMod('expertise_damage_melee', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_of_1h_dam_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_of_1h_dam_4")
return
diff --git a/scripts/expertise/expertise_of_advanced_paint_1.py b/scripts/expertise/expertise_of_advanced_paint_1.py
index 3174e3a1..aab196f3 100644
--- a/scripts/expertise/expertise_of_advanced_paint_1.py
+++ b/scripts/expertise/expertise_of_advanced_paint_1.py
@@ -1,48 +1,31 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_advanced_paint_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_advanced_paint_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('of_deb_def_4')
-
+ if actor.getLevel() >= 4:
+ actor.addAbility("of_deb_def_1")
+ if actor.getLevel() >= 12:
+ actor.addAbility("of_deb_def_2")
+ if actor.getLevel() >= 20:
+ actor.addAbility("of_deb_def_3")
+ if actor.getLevel() >= 30:
+ actor.addAbility("of_deb_def_4")
+ if actor.getLevel() >= 38:
+ actor.addAbility("of_deb_def_5")
+ if actor.getLevel() >= 52:
+ actor.addAbility("of_deb_def_6")
+ if actor.getLevel() >= 62:
+ actor.addAbility("of_deb_def_7")
+ if actor.getLevel() >= 72:
+ actor.addAbility("of_deb_def_8")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('of_deb_def_4')
-
+ actor.removeAbility("of_deb_def_1")
+ actor.removeAbility("of_deb_def_2")
+ actor.removeAbility("of_deb_def_3")
+ actor.removeAbility("of_deb_def_4")
+ actor.removeAbility("of_deb_def_5")
+ actor.removeAbility("of_deb_def_6")
+ actor.removeAbility("of_deb_def_7")
+ actor.removeAbility("of_deb_def_8")
return
diff --git a/scripts/expertise/expertise_of_advanced_tactics_1.py b/scripts/expertise/expertise_of_advanced_tactics_1.py
index 1bbd138c..6a976e84 100644
--- a/scripts/expertise/expertise_of_advanced_tactics_1.py
+++ b/scripts/expertise/expertise_of_advanced_tactics_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_advanced_tactics_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_advanced_tactics_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('of_buff_def_4')
-
+ actor.addAbility("of_buff_def_4")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('of_buff_def_4')
-
+ actor.removeAbility("of_buff_def_4")
return
diff --git a/scripts/expertise/expertise_of_aggro_channel_1.py b/scripts/expertise/expertise_of_aggro_channel_1.py
index 854b3726..912c1b43 100644
--- a/scripts/expertise/expertise_of_aggro_channel_1.py
+++ b/scripts/expertise/expertise_of_aggro_channel_1.py
@@ -1,50 +1,11 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_aggro_channel_1')
-
- actor.addSkillMod('expertise_aggro_channel', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_aggro_channel_1')
-
- actor.removeSkillMod('expertise_aggro_channel', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('of_aggro_channel')
-
+ actor.addAbility("of_aggro_channel")
+ actor.addAbility("expertise_of_aggro_channel_1")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('of_aggro_channel')
-
+ actor.removeAbility("of_aggro_channel")
+ actor.removeAbility("expertise_of_aggro_channel_1")
return
diff --git a/scripts/expertise/expertise_of_aggro_channel_2.py b/scripts/expertise/expertise_of_aggro_channel_2.py
new file mode 100644
index 00000000..69b37a58
--- /dev/null
+++ b/scripts/expertise/expertise_of_aggro_channel_2.py
@@ -0,0 +1,9 @@
+import sys
+
+def addAbilities(core, actor, player):
+ actor.addAbility("expertise_of_aggro_channel_2")
+ return
+
+def removeAbilities(core, actor, player):
+ actor.removeAbility("expertise_of_aggro_channel_2")
+ return
diff --git a/scripts/expertise/expertise_of_aggro_channel_3.py b/scripts/expertise/expertise_of_aggro_channel_3.py
new file mode 100644
index 00000000..59bb6863
--- /dev/null
+++ b/scripts/expertise/expertise_of_aggro_channel_3.py
@@ -0,0 +1,9 @@
+import sys
+
+def addAbilities(core, actor, player):
+ actor.addAbility("expertise_of_aggro_channel_3")
+ return
+
+def removeAbilities(core, actor, player):
+ actor.removeAbility("expertise_of_aggro_channel_3")
+ return
diff --git a/scripts/expertise/expertise_of_aoe_act_1.py b/scripts/expertise/expertise_of_aoe_act_1.py
index ca6b47a6..674c7d3a 100644
--- a/scripts/expertise/expertise_of_aoe_act_1.py
+++ b/scripts/expertise/expertise_of_aoe_act_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_aoe_act_1')
-
- actor.addSkillMod('expertise_action_line_of_aoe', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_aoe_act_1')
-
- actor.removeSkillMod('expertise_action_line_of_aoe', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_of_aoe_act_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_of_aoe_act_1")
return
diff --git a/scripts/expertise/expertise_of_aoe_act_2.py b/scripts/expertise/expertise_of_aoe_act_2.py
index 7d2e2aaf..97120f62 100644
--- a/scripts/expertise/expertise_of_aoe_act_2.py
+++ b/scripts/expertise/expertise_of_aoe_act_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_aoe_act_2')
-
- actor.addSkillMod('expertise_action_line_of_aoe', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_aoe_act_2')
-
- actor.removeSkillMod('expertise_action_line_of_aoe', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_of_aoe_act_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_of_aoe_act_2")
return
diff --git a/scripts/expertise/expertise_of_aoe_act_3.py b/scripts/expertise/expertise_of_aoe_act_3.py
index a07c0839..509996aa 100644
--- a/scripts/expertise/expertise_of_aoe_act_3.py
+++ b/scripts/expertise/expertise_of_aoe_act_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_aoe_act_3')
-
- actor.addSkillMod('expertise_action_line_of_aoe', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_aoe_act_3')
-
- actor.removeSkillMod('expertise_action_line_of_aoe', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_of_aoe_act_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_of_aoe_act_3")
return
diff --git a/scripts/expertise/expertise_of_aoe_act_4.py b/scripts/expertise/expertise_of_aoe_act_4.py
index 221991d5..d6d15040 100644
--- a/scripts/expertise/expertise_of_aoe_act_4.py
+++ b/scripts/expertise/expertise_of_aoe_act_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_aoe_act_4')
-
- actor.addSkillMod('expertise_action_line_of_aoe', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_aoe_act_4')
-
- actor.removeSkillMod('expertise_action_line_of_aoe', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_of_aoe_act_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_of_aoe_act_4")
return
diff --git a/scripts/expertise/expertise_of_aoe_crit_1.py b/scripts/expertise/expertise_of_aoe_crit_1.py
index f099eb09..f87e35f3 100644
--- a/scripts/expertise/expertise_of_aoe_crit_1.py
+++ b/scripts/expertise/expertise_of_aoe_crit_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_aoe_crit_1')
-
- actor.addSkillMod('expertise_critical_line_of_aoe', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_aoe_crit_1')
-
- actor.removeSkillMod('expertise_critical_line_of_aoe', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_of_aoe_crit_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_of_aoe_crit_1")
return
diff --git a/scripts/expertise/expertise_of_aoe_crit_2.py b/scripts/expertise/expertise_of_aoe_crit_2.py
index 9c9f80e4..66c7da61 100644
--- a/scripts/expertise/expertise_of_aoe_crit_2.py
+++ b/scripts/expertise/expertise_of_aoe_crit_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_aoe_crit_2')
-
- actor.addSkillMod('expertise_critical_line_of_aoe', 15)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_aoe_crit_2')
-
- actor.removeSkillMod('expertise_critical_line_of_aoe', 15)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_of_aoe_crit_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_of_aoe_crit_2")
return
diff --git a/scripts/expertise/expertise_of_aoe_crit_3.py b/scripts/expertise/expertise_of_aoe_crit_3.py
index e8c9cfaf..500ec01d 100644
--- a/scripts/expertise/expertise_of_aoe_crit_3.py
+++ b/scripts/expertise/expertise_of_aoe_crit_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_aoe_crit_3')
-
- actor.addSkillMod('expertise_critical_line_of_aoe', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_aoe_crit_3')
-
- actor.removeSkillMod('expertise_critical_line_of_aoe', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_of_aoe_crit_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_of_aoe_crit_3")
return
diff --git a/scripts/expertise/expertise_of_aoe_dam_1.py b/scripts/expertise/expertise_of_aoe_dam_1.py
index aecafb91..89e60747 100644
--- a/scripts/expertise/expertise_of_aoe_dam_1.py
+++ b/scripts/expertise/expertise_of_aoe_dam_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_aoe_dam_1')
-
- actor.addSkillMod('expertise_damage_line_of_aoe', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_aoe_dam_1')
-
- actor.removeSkillMod('expertise_damage_line_of_aoe', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_of_aoe_dam_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_of_aoe_dam_1")
return
diff --git a/scripts/expertise/expertise_of_aoe_dam_2.py b/scripts/expertise/expertise_of_aoe_dam_2.py
index b4051206..67ec6994 100644
--- a/scripts/expertise/expertise_of_aoe_dam_2.py
+++ b/scripts/expertise/expertise_of_aoe_dam_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_aoe_dam_2')
-
- actor.addSkillMod('expertise_damage_line_of_aoe', 15)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_aoe_dam_2')
-
- actor.removeSkillMod('expertise_damage_line_of_aoe', 15)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_of_aoe_dam_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_of_aoe_dam_2")
return
diff --git a/scripts/expertise/expertise_of_armor_eng_1.py b/scripts/expertise/expertise_of_armor_eng_1.py
index bbcb6419..c5d4960e 100644
--- a/scripts/expertise/expertise_of_armor_eng_1.py
+++ b/scripts/expertise/expertise_of_armor_eng_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_armor_eng_1')
-
- actor.addSkillMod('expertise_innate_protection_energy', 500)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_armor_eng_1')
-
- actor.removeSkillMod('expertise_innate_protection_energy', 500)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_of_armor_eng_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_of_armor_eng_1")
return
diff --git a/scripts/expertise/expertise_of_armor_eng_2.py b/scripts/expertise/expertise_of_armor_eng_2.py
index a3384177..ae551145 100644
--- a/scripts/expertise/expertise_of_armor_eng_2.py
+++ b/scripts/expertise/expertise_of_armor_eng_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_armor_eng_2')
-
- actor.addSkillMod('expertise_innate_protection_energy', 500)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_armor_eng_2')
-
- actor.removeSkillMod('expertise_innate_protection_energy', 500)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_of_armor_eng_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_of_armor_eng_2")
return
diff --git a/scripts/expertise/expertise_of_armor_kin_1.py b/scripts/expertise/expertise_of_armor_kin_1.py
index 06713c28..98f1e9e7 100644
--- a/scripts/expertise/expertise_of_armor_kin_1.py
+++ b/scripts/expertise/expertise_of_armor_kin_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_armor_kin_1')
-
- actor.addSkillMod('expertise_innate_protection_kinetic', 500)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_armor_kin_1')
-
- actor.removeSkillMod('expertise_innate_protection_kinetic', 500)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_of_armor_kin_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_of_armor_kin_1")
return
diff --git a/scripts/expertise/expertise_of_armor_kin_2.py b/scripts/expertise/expertise_of_armor_kin_2.py
index b1654a38..a67cdba1 100644
--- a/scripts/expertise/expertise_of_armor_kin_2.py
+++ b/scripts/expertise/expertise_of_armor_kin_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_armor_kin_2')
-
- actor.addSkillMod('expertise_innate_protection_kinetic', 500)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_armor_kin_2')
-
- actor.removeSkillMod('expertise_innate_protection_kinetic', 500)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_of_armor_kin_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_of_armor_kin_2")
return
diff --git a/scripts/expertise/expertise_of_charge_1.py b/scripts/expertise/expertise_of_charge_1.py
index 14086fb6..5667cd17 100644
--- a/scripts/expertise/expertise_of_charge_1.py
+++ b/scripts/expertise/expertise_of_charge_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_charge_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_charge_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('of_charge_1')
-
+ actor.addAbility("of_charge_1")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('of_charge_1')
-
+ actor.removeAbility("of_charge_1")
return
diff --git a/scripts/expertise/expertise_of_constitution_1.py b/scripts/expertise/expertise_of_constitution_1.py
index 0e6e578c..33d66895 100644
--- a/scripts/expertise/expertise_of_constitution_1.py
+++ b/scripts/expertise/expertise_of_constitution_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_constitution_1')
-
- actor.addSkillMod('constitution_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_constitution_1')
-
- actor.removeSkillMod('constitution_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_of_constution_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_of_constution_1")
return
diff --git a/scripts/expertise/expertise_of_constitution_2.py b/scripts/expertise/expertise_of_constitution_2.py
index 7332ea67..5afec279 100644
--- a/scripts/expertise/expertise_of_constitution_2.py
+++ b/scripts/expertise/expertise_of_constitution_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_constitution_2')
-
- actor.addSkillMod('constitution_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_constitution_2')
-
- actor.removeSkillMod('constitution_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_of_constution_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_of_constution_2")
return
diff --git a/scripts/expertise/expertise_of_constitution_3.py b/scripts/expertise/expertise_of_constitution_3.py
index 96cb9137..eb215ec3 100644
--- a/scripts/expertise/expertise_of_constitution_3.py
+++ b/scripts/expertise/expertise_of_constitution_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_constitution_3')
-
- actor.addSkillMod('constitution_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_constitution_3')
-
- actor.removeSkillMod('constitution_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_of_constution_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_of_constution_3")
return
diff --git a/scripts/expertise/expertise_of_constitution_4.py b/scripts/expertise/expertise_of_constitution_4.py
index 0ba009e9..75679a92 100644
--- a/scripts/expertise/expertise_of_constitution_4.py
+++ b/scripts/expertise/expertise_of_constitution_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_constitution_4')
-
- actor.addSkillMod('constitution_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_constitution_4')
-
- actor.removeSkillMod('constitution_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_of_constution_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_of_constution_4")
return
diff --git a/scripts/expertise/expertise_of_decapitate_1.py b/scripts/expertise/expertise_of_decapitate_1.py
index 5cfb1494..1c6cc6ee 100644
--- a/scripts/expertise/expertise_of_decapitate_1.py
+++ b/scripts/expertise/expertise_of_decapitate_1.py
@@ -1,48 +1,25 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_decapitate_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_decapitate_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('of_decapitate_1')
-
+ if actor.getLevel() >= 26:
+ actor.addAbility("of_decapitate_1")
+ if actor.getLevel() >= 34:
+ actor.addAbility("of_decapitate_2")
+ if actor.getLevel() >= 48:
+ actor.addAbility("of_decapitate_3")
+ if actor.getLevel() >= 62:
+ actor.addAbility("of_decapitate_4")
+ if actor.getLevel() >= 76:
+ actor.addAbility("of_decapitate_5")
+ if actor.getLevel() >= 90:
+ actor.addAbility("of_decapitate_6")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('of_decapitate_1')
-
+ actor.removeAbility("of_decapitate_1")
+ actor.removeAbility("of_decapitate_2")
+ actor.removeAbility("of_decapitate_3")
+ actor.removeAbility("of_decapitate_4")
+ actor.removeAbility("of_decapitate_5")
+ actor.removeAbility("of_decapitate_6")
return
diff --git a/scripts/expertise/expertise_of_dm_1.py b/scripts/expertise/expertise_of_dm_1.py
index 165617c2..22659ae7 100644
--- a/scripts/expertise/expertise_of_dm_1.py
+++ b/scripts/expertise/expertise_of_dm_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_dm_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_dm_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('of_pistol_dm')
-
+ actor.addAbility("of_pistol_dm")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('of_pistol_dm')
-
+ actor.removeAbility("of_pistol_dm")
return
diff --git a/scripts/expertise/expertise_of_drillmaster_1.py b/scripts/expertise/expertise_of_drillmaster_1.py
index 1216d427..1ffea25f 100644
--- a/scripts/expertise/expertise_of_drillmaster_1.py
+++ b/scripts/expertise/expertise_of_drillmaster_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_drillmaster_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_drillmaster_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('of_drillmaster_1')
-
+ actor.addAbility("of_drillmaster_1")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('of_drillmaster_1')
-
+ actor.removeAbility("of_drillmaster_1")
return
diff --git a/scripts/expertise/expertise_of_emergency_shield.py b/scripts/expertise/expertise_of_emergency_shield.py
index e3a8b519..c29afc3f 100644
--- a/scripts/expertise/expertise_of_emergency_shield.py
+++ b/scripts/expertise/expertise_of_emergency_shield.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_emergency_shield')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_emergency_shield')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('of_emergency_shield')
-
+ actor.addAbility("of_emergency_shield")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('of_emergency_shield')
-
+ actor.removeAbility("of_emergency_shield")
return
diff --git a/scripts/expertise/expertise_of_firepower_1.py b/scripts/expertise/expertise_of_firepower_1.py
index ff310741..ebdd34a9 100644
--- a/scripts/expertise/expertise_of_firepower_1.py
+++ b/scripts/expertise/expertise_of_firepower_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_firepower_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_firepower_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('of_firepower_1')
-
+ actor.addAbility("of_firepower_1")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('of_firepower_1')
-
+ actor.removeAbility("of_firepower_1")
return
diff --git a/scripts/expertise/expertise_of_firepower_cool_1.py b/scripts/expertise/expertise_of_firepower_cool_1.py
index d844f5f4..028ad25c 100644
--- a/scripts/expertise/expertise_of_firepower_cool_1.py
+++ b/scripts/expertise/expertise_of_firepower_cool_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_firepower_cool_1')
-
- actor.addSkillMod('expertise_cooldown_line_of_firepower', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_firepower_cool_1')
-
- actor.removeSkillMod('expertise_cooldown_line_of_firepower', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_of_firepower_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_of_firepower_1")
return
diff --git a/scripts/expertise/expertise_of_firepower_cool_2.py b/scripts/expertise/expertise_of_firepower_cool_2.py
index b0fab74f..fdfcbaba 100644
--- a/scripts/expertise/expertise_of_firepower_cool_2.py
+++ b/scripts/expertise/expertise_of_firepower_cool_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_firepower_cool_2')
-
- actor.addSkillMod('expertise_cooldown_line_of_firepower', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_firepower_cool_2')
-
- actor.removeSkillMod('expertise_cooldown_line_of_firepower', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_of_firepower_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_of_firepower_2")
return
diff --git a/scripts/expertise/expertise_of_firepower_cool_3.py b/scripts/expertise/expertise_of_firepower_cool_3.py
index 666c9647..28c63b2a 100644
--- a/scripts/expertise/expertise_of_firepower_cool_3.py
+++ b/scripts/expertise/expertise_of_firepower_cool_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_firepower_cool_3')
-
- actor.addSkillMod('expertise_cooldown_line_of_firepower', 4)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_firepower_cool_3')
-
- actor.removeSkillMod('expertise_cooldown_line_of_firepower', 4)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_of_firepower_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_of_firepower_3")
return
diff --git a/scripts/expertise/expertise_of_focus_fire_1.py b/scripts/expertise/expertise_of_focus_fire_1.py
index 7b0cbaff..0dfc30c4 100644
--- a/scripts/expertise/expertise_of_focus_fire_1.py
+++ b/scripts/expertise/expertise_of_focus_fire_1.py
@@ -1,48 +1,25 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_focus_fire_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_focus_fire_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('of_focus_fire_1')
-
+ if actor.getLevel() >= 26:
+ actor.addAbility("of_focus_fire_1")
+ if actor.getLevel() >= 34:
+ actor.addAbility("of_focus_fire_2")
+ if actor.getLevel() >= 48:
+ actor.addAbility("of_focus_fire_3")
+ if actor.getLevel() >= 62:
+ actor.addAbility("of_focus_fire_4")
+ if actor.getLevel() >= 76:
+ actor.addAbility("of_focus_fire_5")
+ if actor.getLevel() >= 90:
+ actor.addAbility("of_focus_fire_6")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('of_focus_fire_1')
-
+ actor.removeAbility("of_focus_fire_1")
+ actor.removeAbility("of_focus_fire_2")
+ actor.removeAbility("of_focus_fire_3")
+ actor.removeAbility("of_focus_fire_4")
+ actor.removeAbility("of_focus_fire_5")
+ actor.removeAbility("of_focus_fire_6")
return
diff --git a/scripts/expertise/expertise_of_group_buff_duration_1.py b/scripts/expertise/expertise_of_group_buff_duration_1.py
index 363bd385..dd53fe02 100644
--- a/scripts/expertise/expertise_of_group_buff_duration_1.py
+++ b/scripts/expertise/expertise_of_group_buff_duration_1.py
@@ -1,52 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_group_buff_duration_1')
-
- actor.addSkillMod('expertise_buff_duration_line_of_group_buff', 15)
- actor.addSkillMod('expertise_aura_maintain', 1)
- actor.addSkillMod('expertise_action_line_of_group_buff', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_group_buff_duration_1')
-
- actor.removeSkillMod('expertise_buff_duration_line_of_group_buff', 15)
- actor.removeSkillMod('expertise_aura_maintain', 1)
- actor.removeSkillMod('expertise_action_line_of_group_buff', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_of_group_buff_duration_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_of_group_buff_duration_1")
return
diff --git a/scripts/expertise/expertise_of_group_buff_duration_2.py b/scripts/expertise/expertise_of_group_buff_duration_2.py
index a8e441bc..3414a208 100644
--- a/scripts/expertise/expertise_of_group_buff_duration_2.py
+++ b/scripts/expertise/expertise_of_group_buff_duration_2.py
@@ -1,52 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_group_buff_duration_2')
-
- actor.addSkillMod('expertise_buff_duration_line_of_group_buff', 15)
- actor.addSkillMod('expertise_aura_maintain', 1)
- actor.addSkillMod('expertise_action_line_of_group_buff', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_group_buff_duration_2')
-
- actor.removeSkillMod('expertise_buff_duration_line_of_group_buff', 15)
- actor.removeSkillMod('expertise_aura_maintain', 1)
- actor.removeSkillMod('expertise_action_line_of_group_buff', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_of_group_buff_duration_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_of_group_buff_duration_2")
return
diff --git a/scripts/expertise/expertise_of_heal_cool_1.py b/scripts/expertise/expertise_of_heal_cool_1.py
index fe729bcf..9f3a849f 100644
--- a/scripts/expertise/expertise_of_heal_cool_1.py
+++ b/scripts/expertise/expertise_of_heal_cool_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_heal_cool_1')
-
- actor.addSkillMod('expertise_cooldown_line_of_heal', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_heal_cool_1')
-
- actor.removeSkillMod('expertise_cooldown_line_of_heal', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_of_heal_cool_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_of_heal_cool_1")
return
diff --git a/scripts/expertise/expertise_of_heal_cool_2.py b/scripts/expertise/expertise_of_heal_cool_2.py
index 93d3f257..2f5a04ad 100644
--- a/scripts/expertise/expertise_of_heal_cool_2.py
+++ b/scripts/expertise/expertise_of_heal_cool_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_heal_cool_2')
-
- actor.addSkillMod('expertise_cooldown_line_of_heal', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_heal_cool_2')
-
- actor.removeSkillMod('expertise_cooldown_line_of_heal', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_of_heal_cool_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_of_heal_cool_2")
return
diff --git a/scripts/expertise/expertise_of_heal_dam_1.py b/scripts/expertise/expertise_of_heal_dam_1.py
index 5040250a..b9263761 100644
--- a/scripts/expertise/expertise_of_heal_dam_1.py
+++ b/scripts/expertise/expertise_of_heal_dam_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_heal_dam_1')
-
- actor.addSkillMod('expertise_healing_line_of_heal', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_heal_dam_1')
-
- actor.removeSkillMod('expertise_healing_line_of_heal', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_of_heal_dam_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_of_heal_dam_1")
return
diff --git a/scripts/expertise/expertise_of_heal_dam_2.py b/scripts/expertise/expertise_of_heal_dam_2.py
index 40917e3b..2975d55f 100644
--- a/scripts/expertise/expertise_of_heal_dam_2.py
+++ b/scripts/expertise/expertise_of_heal_dam_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_heal_dam_2')
-
- actor.addSkillMod('expertise_healing_line_of_heal', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_heal_dam_2')
-
- actor.removeSkillMod('expertise_healing_line_of_heal', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_of_heal_dam_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_of_heal_dam_2")
return
diff --git a/scripts/expertise/expertise_of_inspiration_1.py b/scripts/expertise/expertise_of_inspiration_1.py
index 8905b42d..201c93dd 100644
--- a/scripts/expertise/expertise_of_inspiration_1.py
+++ b/scripts/expertise/expertise_of_inspiration_1.py
@@ -1,48 +1,25 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_inspiration_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_inspiration_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('of_inspiration_1')
-
+ if actor.getLevel() >= 26:
+ actor.addAbility("of_inspiration_1")
+ if actor.getLevel() >= 34:
+ actor.addAbility("of_inspiration_2")
+ if actor.getLevel() >= 48:
+ actor.addAbility("of_inspiration_3")
+ if actor.getLevel() >= 62:
+ actor.addAbility("of_inspiration_4")
+ if actor.getLevel() >= 76:
+ actor.addAbility("of_inspiration_5")
+ if actor.getLevel() >= 90:
+ actor.addAbility("of_inspiration_6")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('of_inspiration_1')
-
+ actor.removeAbility("of_inspiration_1")
+ actor.removeAbility("of_inspiration_2")
+ actor.removeAbility("of_inspiration_3")
+ actor.removeAbility("of_inspiration_4")
+ actor.removeAbility("of_inspiration_5")
+ actor.removeAbility("of_inspiration_6")
return
diff --git a/scripts/expertise/expertise_of_last_words_1.py b/scripts/expertise/expertise_of_last_words_1.py
index 540a29c7..688c8727 100644
--- a/scripts/expertise/expertise_of_last_words_1.py
+++ b/scripts/expertise/expertise_of_last_words_1.py
@@ -1,46 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_last_words_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_last_words_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
return
def removeAbilities(core, actor, player):
-
return
diff --git a/scripts/expertise/expertise_of_leg_strike_1.py b/scripts/expertise/expertise_of_leg_strike_1.py
index 3eb59a01..30612f01 100644
--- a/scripts/expertise/expertise_of_leg_strike_1.py
+++ b/scripts/expertise/expertise_of_leg_strike_1.py
@@ -1,48 +1,28 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_leg_strike_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_leg_strike_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('of_leg_strike_1')
-
+ if actor.getLevel() >= 4:
+ actor.addAbility("of_leg_strike_1")
+ if actor.getLevel() >= 12:
+ actor.addAbility("of_leg_strike_2")
+ if actor.getLevel() >= 20:
+ actor.addAbility("of_leg_strike_3")
+ if actor.getLevel() >= 30:
+ actor.addAbility("of_leg_strike_4")
+ if actor.getLevel() >= 38:
+ actor.addAbility("of_leg_strike_5")
+ if actor.getLevel() >= 52:
+ actor.addAbility("of_leg_strike_6")
+ if actor.getLevel() >= 62:
+ actor.addAbility("of_leg_strike_7")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('of_leg_strike_1')
-
+ actor.removeAbility("of_leg_strike_1")
+ actor.removeAbility("of_leg_strike_2")
+ actor.removeAbility("of_leg_strike_3")
+ actor.removeAbility("of_leg_strike_4")
+ actor.removeAbility("of_leg_strike_5")
+ actor.removeAbility("of_leg_strike_6")
+ actor.removeAbility("of_leg_strike_7")
return
diff --git a/scripts/expertise/expertise_of_medical_sup_1.py b/scripts/expertise/expertise_of_medical_sup_1.py
index 06c7287d..fe15a79d 100644
--- a/scripts/expertise/expertise_of_medical_sup_1.py
+++ b/scripts/expertise/expertise_of_medical_sup_1.py
@@ -1,48 +1,25 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_medical_sup_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_medical_sup_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('of_medical_sup_1')
-
+ if actor.getLevel() >= 10:
+ actor.addAbility("of_medical_sup_1")
+ if actor.getLevel() >= 34:
+ actor.addAbility("of_medical_sup_2")
+ if actor.getLevel() >= 48:
+ actor.addAbility("of_medical_sup_3")
+ if actor.getLevel() >= 62:
+ actor.addAbility("of_medical_sup_4")
+ if actor.getLevel() >= 76:
+ actor.addAbility("of_medical_sup_5")
+ if actor.getLevel() >= 90:
+ actor.addAbility("of_medical_sup_6")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('of_medical_sup_1')
-
+ actor.removeAbility("of_medical_sup_1")
+ actor.removeAbility("of_medical_sup_2")
+ actor.removeAbility("of_medical_sup_3")
+ actor.removeAbility("of_medical_sup_4")
+ actor.removeAbility("of_medical_sup_5")
+ actor.removeAbility("of_medical_sup_6")
return
diff --git a/scripts/expertise/expertise_of_paint_dam_1.py b/scripts/expertise/expertise_of_paint_dam_1.py
index ba5725e3..9ba31a9b 100644
--- a/scripts/expertise/expertise_of_paint_dam_1.py
+++ b/scripts/expertise/expertise_of_paint_dam_1.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_paint_dam_1')
-
- actor.addSkillMod('expertise_damage_line_of_paint', 10)
- actor.addSkillMod('expertise_action_line_of_paint', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_paint_dam_1')
-
- actor.removeSkillMod('expertise_damage_line_of_paint', 10)
- actor.removeSkillMod('expertise_action_line_of_paint', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_of_paint_dam_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_of_paint_dam_1")
return
diff --git a/scripts/expertise/expertise_of_paint_dam_2.py b/scripts/expertise/expertise_of_paint_dam_2.py
index 12995cae..7733a8d2 100644
--- a/scripts/expertise/expertise_of_paint_dam_2.py
+++ b/scripts/expertise/expertise_of_paint_dam_2.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_paint_dam_2')
-
- actor.addSkillMod('expertise_damage_line_of_paint', 10)
- actor.addSkillMod('expertise_action_line_of_paint', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_paint_dam_2')
-
- actor.removeSkillMod('expertise_damage_line_of_paint', 10)
- actor.removeSkillMod('expertise_action_line_of_paint', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_of_paint_dam_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_of_paint_dam_2")
return
diff --git a/scripts/expertise/expertise_of_paint_debuff_1.py b/scripts/expertise/expertise_of_paint_debuff_1.py
index 5b2ac0cd..f3529a45 100644
--- a/scripts/expertise/expertise_of_paint_debuff_1.py
+++ b/scripts/expertise/expertise_of_paint_debuff_1.py
@@ -1,48 +1,31 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_paint_debuff_1')
-
- actor.addSkillMod('expertise_of_adv_paint_debuff', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_paint_debuff_1')
-
- actor.removeSkillMod('expertise_of_adv_paint_debuff', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ if actor.getLevel() >= 4:
+ actor.addAbility("of_adv_paint_debuff_1")
+ if actor.getLevel() >= 12:
+ actor.addAbility("of_adv_paint_debuff_2")
+ if actor.getLevel() >= 20:
+ actor.addAbility("of_adv_paint_debuff_3")
+ if actor.getLevel() >= 30:
+ actor.addAbility("of_adv_paint_debuff_4")
+ if actor.getLevel() >= 38:
+ actor.addAbility("of_adv_paint_debuff_5")
+ if actor.getLevel() >= 52:
+ actor.addAbility("of_adv_paint_debuff_6")
+ if actor.getLevel() >= 62:
+ actor.addAbility("of_adv_paint_debuff_7")
+ if actor.getLevel() >= 72:
+ actor.addAbility("of_adv_paint_debuff_8")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("of_adv_paint_debuff_1")
+ actor.removeAbility("of_adv_paint_debuff_2")
+ actor.removeAbility("of_adv_paint_debuff_3")
+ actor.removeAbility("of_adv_paint_debuff_4")
+ actor.removeAbility("of_adv_paint_debuff_5")
+ actor.removeAbility("of_adv_paint_debuff_6")
+ actor.removeAbility("of_adv_paint_debuff_7")
+ actor.removeAbility("of_adv_paint_debuff_8")
return
diff --git a/scripts/expertise/expertise_of_paint_expose_1.py b/scripts/expertise/expertise_of_paint_expose_1.py
index 91c6d84b..561882fd 100644
--- a/scripts/expertise/expertise_of_paint_expose_1.py
+++ b/scripts/expertise/expertise_of_paint_expose_1.py
@@ -1,48 +1,31 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_paint_expose_1')
-
- actor.addSkillMod('expertise_of_adv_paint_expose', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_paint_expose_1')
-
- actor.removeSkillMod('expertise_of_adv_paint_expose', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ if actor.getLevel() >= 4:
+ actor.addAbility("of_adv_paint_expose_1")
+ if actor.getLevel() >= 12:
+ actor.addAbility("of_adv_paint_expose_2")
+ if actor.getLevel() >= 20:
+ actor.addAbility("of_adv_paint_expose_3")
+ if actor.getLevel() >= 30:
+ actor.addAbility("of_adv_paint_expose_4")
+ if actor.getLevel() >= 38:
+ actor.addAbility("of_adv_paint_expose_5")
+ if actor.getLevel() >= 52:
+ actor.addAbility("of_adv_paint_expose_6")
+ if actor.getLevel() >= 62:
+ actor.addAbility("of_adv_paint_expose_7")
+ if actor.getLevel() >= 72:
+ actor.addAbility("of_adv_paint_expose_8")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("of_adv_paint_expose_1")
+ actor.removeAbility("of_adv_paint_expose_2")
+ actor.removeAbility("of_adv_paint_expose_3")
+ actor.removeAbility("of_adv_paint_expose_4")
+ actor.removeAbility("of_adv_paint_expose_5")
+ actor.removeAbility("of_adv_paint_expose_6")
+ actor.removeAbility("of_adv_paint_expose_7")
+ actor.removeAbility("of_adv_paint_expose_8")
return
diff --git a/scripts/expertise/expertise_of_pistol_bleed.py b/scripts/expertise/expertise_of_pistol_bleed.py
index 2c9835a0..38f923f5 100644
--- a/scripts/expertise/expertise_of_pistol_bleed.py
+++ b/scripts/expertise/expertise_of_pistol_bleed.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_pistol_bleed')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_pistol_bleed')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('of_pistol_bleed')
-
+ actor.addAbility("of_pistol_bleed")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('of_pistol_bleed')
-
+ actor.removeAbility("of_pistol_bleed")
return
diff --git a/scripts/expertise/expertise_of_pistol_crit_1.py b/scripts/expertise/expertise_of_pistol_crit_1.py
index bc787fd9..7e944647 100644
--- a/scripts/expertise/expertise_of_pistol_crit_1.py
+++ b/scripts/expertise/expertise_of_pistol_crit_1.py
@@ -1,52 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_pistol_crit_1')
-
- actor.addSkillMod('expertise_undiminished_critical_pistol', 5)
- actor.addSkillMod('expertise_undiminished_critical_carbine', 5)
- actor.addSkillMod('expertise_range_bonus_pistol', 4)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_pistol_crit_1')
-
- actor.removeSkillMod('expertise_undiminished_critical_pistol', 5)
- actor.removeSkillMod('expertise_undiminished_critical_carbine', 5)
- actor.removeSkillMod('expertise_range_bonus_pistol', 4)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_of_pistol_crit_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_of_pistol_crit_1")
return
diff --git a/scripts/expertise/expertise_of_pistol_crit_2.py b/scripts/expertise/expertise_of_pistol_crit_2.py
index 8d0101ba..d36a18b3 100644
--- a/scripts/expertise/expertise_of_pistol_crit_2.py
+++ b/scripts/expertise/expertise_of_pistol_crit_2.py
@@ -1,52 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_pistol_crit_2')
-
- actor.addSkillMod('expertise_undiminished_critical_pistol', 5)
- actor.addSkillMod('expertise_undiminished_critical_carbine', 5)
- actor.addSkillMod('expertise_range_bonus_pistol', 4)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_pistol_crit_2')
-
- actor.removeSkillMod('expertise_undiminished_critical_pistol', 5)
- actor.removeSkillMod('expertise_undiminished_critical_carbine', 5)
- actor.removeSkillMod('expertise_range_bonus_pistol', 4)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_of_pistol_crit_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_of_pistol_crit_2")
return
diff --git a/scripts/expertise/expertise_of_pistol_dam_1.py b/scripts/expertise/expertise_of_pistol_dam_1.py
index dc46dd87..877ac063 100644
--- a/scripts/expertise/expertise_of_pistol_dam_1.py
+++ b/scripts/expertise/expertise_of_pistol_dam_1.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_pistol_dam_1')
-
- actor.addSkillMod('expertise_damage_weapon_1', 2)
- actor.addSkillMod('expertise_damage_weapon_2', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_pistol_dam_1')
-
- actor.removeSkillMod('expertise_damage_weapon_1', 2)
- actor.removeSkillMod('expertise_damage_weapon_2', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_of_pistol_dam_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_of_pistol_dam_1")
return
diff --git a/scripts/expertise/expertise_of_pistol_dam_2.py b/scripts/expertise/expertise_of_pistol_dam_2.py
index efd000de..e01f6b55 100644
--- a/scripts/expertise/expertise_of_pistol_dam_2.py
+++ b/scripts/expertise/expertise_of_pistol_dam_2.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_pistol_dam_2')
-
- actor.addSkillMod('expertise_damage_weapon_1', 2)
- actor.addSkillMod('expertise_damage_weapon_2', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_pistol_dam_2')
-
- actor.removeSkillMod('expertise_damage_weapon_1', 2)
- actor.removeSkillMod('expertise_damage_weapon_2', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_of_pistol_dam_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_of_pistol_dam_2")
return
diff --git a/scripts/expertise/expertise_of_pistol_dam_3.py b/scripts/expertise/expertise_of_pistol_dam_3.py
index d433e2e7..8762ecfa 100644
--- a/scripts/expertise/expertise_of_pistol_dam_3.py
+++ b/scripts/expertise/expertise_of_pistol_dam_3.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_pistol_dam_3')
-
- actor.addSkillMod('expertise_damage_weapon_1', 2)
- actor.addSkillMod('expertise_damage_weapon_2', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_pistol_dam_3')
-
- actor.removeSkillMod('expertise_damage_weapon_1', 2)
- actor.removeSkillMod('expertise_damage_weapon_2', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_of_pistol_dam_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_of_pistol_dam_3")
return
diff --git a/scripts/expertise/expertise_of_pistol_dam_4.py b/scripts/expertise/expertise_of_pistol_dam_4.py
index a9dc63c6..478313ef 100644
--- a/scripts/expertise/expertise_of_pistol_dam_4.py
+++ b/scripts/expertise/expertise_of_pistol_dam_4.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_pistol_dam_4')
-
- actor.addSkillMod('expertise_damage_weapon_1', 2)
- actor.addSkillMod('expertise_damage_weapon_2', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_pistol_dam_4')
-
- actor.removeSkillMod('expertise_damage_weapon_1', 2)
- actor.removeSkillMod('expertise_damage_weapon_2', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_of_pistol_dam_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_of_pistol_dam_4")
return
diff --git a/scripts/expertise/expertise_of_precision_1.py b/scripts/expertise/expertise_of_precision_1.py
index 8933a340..fb5f45a2 100644
--- a/scripts/expertise/expertise_of_precision_1.py
+++ b/scripts/expertise/expertise_of_precision_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_precision_1')
-
- actor.addSkillMod('precision_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_precision_1')
-
- actor.removeSkillMod('precision_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_of_precision_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_of_precision_1")
return
diff --git a/scripts/expertise/expertise_of_precision_2.py b/scripts/expertise/expertise_of_precision_2.py
index 0d2f5a03..95ba3853 100644
--- a/scripts/expertise/expertise_of_precision_2.py
+++ b/scripts/expertise/expertise_of_precision_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_precision_2')
-
- actor.addSkillMod('precision_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_precision_2')
-
- actor.removeSkillMod('precision_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_of_precision_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_of_precision_2")
return
diff --git a/scripts/expertise/expertise_of_precision_3.py b/scripts/expertise/expertise_of_precision_3.py
index 78b48b4e..cfb27438 100644
--- a/scripts/expertise/expertise_of_precision_3.py
+++ b/scripts/expertise/expertise_of_precision_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_precision_3')
-
- actor.addSkillMod('precision_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_precision_3')
-
- actor.removeSkillMod('precision_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_of_precision_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_of_precision_3")
return
diff --git a/scripts/expertise/expertise_of_precision_4.py b/scripts/expertise/expertise_of_precision_4.py
index 04824268..9ca52db1 100644
--- a/scripts/expertise/expertise_of_precision_4.py
+++ b/scripts/expertise/expertise_of_precision_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_precision_4')
-
- actor.addSkillMod('precision_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_precision_4')
-
- actor.removeSkillMod('precision_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_of_precision_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_of_precision_4")
return
diff --git a/scripts/expertise/expertise_of_purge_1.py b/scripts/expertise/expertise_of_purge_1.py
index c6c4bdfa..3598d236 100644
--- a/scripts/expertise/expertise_of_purge_1.py
+++ b/scripts/expertise/expertise_of_purge_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_purge_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_purge_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('of_purge_1')
-
+ actor.addAbility("of_purge_1")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('of_purge_1')
-
+ actor.removeAbility("of_purge_1")
return
diff --git a/scripts/expertise/expertise_of_reinforcements_1.py b/scripts/expertise/expertise_of_reinforcements_1.py
index 7c68a80f..06aa5cad 100644
--- a/scripts/expertise/expertise_of_reinforcements_1.py
+++ b/scripts/expertise/expertise_of_reinforcements_1.py
@@ -1,48 +1,22 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_reinforcements_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_reinforcements_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('of_reinforcements_1')
-
+ if actor.getLevel() >= 10:
+ actor.addAbility("of_reinforcements_1")
+ if actor.getLevel() >= 34:
+ actor.addAbility("of_reinforcements_2")
+ if actor.getLevel() >= 48:
+ actor.addAbility("of_reinforcements_3")
+ if actor.getLevel() >= 62:
+ actor.addAbility("of_reinforcements_4")
+ if actor.getLevel() >= 76:
+ actor.addAbility("of_reinforcements_5")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('of_reinforcements_1')
-
+ actor.removeAbility("of_reinforcements_1")
+ actor.removeAbility("of_reinforcements_2")
+ actor.removeAbility("of_reinforcements_3")
+ actor.removeAbility("of_reinforcements_4")
+ actor.removeAbility("of_reinforcements_5")
return
diff --git a/scripts/expertise/expertise_of_scatter_1.py b/scripts/expertise/expertise_of_scatter_1.py
index e9ce9565..85ab0ef8 100644
--- a/scripts/expertise/expertise_of_scatter_1.py
+++ b/scripts/expertise/expertise_of_scatter_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_scatter_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_scatter_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('of_scatter_1')
-
+ actor.addAbility("of_scatter_1")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('of_scatter_1')
-
+ actor.removeAbility("of_scatter_1")
return
diff --git a/scripts/expertise/expertise_of_stamina_1.py b/scripts/expertise/expertise_of_stamina_1.py
index deaa1e13..73155458 100644
--- a/scripts/expertise/expertise_of_stamina_1.py
+++ b/scripts/expertise/expertise_of_stamina_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_stamina_1')
-
- actor.addSkillMod('stamina_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_stamina_1')
-
- actor.removeSkillMod('stamina_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_of_stamina_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_of_stamina_1")
return
diff --git a/scripts/expertise/expertise_of_stamina_2.py b/scripts/expertise/expertise_of_stamina_2.py
index 3dcfda6b..1cc498d9 100644
--- a/scripts/expertise/expertise_of_stamina_2.py
+++ b/scripts/expertise/expertise_of_stamina_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_stamina_2')
-
- actor.addSkillMod('stamina_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_stamina_2')
-
- actor.removeSkillMod('stamina_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_of_stamina_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_of_stamina_2")
return
diff --git a/scripts/expertise/expertise_of_stamina_3.py b/scripts/expertise/expertise_of_stamina_3.py
index fa6810b5..63826671 100644
--- a/scripts/expertise/expertise_of_stamina_3.py
+++ b/scripts/expertise/expertise_of_stamina_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_stamina_3')
-
- actor.addSkillMod('stamina_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_stamina_3')
-
- actor.removeSkillMod('stamina_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_of_stamina_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_of_stamina_3")
return
diff --git a/scripts/expertise/expertise_of_stamina_4.py b/scripts/expertise/expertise_of_stamina_4.py
index 94dbeab3..22e5cea3 100644
--- a/scripts/expertise/expertise_of_stamina_4.py
+++ b/scripts/expertise/expertise_of_stamina_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_stamina_4')
-
- actor.addSkillMod('stamina_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_stamina_4')
-
- actor.removeSkillMod('stamina_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_of_stamina_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_of_stamina_4")
return
diff --git a/scripts/expertise/expertise_of_stimulator_1.py b/scripts/expertise/expertise_of_stimulator_1.py
index 6e66f3b4..10ab1e90 100644
--- a/scripts/expertise/expertise_of_stimulator_1.py
+++ b/scripts/expertise/expertise_of_stimulator_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_stimulator_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_stimulator_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('of_stimulator_1')
-
+ actor.addAbility("of_stimulator_1")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('of_stimulator_1')
-
+ actor.removeAbility("of_stimulator_1")
return
diff --git a/scripts/expertise/expertise_of_strength_1.py b/scripts/expertise/expertise_of_strength_1.py
index b2fa95d0..3decd9c7 100644
--- a/scripts/expertise/expertise_of_strength_1.py
+++ b/scripts/expertise/expertise_of_strength_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_strength_1')
-
- actor.addSkillMod('strength_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_strength_1')
-
- actor.removeSkillMod('strength_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_of_strength_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_of_strength_1")
return
diff --git a/scripts/expertise/expertise_of_strength_2.py b/scripts/expertise/expertise_of_strength_2.py
index 8a05bcc3..676d8d92 100644
--- a/scripts/expertise/expertise_of_strength_2.py
+++ b/scripts/expertise/expertise_of_strength_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_strength_2')
-
- actor.addSkillMod('strength_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_strength_2')
-
- actor.removeSkillMod('strength_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_of_strength_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_of_strength_2")
return
diff --git a/scripts/expertise/expertise_of_strength_3.py b/scripts/expertise/expertise_of_strength_3.py
index 6dbddcf1..d6780308 100644
--- a/scripts/expertise/expertise_of_strength_3.py
+++ b/scripts/expertise/expertise_of_strength_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_strength_3')
-
- actor.addSkillMod('strength_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_strength_3')
-
- actor.removeSkillMod('strength_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_of_strength_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_of_strength_3")
return
diff --git a/scripts/expertise/expertise_of_strength_4.py b/scripts/expertise/expertise_of_strength_4.py
index 067d377a..4a59b20d 100644
--- a/scripts/expertise/expertise_of_strength_4.py
+++ b/scripts/expertise/expertise_of_strength_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_strength_4')
-
- actor.addSkillMod('strength_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_strength_4')
-
- actor.removeSkillMod('strength_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_of_strength_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_of_strength_4")
return
diff --git a/scripts/expertise/expertise_of_sup_cool_1.py b/scripts/expertise/expertise_of_sup_cool_1.py
index aaa7224b..2e982ac3 100644
--- a/scripts/expertise/expertise_of_sup_cool_1.py
+++ b/scripts/expertise/expertise_of_sup_cool_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_sup_cool_1')
-
- actor.addSkillMod('expertise_cooldown_line_of_sup', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_sup_cool_1')
-
- actor.removeSkillMod('expertise_cooldown_line_of_sup', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_of_sup_cool_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_of_sup_cool_1")
return
diff --git a/scripts/expertise/expertise_of_sup_cool_2.py b/scripts/expertise/expertise_of_sup_cool_2.py
index 8beb380c..1d469433 100644
--- a/scripts/expertise/expertise_of_sup_cool_2.py
+++ b/scripts/expertise/expertise_of_sup_cool_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_sup_cool_2')
-
- actor.addSkillMod('expertise_cooldown_line_of_sup', 4)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_sup_cool_2')
-
- actor.removeSkillMod('expertise_cooldown_line_of_sup', 4)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_of_sup_cool_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_of_sup_cool_2")
return
diff --git a/scripts/expertise/expertise_of_sup_cool_3.py b/scripts/expertise/expertise_of_sup_cool_3.py
index 9e6e8c8d..32064d76 100644
--- a/scripts/expertise/expertise_of_sup_cool_3.py
+++ b/scripts/expertise/expertise_of_sup_cool_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_sup_cool_3')
-
- actor.addSkillMod('expertise_cooldown_line_of_sup', 4)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_sup_cool_3')
-
- actor.removeSkillMod('expertise_cooldown_line_of_sup', 4)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_of_sup_cool_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_of_sup_cool_3")
return
diff --git a/scripts/expertise/expertise_of_sup_cool_4.py b/scripts/expertise/expertise_of_sup_cool_4.py
index 083f92ab..3a2418dc 100644
--- a/scripts/expertise/expertise_of_sup_cool_4.py
+++ b/scripts/expertise/expertise_of_sup_cool_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_sup_cool_4')
-
- actor.addSkillMod('expertise_cooldown_line_of_sup', 4)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_sup_cool_4')
-
- actor.removeSkillMod('expertise_cooldown_line_of_sup', 4)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_of_sup_cool_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_of_sup_cool_4")
return
diff --git a/scripts/expertise/expertise_of_sure_act_1.py b/scripts/expertise/expertise_of_sure_act_1.py
index 14e31356..5d4f27cd 100644
--- a/scripts/expertise/expertise_of_sure_act_1.py
+++ b/scripts/expertise/expertise_of_sure_act_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_sure_act_1')
-
- actor.addSkillMod('expertise_action_line_of_sure', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_sure_act_1')
-
- actor.removeSkillMod('expertise_action_line_of_sure', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_of_sure_act_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_of_sure_act_1")
return
diff --git a/scripts/expertise/expertise_of_sure_act_2.py b/scripts/expertise/expertise_of_sure_act_2.py
index 441a8ce7..208d6135 100644
--- a/scripts/expertise/expertise_of_sure_act_2.py
+++ b/scripts/expertise/expertise_of_sure_act_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_sure_act_2')
-
- actor.addSkillMod('expertise_action_line_of_sure', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_sure_act_2')
-
- actor.removeSkillMod('expertise_action_line_of_sure', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_of_sure_act_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_of_sure_act_2")
return
diff --git a/scripts/expertise/expertise_of_sure_act_3.py b/scripts/expertise/expertise_of_sure_act_3.py
index 908d9e13..d66005c7 100644
--- a/scripts/expertise/expertise_of_sure_act_3.py
+++ b/scripts/expertise/expertise_of_sure_act_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_sure_act_3')
-
- actor.addSkillMod('expertise_action_line_of_sure', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_sure_act_3')
-
- actor.removeSkillMod('expertise_action_line_of_sure', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_of_sure_act_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_of_sure_act_3")
return
diff --git a/scripts/expertise/expertise_of_sure_act_4.py b/scripts/expertise/expertise_of_sure_act_4.py
index b876afe3..75485c39 100644
--- a/scripts/expertise/expertise_of_sure_act_4.py
+++ b/scripts/expertise/expertise_of_sure_act_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_sure_act_4')
-
- actor.addSkillMod('expertise_action_line_of_sure', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_sure_act_4')
-
- actor.removeSkillMod('expertise_action_line_of_sure', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_of_sure_act_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_of_sure_act_4")
return
diff --git a/scripts/expertise/expertise_of_sure_dam_1.py b/scripts/expertise/expertise_of_sure_dam_1.py
index 4a18bcb2..8acfba2d 100644
--- a/scripts/expertise/expertise_of_sure_dam_1.py
+++ b/scripts/expertise/expertise_of_sure_dam_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_sure_dam_1')
-
- actor.addSkillMod('expertise_damage_line_of_sure', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_sure_dam_1')
-
- actor.removeSkillMod('expertise_damage_line_of_sure', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_of_sure_dam_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_of_sure_dam_1")
return
diff --git a/scripts/expertise/expertise_of_sure_dam_2.py b/scripts/expertise/expertise_of_sure_dam_2.py
index 9d199519..740150f1 100644
--- a/scripts/expertise/expertise_of_sure_dam_2.py
+++ b/scripts/expertise/expertise_of_sure_dam_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_sure_dam_2')
-
- actor.addSkillMod('expertise_damage_line_of_sure', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_sure_dam_2')
-
- actor.removeSkillMod('expertise_damage_line_of_sure', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_of_sure_dam_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_of_sure_dam_2")
return
diff --git a/scripts/expertise/expertise_of_sure_dam_3.py b/scripts/expertise/expertise_of_sure_dam_3.py
index f39ac985..05c3d330 100644
--- a/scripts/expertise/expertise_of_sure_dam_3.py
+++ b/scripts/expertise/expertise_of_sure_dam_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_sure_dam_3')
-
- actor.addSkillMod('expertise_damage_line_of_sure', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_sure_dam_3')
-
- actor.removeSkillMod('expertise_damage_line_of_sure', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_of_sure_dam_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_of_sure_dam_3")
return
diff --git a/scripts/expertise/expertise_of_tactical_sup_1.py b/scripts/expertise/expertise_of_tactical_sup_1.py
index 451c6fbe..a3434b0e 100644
--- a/scripts/expertise/expertise_of_tactical_sup_1.py
+++ b/scripts/expertise/expertise_of_tactical_sup_1.py
@@ -1,44 +1,25 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_tactical_sup_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_tactical_sup_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
+ if actor.getLevel() >= 10:
+ actor.addAbility("of_tactical_sup_1")
+ if actor.getLevel() >= 34:
+ actor.addAbility("of_tactical_sup_2")
+ if actor.getLevel() >= 48:
+ actor.addAbility("of_tactical_sup_3")
+ if actor.getLevel() >= 62:
+ actor.addAbility("of_tactical_sup_4")
+ if actor.getLevel() >= 76:
+ actor.addAbility("of_tactical_sup_5")
+ if actor.getLevel() >= 90:
+ actor.addAbility("of_tactical_sup_6")
return
def removeAbilities(core, actor, player):
-
+ actor.removeAbility("of_tactical_sup_1")
+ actor.removeAbility("of_tactical_sup_2")
+ actor.removeAbility("of_tactical_sup_3")
+ actor.removeAbility("of_tactical_sup_4")
+ actor.removeAbility("of_tactical_sup_5")
+ actor.removeAbility("of_tactical_sup_6")
return
diff --git a/scripts/expertise/expertise_of_vortex_1.py b/scripts/expertise/expertise_of_vortex_1.py
index e2a24f55..a4f6f04c 100644
--- a/scripts/expertise/expertise_of_vortex_1.py
+++ b/scripts/expertise/expertise_of_vortex_1.py
@@ -1,48 +1,22 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.addSkill('expertise_of_vortex_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'officer_1a':
- return
-
- actor.removeSkill('expertise_of_vortex_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('of_vortex_1')
-
+ if actor.getLevel() >= 26:
+ actor.addAbility("of_vortex_1")
+ if actor.getLevel() >= 34:
+ actor.addAbility("of_vortex_2")
+ if actor.getLevel() >= 48:
+ actor.addAbility("of_vortex_3")
+ if actor.getLevel() >= 62:
+ actor.addAbility("of_vortex_4")
+ if actor.getLevel() >= 76:
+ actor.addAbility("of_vortex_5")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('of_vortex_1')
-
+ actor.removeAbility("of_vortex_1")
+ actor.removeAbility("of_vortex_2")
+ actor.removeAbility("of_vortex_3")
+ actor.removeAbility("of_vortex_4")
+ actor.removeAbility("of_vortex_5")
return
diff --git a/scripts/expertise/expertise_sm_general_bad_odds_1.py b/scripts/expertise/expertise_sm_general_bad_odds_1.py
index e2c44993..fa70a2fc 100644
--- a/scripts/expertise/expertise_sm_general_bad_odds_1.py
+++ b/scripts/expertise/expertise_sm_general_bad_odds_1.py
@@ -1,48 +1,22 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_general_bad_odds_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_general_bad_odds_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('sm_bad_odds_1')
-
+ if actor.getLevel() >= 26:
+ actor.addAbility("sm_bad_odds_1")
+ if actor.getLevel() >= 34:
+ actor.addAbility("sm_bad_odds_2")
+ if actor.getLevel() >= 48:
+ actor.addAbility("sm_bad_odds_3")
+ if actor.getLevel() >= 62:
+ actor.addAbility("sm_bad_odds_4")
+ if actor.getLevel() >= 76:
+ actor.addAbility("sm_bad_odds_5")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('sm_bad_odds_1')
-
+ actor.removeAbility("sm_bad_odds_1")
+ actor.removeAbility("sm_bad_odds_2")
+ actor.removeAbility("sm_bad_odds_3")
+ actor.removeAbility("sm_bad_odds_4")
+ actor.removeAbility("sm_bad_odds_5")
return
diff --git a/scripts/expertise/expertise_sm_general_break_the_deal_1.py b/scripts/expertise/expertise_sm_general_break_the_deal_1.py
index f12dfb8f..757e75f9 100644
--- a/scripts/expertise/expertise_sm_general_break_the_deal_1.py
+++ b/scripts/expertise/expertise_sm_general_break_the_deal_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_general_break_the_deal_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_general_break_the_deal_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('sm_break_the_deal')
-
+ actor.addAbility("sm_break_the_deal")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('sm_break_the_deal')
-
+ actor.removeAbility("sm_break_the_deal")
return
diff --git a/scripts/expertise/expertise_sm_general_double_deal_1.py b/scripts/expertise/expertise_sm_general_double_deal_1.py
index 237b1cbd..8dbe17db 100644
--- a/scripts/expertise/expertise_sm_general_double_deal_1.py
+++ b/scripts/expertise/expertise_sm_general_double_deal_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_general_double_deal_1')
-
- actor.addSkillMod('expertise_double_deal_chance', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_general_double_deal_1')
-
- actor.removeSkillMod('expertise_double_deal_chance', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_general_double_deal_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_general_double_deal_1")
return
diff --git a/scripts/expertise/expertise_sm_general_double_deal_2.py b/scripts/expertise/expertise_sm_general_double_deal_2.py
index f5b3e464..5215636e 100644
--- a/scripts/expertise/expertise_sm_general_double_deal_2.py
+++ b/scripts/expertise/expertise_sm_general_double_deal_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_general_double_deal_2')
-
- actor.addSkillMod('expertise_double_deal_chance', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_general_double_deal_2')
-
- actor.removeSkillMod('expertise_double_deal_chance', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_general_double_deal_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_general_double_deal_2")
return
diff --git a/scripts/expertise/expertise_sm_general_elbow_grease_1.py b/scripts/expertise/expertise_sm_general_elbow_grease_1.py
index 92f55ca2..b0ff55ad 100644
--- a/scripts/expertise/expertise_sm_general_elbow_grease_1.py
+++ b/scripts/expertise/expertise_sm_general_elbow_grease_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_general_elbow_grease_1')
-
- actor.addSkillMod('expertise_action_weapon_melee', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_general_elbow_grease_1')
-
- actor.removeSkillMod('expertise_action_weapon_melee', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_general_elbow_grease_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_general_elbow_grease_1")
return
diff --git a/scripts/expertise/expertise_sm_general_end_of_the_line_1.py b/scripts/expertise/expertise_sm_general_end_of_the_line_1.py
index 3afc6b0b..05ec2f19 100644
--- a/scripts/expertise/expertise_sm_general_end_of_the_line_1.py
+++ b/scripts/expertise/expertise_sm_general_end_of_the_line_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_general_end_of_the_line_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_general_end_of_the_line_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('sm_end_of_the_line')
-
+ actor.addAbility("sm_end_of_the_line")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('sm_end_of_the_line')
-
+ actor.removeAbility("sm_end_of_the_line")
return
diff --git a/scripts/expertise/expertise_sm_general_enhanced_luck_1.py b/scripts/expertise/expertise_sm_general_enhanced_luck_1.py
index 3446d7af..347e28e3 100644
--- a/scripts/expertise/expertise_sm_general_enhanced_luck_1.py
+++ b/scripts/expertise/expertise_sm_general_enhanced_luck_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_general_enhanced_luck_1')
-
- actor.addSkillMod('strength_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_general_enhanced_luck_1')
-
- actor.removeSkillMod('strength_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_general_enhanced_luck_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_general_enhanced_luck_1")
return
diff --git a/scripts/expertise/expertise_sm_general_enhanced_luck_2.py b/scripts/expertise/expertise_sm_general_enhanced_luck_2.py
index f0402408..2f9d1747 100644
--- a/scripts/expertise/expertise_sm_general_enhanced_luck_2.py
+++ b/scripts/expertise/expertise_sm_general_enhanced_luck_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_general_enhanced_luck_2')
-
- actor.addSkillMod('strength_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_general_enhanced_luck_2')
-
- actor.removeSkillMod('strength_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_general_enhanced_luck_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_general_enhanced_luck_2")
return
diff --git a/scripts/expertise/expertise_sm_general_enhanced_luck_3.py b/scripts/expertise/expertise_sm_general_enhanced_luck_3.py
index dc8fb800..ad637ef1 100644
--- a/scripts/expertise/expertise_sm_general_enhanced_luck_3.py
+++ b/scripts/expertise/expertise_sm_general_enhanced_luck_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_general_enhanced_luck_3')
-
- actor.addSkillMod('strength_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_general_enhanced_luck_3')
-
- actor.removeSkillMod('strength_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_general_enhanced_luck_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_general_enhanced_luck_3")
return
diff --git a/scripts/expertise/expertise_sm_general_enhanced_luck_4.py b/scripts/expertise/expertise_sm_general_enhanced_luck_4.py
index 6c844743..acbe531d 100644
--- a/scripts/expertise/expertise_sm_general_enhanced_luck_4.py
+++ b/scripts/expertise/expertise_sm_general_enhanced_luck_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_general_enhanced_luck_4')
-
- actor.addSkillMod('strength_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_general_enhanced_luck_4')
-
- actor.removeSkillMod('strength_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_general_enhanced_luck_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_general_enhanced_luck_4")
return
diff --git a/scripts/expertise/expertise_sm_general_enhanced_precision_1.py b/scripts/expertise/expertise_sm_general_enhanced_precision_1.py
index 9a865689..959579d6 100644
--- a/scripts/expertise/expertise_sm_general_enhanced_precision_1.py
+++ b/scripts/expertise/expertise_sm_general_enhanced_precision_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_general_enhanced_precision_1')
-
- actor.addSkillMod('agility_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_general_enhanced_precision_1')
-
- actor.removeSkillMod('agility_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_general_enhanced_precision_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_general_enhanced_precision_1")
return
diff --git a/scripts/expertise/expertise_sm_general_enhanced_precision_2.py b/scripts/expertise/expertise_sm_general_enhanced_precision_2.py
index dda076b0..a50e08ba 100644
--- a/scripts/expertise/expertise_sm_general_enhanced_precision_2.py
+++ b/scripts/expertise/expertise_sm_general_enhanced_precision_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_general_enhanced_precision_2')
-
- actor.addSkillMod('agility_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_general_enhanced_precision_2')
-
- actor.removeSkillMod('agility_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_general_enhanced_precision_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_general_enhanced_precision_2")
return
diff --git a/scripts/expertise/expertise_sm_general_enhanced_precision_3.py b/scripts/expertise/expertise_sm_general_enhanced_precision_3.py
index 3d93777f..58c40a83 100644
--- a/scripts/expertise/expertise_sm_general_enhanced_precision_3.py
+++ b/scripts/expertise/expertise_sm_general_enhanced_precision_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_general_enhanced_precision_3')
-
- actor.addSkillMod('agility_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_general_enhanced_precision_3')
-
- actor.removeSkillMod('agility_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_general_enhanced_precision_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_general_enhanced_precision_3")
return
diff --git a/scripts/expertise/expertise_sm_general_enhanced_precision_4.py b/scripts/expertise/expertise_sm_general_enhanced_precision_4.py
index 3aa85853..938574a4 100644
--- a/scripts/expertise/expertise_sm_general_enhanced_precision_4.py
+++ b/scripts/expertise/expertise_sm_general_enhanced_precision_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_general_enhanced_precision_4')
-
- actor.addSkillMod('agility_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_general_enhanced_precision_4')
-
- actor.removeSkillMod('agility_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_general_enhanced_precision_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_general_enhanced_precision_4")
return
diff --git a/scripts/expertise/expertise_sm_general_gun_oil_1.py b/scripts/expertise/expertise_sm_general_gun_oil_1.py
index f71e62d5..618b2f14 100644
--- a/scripts/expertise/expertise_sm_general_gun_oil_1.py
+++ b/scripts/expertise/expertise_sm_general_gun_oil_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_general_gun_oil_1')
-
- actor.addSkillMod('expertise_action_weapon_2', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_general_gun_oil_1')
-
- actor.removeSkillMod('expertise_action_weapon_2', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_general_gun_oil_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_general_gun_oil_1")
return
diff --git a/scripts/expertise/expertise_sm_general_hair_trigger_1.py b/scripts/expertise/expertise_sm_general_hair_trigger_1.py
index 0bc61fb4..981958f2 100644
--- a/scripts/expertise/expertise_sm_general_hair_trigger_1.py
+++ b/scripts/expertise/expertise_sm_general_hair_trigger_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_general_hair_trigger_1')
-
- actor.addSkillMod('expertise_action_line_sm_dm', 4)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_general_hair_trigger_1')
-
- actor.removeSkillMod('expertise_action_line_sm_dm', 4)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_general_hair_trigger_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_general_hair_trigger_1")
return
diff --git a/scripts/expertise/expertise_sm_general_hair_trigger_2.py b/scripts/expertise/expertise_sm_general_hair_trigger_2.py
index 9dc7f200..0e8537b5 100644
--- a/scripts/expertise/expertise_sm_general_hair_trigger_2.py
+++ b/scripts/expertise/expertise_sm_general_hair_trigger_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_general_hair_trigger_2')
-
- actor.addSkillMod('expertise_action_line_sm_dm', 4)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_general_hair_trigger_2')
-
- actor.removeSkillMod('expertise_action_line_sm_dm', 4)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_general_hair_trigger_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_general_hair_trigger_2")
return
diff --git a/scripts/expertise/expertise_sm_general_hair_trigger_3.py b/scripts/expertise/expertise_sm_general_hair_trigger_3.py
index 0d81af85..9e3f61fc 100644
--- a/scripts/expertise/expertise_sm_general_hair_trigger_3.py
+++ b/scripts/expertise/expertise_sm_general_hair_trigger_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_general_hair_trigger_3')
-
- actor.addSkillMod('expertise_action_line_sm_dm', 4)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_general_hair_trigger_3')
-
- actor.removeSkillMod('expertise_action_line_sm_dm', 4)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_general_hair_trigger_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_general_hair_trigger_3")
return
diff --git a/scripts/expertise/expertise_sm_general_hair_trigger_4.py b/scripts/expertise/expertise_sm_general_hair_trigger_4.py
index 5309084c..78108d29 100644
--- a/scripts/expertise/expertise_sm_general_hair_trigger_4.py
+++ b/scripts/expertise/expertise_sm_general_hair_trigger_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_general_hair_trigger_4')
-
- actor.addSkillMod('expertise_action_line_sm_dm', 4)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_general_hair_trigger_4')
-
- actor.removeSkillMod('expertise_action_line_sm_dm', 4)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_general_hair_trigger_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_general_hair_trigger_4")
return
diff --git a/scripts/expertise/expertise_sm_general_hammer_fanning_1.py b/scripts/expertise/expertise_sm_general_hammer_fanning_1.py
index 8108302d..d0a970f5 100644
--- a/scripts/expertise/expertise_sm_general_hammer_fanning_1.py
+++ b/scripts/expertise/expertise_sm_general_hammer_fanning_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_general_hammer_fanning_1')
-
- actor.addSkillMod('expertise_sm_ranged_shot_proc', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_general_hammer_fanning_1')
-
- actor.removeSkillMod('expertise_sm_ranged_shot_proc', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_general_hammer_fanning_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_general_hammer_fanning_1")
return
diff --git a/scripts/expertise/expertise_sm_general_hammer_fanning_2.py b/scripts/expertise/expertise_sm_general_hammer_fanning_2.py
index d15065e5..9d157ddb 100644
--- a/scripts/expertise/expertise_sm_general_hammer_fanning_2.py
+++ b/scripts/expertise/expertise_sm_general_hammer_fanning_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_general_hammer_fanning_2')
-
- actor.addSkillMod('expertise_sm_ranged_shot_proc', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_general_hammer_fanning_2')
-
- actor.removeSkillMod('expertise_sm_ranged_shot_proc', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_general_hammer_fanning_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_general_hammer_fanning_2")
return
diff --git a/scripts/expertise/expertise_sm_general_hammer_fanning_3.py b/scripts/expertise/expertise_sm_general_hammer_fanning_3.py
index f37b9495..24b7a3fb 100644
--- a/scripts/expertise/expertise_sm_general_hammer_fanning_3.py
+++ b/scripts/expertise/expertise_sm_general_hammer_fanning_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_general_hammer_fanning_3')
-
- actor.addSkillMod('expertise_sm_ranged_shot_proc', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_general_hammer_fanning_3')
-
- actor.removeSkillMod('expertise_sm_ranged_shot_proc', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_general_hammer_fanning_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_general_hammer_fanning_3")
return
diff --git a/scripts/expertise/expertise_sm_general_hammer_fanning_4.py b/scripts/expertise/expertise_sm_general_hammer_fanning_4.py
index de5f58b2..5db77165 100644
--- a/scripts/expertise/expertise_sm_general_hammer_fanning_4.py
+++ b/scripts/expertise/expertise_sm_general_hammer_fanning_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_general_hammer_fanning_4')
-
- actor.addSkillMod('expertise_sm_ranged_shot_proc', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_general_hammer_fanning_4')
-
- actor.removeSkillMod('expertise_sm_ranged_shot_proc', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_general_hammer_fanning_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_general_hammer_fanning_4")
return
diff --git a/scripts/expertise/expertise_sm_general_head_crack_1.py b/scripts/expertise/expertise_sm_general_head_crack_1.py
index 41521dc6..7f20d29f 100644
--- a/scripts/expertise/expertise_sm_general_head_crack_1.py
+++ b/scripts/expertise/expertise_sm_general_head_crack_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_general_head_crack_1')
-
- actor.addSkillMod('expertise_sm_melee_stun_proc', 6)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_general_head_crack_1')
-
- actor.removeSkillMod('expertise_sm_melee_stun_proc', 6)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_general_head_crack_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_general_head_crack_1")
return
diff --git a/scripts/expertise/expertise_sm_general_head_crack_2.py b/scripts/expertise/expertise_sm_general_head_crack_2.py
index 44d451ed..abe7628c 100644
--- a/scripts/expertise/expertise_sm_general_head_crack_2.py
+++ b/scripts/expertise/expertise_sm_general_head_crack_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_general_head_crack_2')
-
- actor.addSkillMod('expertise_sm_melee_stun_proc', 6)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_general_head_crack_2')
-
- actor.removeSkillMod('expertise_sm_melee_stun_proc', 6)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_general_head_crack_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_general_head_crack_2")
return
diff --git a/scripts/expertise/expertise_sm_general_hidden_padding_1.py b/scripts/expertise/expertise_sm_general_hidden_padding_1.py
index e0294af3..07cceb20 100644
--- a/scripts/expertise/expertise_sm_general_hidden_padding_1.py
+++ b/scripts/expertise/expertise_sm_general_hidden_padding_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_general_hidden_padding_1')
-
- actor.addSkillMod('expertise_overridable_protection_generic', 1475)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_general_hidden_padding_1')
-
- actor.removeSkillMod('expertise_overridable_protection_generic', 1475)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_general_hidden_padding_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_general_hidden_padding_1")
return
diff --git a/scripts/expertise/expertise_sm_general_hidden_padding_2.py b/scripts/expertise/expertise_sm_general_hidden_padding_2.py
index e3662b44..3c2cc318 100644
--- a/scripts/expertise/expertise_sm_general_hidden_padding_2.py
+++ b/scripts/expertise/expertise_sm_general_hidden_padding_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_general_hidden_padding_2')
-
- actor.addSkillMod('expertise_overridable_protection_generic', 1475)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_general_hidden_padding_2')
-
- actor.removeSkillMod('expertise_overridable_protection_generic', 1475)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_general_hidden_padding_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_general_hidden_padding_2")
return
diff --git a/scripts/expertise/expertise_sm_general_idiot_proof_plan_1.py b/scripts/expertise/expertise_sm_general_idiot_proof_plan_1.py
index d9c15db8..05db4ebf 100644
--- a/scripts/expertise/expertise_sm_general_idiot_proof_plan_1.py
+++ b/scripts/expertise/expertise_sm_general_idiot_proof_plan_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_general_idiot_proof_plan_1')
-
- actor.addSkillMod('damage_decrease_percentage', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_general_idiot_proof_plan_1')
-
- actor.removeSkillMod('damage_decrease_percentage', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_general_idiot_proof_plan_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_general_idiot_proof_plan_1")
return
diff --git a/scripts/expertise/expertise_sm_general_idiot_proof_plan_2.py b/scripts/expertise/expertise_sm_general_idiot_proof_plan_2.py
index 6cd3dace..3baa2e23 100644
--- a/scripts/expertise/expertise_sm_general_idiot_proof_plan_2.py
+++ b/scripts/expertise/expertise_sm_general_idiot_proof_plan_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_general_idiot_proof_plan_2')
-
- actor.addSkillMod('damage_decrease_percentage', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_general_idiot_proof_plan_2')
-
- actor.removeSkillMod('damage_decrease_percentage', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_general_idiot_proof_plan_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_general_idiot_proof_plan_2")
return
diff --git a/scripts/expertise/expertise_sm_general_lined_pockets_1.py b/scripts/expertise/expertise_sm_general_lined_pockets_1.py
index 5d53be45..e22e98ad 100644
--- a/scripts/expertise/expertise_sm_general_lined_pockets_1.py
+++ b/scripts/expertise/expertise_sm_general_lined_pockets_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_general_lined_pockets_1')
-
- actor.addSkillMod('expertise_overridable_protection_generic', 1475)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_general_lined_pockets_1')
-
- actor.removeSkillMod('expertise_overridable_protection_generic', 1475)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_general_lined_pockets_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_general_lined_pockets_1")
return
diff --git a/scripts/expertise/expertise_sm_general_lined_pockets_2.py b/scripts/expertise/expertise_sm_general_lined_pockets_2.py
index 03209a76..08bf5f8d 100644
--- a/scripts/expertise/expertise_sm_general_lined_pockets_2.py
+++ b/scripts/expertise/expertise_sm_general_lined_pockets_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_general_lined_pockets_2')
-
- actor.addSkillMod('expertise_overridable_protection_generic', 1475)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_general_lined_pockets_2')
-
- actor.removeSkillMod('expertise_overridable_protection_generic', 1475)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_general_lined_pockets_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_general_lined_pockets_2")
return
diff --git a/scripts/expertise/expertise_sm_general_meager_fortune_1.py b/scripts/expertise/expertise_sm_general_meager_fortune_1.py
index 557528ad..40018dbd 100644
--- a/scripts/expertise/expertise_sm_general_meager_fortune_1.py
+++ b/scripts/expertise/expertise_sm_general_meager_fortune_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_general_meager_fortune_1')
-
- actor.addSkillMod('expertise_spot_a_sucker_critical_decrease', 50)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_general_meager_fortune_1')
-
- actor.removeSkillMod('expertise_spot_a_sucker_critical_decrease', 50)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_general_meager_fortune_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_general_meager_fortune_1")
return
diff --git a/scripts/expertise/expertise_sm_general_narrow_escape_1.py b/scripts/expertise/expertise_sm_general_narrow_escape_1.py
index 3993e41e..4f1029a9 100644
--- a/scripts/expertise/expertise_sm_general_narrow_escape_1.py
+++ b/scripts/expertise/expertise_sm_general_narrow_escape_1.py
@@ -1,48 +1,19 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_general_narrow_escape_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_general_narrow_escape_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('sm_narrow_escape_1')
-
+ if actor.getLevel() >= 34:
+ actor.addAbility("sm_narrow_escape_1")
+ if actor.getLevel() >= 50:
+ actor.addAbility("sm_narrow_escape_2")
+ if actor.getLevel() >= 66:
+ actor.addAbility("sm_narrow_escape_3")
+ if actor.getLevel() >= 82:
+ actor.addAbility("sm_narrow_escape_4")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('sm_narrow_escape_1')
-
+ actor.removeAbility("sm_narrow_escape_1")
+ actor.removeAbility("sm_narrow_escape_2")
+ actor.removeAbility("sm_narrow_escape_3")
+ actor.removeAbility("sm_narrow_escape_4")
return
diff --git a/scripts/expertise/expertise_sm_general_nerf_herder_1.py b/scripts/expertise/expertise_sm_general_nerf_herder_1.py
index 127d4f16..bf1ed358 100644
--- a/scripts/expertise/expertise_sm_general_nerf_herder_1.py
+++ b/scripts/expertise/expertise_sm_general_nerf_herder_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_general_nerf_herder_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_general_nerf_herder_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('sm_nerf_herder')
-
+ actor.addAbility("sm_general_nerf_herder")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('sm_nerf_herder')
-
+ actor.removeAbility("sm_general_nerf_herder")
return
diff --git a/scripts/expertise/expertise_sm_general_off_the_cuff_1.py b/scripts/expertise/expertise_sm_general_off_the_cuff_1.py
index fec22b4e..9b7fd56a 100644
--- a/scripts/expertise/expertise_sm_general_off_the_cuff_1.py
+++ b/scripts/expertise/expertise_sm_general_off_the_cuff_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_general_off_the_cuff_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_general_off_the_cuff_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('sm_off_the_cuff')
-
+ actor.addAbility("sm_off_the_cuff")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('sm_off_the_cuff')
-
+ actor.removeAbility("sm_off_the_cuff")
return
diff --git a/scripts/expertise/expertise_sm_general_one_two_pummel_1.py b/scripts/expertise/expertise_sm_general_one_two_pummel_1.py
index b9eb89bd..0fbb25e1 100644
--- a/scripts/expertise/expertise_sm_general_one_two_pummel_1.py
+++ b/scripts/expertise/expertise_sm_general_one_two_pummel_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_general_one_two_pummel_1')
-
- actor.addSkillMod('expertise_sm_melee_proc', 4)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_general_one_two_pummel_1')
-
- actor.removeSkillMod('expertise_sm_melee_proc', 4)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_general_one_two_pummel_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_general_one_two_pummel_1")
return
diff --git a/scripts/expertise/expertise_sm_general_one_two_pummel_2.py b/scripts/expertise/expertise_sm_general_one_two_pummel_2.py
index dbd447d9..f33d6cca 100644
--- a/scripts/expertise/expertise_sm_general_one_two_pummel_2.py
+++ b/scripts/expertise/expertise_sm_general_one_two_pummel_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_general_one_two_pummel_2')
-
- actor.addSkillMod('expertise_sm_melee_proc', 4)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_general_one_two_pummel_2')
-
- actor.removeSkillMod('expertise_sm_melee_proc', 4)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_general_one_two_pummel_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_general_one_two_pummel_2")
return
diff --git a/scripts/expertise/expertise_sm_general_one_two_pummel_3.py b/scripts/expertise/expertise_sm_general_one_two_pummel_3.py
index 98060a5d..31f91153 100644
--- a/scripts/expertise/expertise_sm_general_one_two_pummel_3.py
+++ b/scripts/expertise/expertise_sm_general_one_two_pummel_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_general_one_two_pummel_3')
-
- actor.addSkillMod('expertise_sm_melee_proc', 4)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_general_one_two_pummel_3')
-
- actor.removeSkillMod('expertise_sm_melee_proc', 4)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_general_one_two_pummel_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_general_one_two_pummel_3")
return
diff --git a/scripts/expertise/expertise_sm_general_one_two_pummel_4.py b/scripts/expertise/expertise_sm_general_one_two_pummel_4.py
index 6b7e15b7..7832734e 100644
--- a/scripts/expertise/expertise_sm_general_one_two_pummel_4.py
+++ b/scripts/expertise/expertise_sm_general_one_two_pummel_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_general_one_two_pummel_4')
-
- actor.addSkillMod('expertise_sm_melee_proc', 4)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_general_one_two_pummel_4')
-
- actor.removeSkillMod('expertise_sm_melee_proc', 4)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_general_one_two_pummel_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_general_one_two_pummel_4")
return
diff --git a/scripts/expertise/expertise_sm_general_poor_prospect_1.py b/scripts/expertise/expertise_sm_general_poor_prospect_1.py
index d1d9d03c..6cbf1c51 100644
--- a/scripts/expertise/expertise_sm_general_poor_prospect_1.py
+++ b/scripts/expertise/expertise_sm_general_poor_prospect_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_general_poor_prospect_1')
-
- actor.addSkillMod('expertise_spot_a_sucker_damage_decrease_chance', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_general_poor_prospect_1')
-
- actor.removeSkillMod('expertise_spot_a_sucker_damage_decrease_chance', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_general_poor_prospect_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_general_poor_prospect_1")
return
diff --git a/scripts/expertise/expertise_sm_general_poor_prospect_2.py b/scripts/expertise/expertise_sm_general_poor_prospect_2.py
index ba6e97ae..18d810f7 100644
--- a/scripts/expertise/expertise_sm_general_poor_prospect_2.py
+++ b/scripts/expertise/expertise_sm_general_poor_prospect_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_general_poor_prospect_2')
-
- actor.addSkillMod('expertise_spot_a_sucker_damage_decrease_chance', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_general_poor_prospect_2')
-
- actor.removeSkillMod('expertise_spot_a_sucker_damage_decrease_chance', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_general_poor_prospect_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_general_poor_prospect_2")
return
diff --git a/scripts/expertise/expertise_sm_general_precise_bead_1.py b/scripts/expertise/expertise_sm_general_precise_bead_1.py
index e2d219f6..427e2f61 100644
--- a/scripts/expertise/expertise_sm_general_precise_bead_1.py
+++ b/scripts/expertise/expertise_sm_general_precise_bead_1.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_general_precise_bead_1')
-
- actor.addSkillMod('expertise_undiminished_critical_pistol', 5)
- actor.addSkillMod('expertise_range_bonus_pistol', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_general_precise_bead_1')
-
- actor.removeSkillMod('expertise_undiminished_critical_pistol', 5)
- actor.removeSkillMod('expertise_range_bonus_pistol', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_general_precise_bead_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_general_precise_bead_1")
return
diff --git a/scripts/expertise/expertise_sm_general_precise_bead_2.py b/scripts/expertise/expertise_sm_general_precise_bead_2.py
index b3ae274d..941d326d 100644
--- a/scripts/expertise/expertise_sm_general_precise_bead_2.py
+++ b/scripts/expertise/expertise_sm_general_precise_bead_2.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_general_precise_bead_2')
-
- actor.addSkillMod('expertise_undiminished_critical_pistol', 5)
- actor.addSkillMod('expertise_range_bonus_pistol', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_general_precise_bead_2')
-
- actor.removeSkillMod('expertise_undiminished_critical_pistol', 5)
- actor.removeSkillMod('expertise_range_bonus_pistol', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_general_precise_bead_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_general_precise_bead_2")
return
diff --git a/scripts/expertise/expertise_sm_general_spot_a_sucker_1.py b/scripts/expertise/expertise_sm_general_spot_a_sucker_1.py
index 18b3ce1c..d043338d 100644
--- a/scripts/expertise/expertise_sm_general_spot_a_sucker_1.py
+++ b/scripts/expertise/expertise_sm_general_spot_a_sucker_1.py
@@ -1,48 +1,19 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_general_spot_a_sucker_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_general_spot_a_sucker_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('sm_spot_a_sucker_1')
-
+ if actor.getLevel() >= 34:
+ actor.addAbility("sm_spot_a_sucker_1")
+ if actor.getLevel() >= 50:
+ actor.addAbility("sm_spot_a_sucker_2")
+ if actor.getLevel() >= 66:
+ actor.addAbility("sm_spot_a_sucker_3")
+ if actor.getLevel() >= 82:
+ actor.addAbility("sm_spot_a_sucker_4")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('sm_spot_a_sucker_1')
-
+ actor.removeAbility("sm_spot_a_sucker_1")
+ actor.removeAbility("sm_spot_a_sucker_2")
+ actor.removeAbility("sm_spot_a_sucker_3")
+ actor.removeAbility("sm_spot_a_sucker_4")
return
diff --git a/scripts/expertise/expertise_sm_general_switcheroo_1.py b/scripts/expertise/expertise_sm_general_switcheroo_1.py
index bec0a317..50d08045 100644
--- a/scripts/expertise/expertise_sm_general_switcheroo_1.py
+++ b/scripts/expertise/expertise_sm_general_switcheroo_1.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_general_switcheroo_1')
-
- actor.addSkillMod('expertise_critical_hit_reduction', 1)
- actor.addSkillMod('expertise_glancing_blow_all', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_general_switcheroo_1')
-
- actor.removeSkillMod('expertise_critical_hit_reduction', 1)
- actor.removeSkillMod('expertise_glancing_blow_all', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_general_switcheroo_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_general_switcheroo_1")
return
diff --git a/scripts/expertise/expertise_sm_general_switcheroo_2.py b/scripts/expertise/expertise_sm_general_switcheroo_2.py
index eb79a782..e66bad5a 100644
--- a/scripts/expertise/expertise_sm_general_switcheroo_2.py
+++ b/scripts/expertise/expertise_sm_general_switcheroo_2.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_general_switcheroo_2')
-
- actor.addSkillMod('expertise_critical_hit_reduction', 1)
- actor.addSkillMod('expertise_glancing_blow_all', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_general_switcheroo_2')
-
- actor.removeSkillMod('expertise_critical_hit_reduction', 1)
- actor.removeSkillMod('expertise_glancing_blow_all', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_general_switcheroo_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_general_switcheroo_2")
return
diff --git a/scripts/expertise/expertise_sm_general_switcheroo_3.py b/scripts/expertise/expertise_sm_general_switcheroo_3.py
index 9732dbf7..e7e1dcf9 100644
--- a/scripts/expertise/expertise_sm_general_switcheroo_3.py
+++ b/scripts/expertise/expertise_sm_general_switcheroo_3.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_general_switcheroo_3')
-
- actor.addSkillMod('expertise_critical_hit_reduction', 1)
- actor.addSkillMod('expertise_glancing_blow_all', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_general_switcheroo_3')
-
- actor.removeSkillMod('expertise_critical_hit_reduction', 1)
- actor.removeSkillMod('expertise_glancing_blow_all', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_general_switcheroo_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_general_switcheroo_3")
return
diff --git a/scripts/expertise/expertise_sm_general_switcheroo_4.py b/scripts/expertise/expertise_sm_general_switcheroo_4.py
index b5d082a5..c52c8ddf 100644
--- a/scripts/expertise/expertise_sm_general_switcheroo_4.py
+++ b/scripts/expertise/expertise_sm_general_switcheroo_4.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_general_switcheroo_4')
-
- actor.addSkillMod('expertise_critical_hit_reduction', 1)
- actor.addSkillMod('expertise_glancing_blow_all', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_general_switcheroo_4')
-
- actor.removeSkillMod('expertise_critical_hit_reduction', 1)
- actor.removeSkillMod('expertise_glancing_blow_all', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_general_switcheroo_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_general_switcheroo_4")
return
diff --git a/scripts/expertise/expertise_sm_general_wretched_fate_1.py b/scripts/expertise/expertise_sm_general_wretched_fate_1.py
index 25287ad7..e1c1ba8d 100644
--- a/scripts/expertise/expertise_sm_general_wretched_fate_1.py
+++ b/scripts/expertise/expertise_sm_general_wretched_fate_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_general_wretched_fate_1')
-
- actor.addSkillMod('expertise_spot_a_sucker_glance_chance', 50)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_general_wretched_fate_1')
-
- actor.removeSkillMod('expertise_spot_a_sucker_glance_chance', 50)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_general_wretched_fate_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_general_wretched_fate_1")
return
diff --git a/scripts/expertise/expertise_sm_path_beat_down_1.py b/scripts/expertise/expertise_sm_path_beat_down_1.py
index af1829d9..ac0f35cb 100644
--- a/scripts/expertise/expertise_sm_path_beat_down_1.py
+++ b/scripts/expertise/expertise_sm_path_beat_down_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_path_beat_down_1')
-
- actor.addSkillMod('expertise_buff_duration_line_sm_pistol_whip', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_path_beat_down_1')
-
- actor.removeSkillMod('expertise_buff_duration_line_sm_pistol_whip', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_path_beat_down_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_path_beat_down_1")
return
diff --git a/scripts/expertise/expertise_sm_path_beat_down_2.py b/scripts/expertise/expertise_sm_path_beat_down_2.py
index 692ea516..49463363 100644
--- a/scripts/expertise/expertise_sm_path_beat_down_2.py
+++ b/scripts/expertise/expertise_sm_path_beat_down_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_path_beat_down_2')
-
- actor.addSkillMod('expertise_buff_duration_line_sm_pistol_whip', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_path_beat_down_2')
-
- actor.removeSkillMod('expertise_buff_duration_line_sm_pistol_whip', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_path_beat_down_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_path_beat_down_2")
return
diff --git a/scripts/expertise/expertise_sm_path_best_deal_ever_1.py b/scripts/expertise/expertise_sm_path_best_deal_ever_1.py
index 2abbe97f..5ff94eb3 100644
--- a/scripts/expertise/expertise_sm_path_best_deal_ever_1.py
+++ b/scripts/expertise/expertise_sm_path_best_deal_ever_1.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_path_best_deal_ever_1')
-
- actor.addSkillMod('expertise_buff_best_deal_ever', 3)
- actor.addSkillMod('expertise_junk_dealer_cut', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_path_best_deal_ever_1')
-
- actor.removeSkillMod('expertise_buff_best_deal_ever', 3)
- actor.removeSkillMod('expertise_junk_dealer_cut', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_path_best_deal_ever_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_path_best_deal_ever_1")
return
diff --git a/scripts/expertise/expertise_sm_path_best_deal_ever_2.py b/scripts/expertise/expertise_sm_path_best_deal_ever_2.py
index 8d50a957..60cf82ff 100644
--- a/scripts/expertise/expertise_sm_path_best_deal_ever_2.py
+++ b/scripts/expertise/expertise_sm_path_best_deal_ever_2.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_path_best_deal_ever_2')
-
- actor.addSkillMod('expertise_buff_best_deal_ever', 3)
- actor.addSkillMod('expertise_junk_dealer_cut', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_path_best_deal_ever_2')
-
- actor.removeSkillMod('expertise_buff_best_deal_ever', 3)
- actor.removeSkillMod('expertise_junk_dealer_cut', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_path_best_deal_ever_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_path_best_deal_ever_2")
return
diff --git a/scripts/expertise/expertise_sm_path_blaster_at_your_side_1.py b/scripts/expertise/expertise_sm_path_blaster_at_your_side_1.py
index fcbf88bf..93b9fb75 100644
--- a/scripts/expertise/expertise_sm_path_blaster_at_your_side_1.py
+++ b/scripts/expertise/expertise_sm_path_blaster_at_your_side_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_path_blaster_at_your_side_1')
-
- actor.addSkillMod('level_add_to_damage', 100)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_path_blaster_at_your_side_1')
-
- actor.removeSkillMod('level_add_to_damage', 100)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_path_blaster_at_your_side_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_path_blaster_at_your_side_1")
return
diff --git a/scripts/expertise/expertise_sm_path_blaster_at_your_side_2.py b/scripts/expertise/expertise_sm_path_blaster_at_your_side_2.py
index d1297d00..71b64cd7 100644
--- a/scripts/expertise/expertise_sm_path_blaster_at_your_side_2.py
+++ b/scripts/expertise/expertise_sm_path_blaster_at_your_side_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_path_blaster_at_your_side_2')
-
- actor.addSkillMod('level_add_to_damage', 100)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_path_blaster_at_your_side_2')
-
- actor.removeSkillMod('level_add_to_damage', 100)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_path_blaster_at_your_side_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_path_blaster_at_your_side_2")
return
diff --git a/scripts/expertise/expertise_sm_path_blindside_1.py b/scripts/expertise/expertise_sm_path_blindside_1.py
index 082ed6a7..8914b449 100644
--- a/scripts/expertise/expertise_sm_path_blindside_1.py
+++ b/scripts/expertise/expertise_sm_path_blindside_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_path_blindside_1')
-
- actor.addSkillMod('expertise_buff_duration_line_sm_skullduggery', 13)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_path_blindside_1')
-
- actor.removeSkillMod('expertise_buff_duration_line_sm_skullduggery', 13)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_path_blindside_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_path_blindside_1")
return
diff --git a/scripts/expertise/expertise_sm_path_blindside_2.py b/scripts/expertise/expertise_sm_path_blindside_2.py
index 3af5ea33..85ff65e6 100644
--- a/scripts/expertise/expertise_sm_path_blindside_2.py
+++ b/scripts/expertise/expertise_sm_path_blindside_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_path_blindside_2')
-
- actor.addSkillMod('expertise_buff_duration_line_sm_skullduggery', 13)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_path_blindside_2')
-
- actor.removeSkillMod('expertise_buff_duration_line_sm_skullduggery', 13)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_path_blindside_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_path_blindside_2")
return
diff --git a/scripts/expertise/expertise_sm_path_card_up_your_sleeve_1.py b/scripts/expertise/expertise_sm_path_card_up_your_sleeve_1.py
index 14d4ae68..c8664074 100644
--- a/scripts/expertise/expertise_sm_path_card_up_your_sleeve_1.py
+++ b/scripts/expertise/expertise_sm_path_card_up_your_sleeve_1.py
@@ -1,52 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_path_card_up_your_sleeve_1')
-
- actor.addSkillMod('expertise_double_hit_chance', 10)
- actor.addSkillMod('expertise_sm_card_ranged_proc', 25)
- actor.addSkillMod('expertise_sm_card_melee_proc', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_path_card_up_your_sleeve_1')
-
- actor.removeSkillMod('expertise_double_hit_chance', 10)
- actor.removeSkillMod('expertise_sm_card_ranged_proc', 25)
- actor.removeSkillMod('expertise_sm_card_melee_proc', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_path_card_up_your_sleeve_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_path_card_up_your_sleeve_1")
return
diff --git a/scripts/expertise/expertise_sm_path_card_up_your_sleeve_2.py b/scripts/expertise/expertise_sm_path_card_up_your_sleeve_2.py
index 56aaad3a..350c78a6 100644
--- a/scripts/expertise/expertise_sm_path_card_up_your_sleeve_2.py
+++ b/scripts/expertise/expertise_sm_path_card_up_your_sleeve_2.py
@@ -1,52 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_path_card_up_your_sleeve_2')
-
- actor.addSkillMod('expertise_double_hit_chance', 10)
- actor.addSkillMod('expertise_sm_card_ranged_proc', 25)
- actor.addSkillMod('expertise_sm_card_melee_proc', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_path_card_up_your_sleeve_2')
-
- actor.removeSkillMod('expertise_double_hit_chance', 10)
- actor.removeSkillMod('expertise_sm_card_ranged_proc', 25)
- actor.removeSkillMod('expertise_sm_card_melee_proc', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_path_card_up_your_sleeve_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_path_card_up_your_sleeve_2")
return
diff --git a/scripts/expertise/expertise_sm_path_card_up_your_sleeve_3.py b/scripts/expertise/expertise_sm_path_card_up_your_sleeve_3.py
index e86ff955..36a56da8 100644
--- a/scripts/expertise/expertise_sm_path_card_up_your_sleeve_3.py
+++ b/scripts/expertise/expertise_sm_path_card_up_your_sleeve_3.py
@@ -1,52 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_path_card_up_your_sleeve_3')
-
- actor.addSkillMod('expertise_double_hit_chance', 10)
- actor.addSkillMod('expertise_sm_card_ranged_proc', 25)
- actor.addSkillMod('expertise_sm_card_melee_proc', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_path_card_up_your_sleeve_3')
-
- actor.removeSkillMod('expertise_double_hit_chance', 10)
- actor.removeSkillMod('expertise_sm_card_ranged_proc', 25)
- actor.removeSkillMod('expertise_sm_card_melee_proc', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_path_card_up_your_sleeve_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_path_card_up_your_sleeve_3")
return
diff --git a/scripts/expertise/expertise_sm_path_card_up_your_sleeve_4.py b/scripts/expertise/expertise_sm_path_card_up_your_sleeve_4.py
index e687b8de..2c273743 100644
--- a/scripts/expertise/expertise_sm_path_card_up_your_sleeve_4.py
+++ b/scripts/expertise/expertise_sm_path_card_up_your_sleeve_4.py
@@ -1,52 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_path_card_up_your_sleeve_4')
-
- actor.addSkillMod('expertise_double_hit_chance', 10)
- actor.addSkillMod('expertise_sm_card_ranged_proc', 25)
- actor.addSkillMod('expertise_sm_card_melee_proc', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_path_card_up_your_sleeve_4')
-
- actor.removeSkillMod('expertise_double_hit_chance', 10)
- actor.removeSkillMod('expertise_sm_card_ranged_proc', 25)
- actor.removeSkillMod('expertise_sm_card_melee_proc', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_path_card_up_your_sleeve_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_path_card_up_your_sleeve_4")
return
diff --git a/scripts/expertise/expertise_sm_path_easy_money_1.py b/scripts/expertise/expertise_sm_path_easy_money_1.py
index 9d8550f0..9891035b 100644
--- a/scripts/expertise/expertise_sm_path_easy_money_1.py
+++ b/scripts/expertise/expertise_sm_path_easy_money_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_path_easy_money_1')
-
- actor.addSkillMod('luck_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_path_easy_money_1')
-
- actor.removeSkillMod('luck_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_path_easy_money_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_path_easy_money_1")
return
diff --git a/scripts/expertise/expertise_sm_path_easy_money_2.py b/scripts/expertise/expertise_sm_path_easy_money_2.py
index 70412fba..a02f24f8 100644
--- a/scripts/expertise/expertise_sm_path_easy_money_2.py
+++ b/scripts/expertise/expertise_sm_path_easy_money_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_path_easy_money_2')
-
- actor.addSkillMod('luck_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_path_easy_money_2')
-
- actor.removeSkillMod('luck_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_path_easy_money_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_path_easy_money_2")
return
diff --git a/scripts/expertise/expertise_sm_path_easy_money_3.py b/scripts/expertise/expertise_sm_path_easy_money_3.py
index 3a44209a..18684c32 100644
--- a/scripts/expertise/expertise_sm_path_easy_money_3.py
+++ b/scripts/expertise/expertise_sm_path_easy_money_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_path_easy_money_3')
-
- actor.addSkillMod('luck_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_path_easy_money_3')
-
- actor.removeSkillMod('luck_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_path_easy_money_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_path_easy_money_3")
return
diff --git a/scripts/expertise/expertise_sm_path_easy_money_4.py b/scripts/expertise/expertise_sm_path_easy_money_4.py
index aaf2d0ef..3241291b 100644
--- a/scripts/expertise/expertise_sm_path_easy_money_4.py
+++ b/scripts/expertise/expertise_sm_path_easy_money_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_path_easy_money_4')
-
- actor.addSkillMod('luck_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_path_easy_money_4')
-
- actor.removeSkillMod('luck_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_path_easy_money_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_path_easy_money_4")
return
diff --git a/scripts/expertise/expertise_sm_path_eat_dirt_1.py b/scripts/expertise/expertise_sm_path_eat_dirt_1.py
index 7f3776b3..54211af3 100644
--- a/scripts/expertise/expertise_sm_path_eat_dirt_1.py
+++ b/scripts/expertise/expertise_sm_path_eat_dirt_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_path_eat_dirt_1')
-
- actor.addSkillMod('expertise_miss_by_luck', 6)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_path_eat_dirt_1')
-
- actor.removeSkillMod('expertise_miss_by_luck', 6)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_path_eat_dirt_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_path_eat_dirt_1")
return
diff --git a/scripts/expertise/expertise_sm_path_eat_dirt_2.py b/scripts/expertise/expertise_sm_path_eat_dirt_2.py
index 897d340c..da074616 100644
--- a/scripts/expertise/expertise_sm_path_eat_dirt_2.py
+++ b/scripts/expertise/expertise_sm_path_eat_dirt_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_path_eat_dirt_2')
-
- actor.addSkillMod('expertise_miss_by_luck', 6)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_path_eat_dirt_2')
-
- actor.removeSkillMod('expertise_miss_by_luck', 6)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_path_eat_dirt_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_path_eat_dirt_2")
return
diff --git a/scripts/expertise/expertise_sm_path_fake_goods_1.py b/scripts/expertise/expertise_sm_path_fake_goods_1.py
index 5b414151..bd727012 100644
--- a/scripts/expertise/expertise_sm_path_fake_goods_1.py
+++ b/scripts/expertise/expertise_sm_path_fake_goods_1.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_path_fake_goods_1')
-
- actor.addSkillMod('expertise_buff_duration_line_sm_false_hope', 1)
- actor.addSkillMod('expertise_delay_reduce_line_sm_false_hope', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_path_fake_goods_1')
-
- actor.removeSkillMod('expertise_buff_duration_line_sm_false_hope', 1)
- actor.removeSkillMod('expertise_delay_reduce_line_sm_false_hope', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_path_fake_goods_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_path_fake_goods_1")
return
diff --git a/scripts/expertise/expertise_sm_path_fake_goods_2.py b/scripts/expertise/expertise_sm_path_fake_goods_2.py
index 75d5968e..3419faae 100644
--- a/scripts/expertise/expertise_sm_path_fake_goods_2.py
+++ b/scripts/expertise/expertise_sm_path_fake_goods_2.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_path_fake_goods_2')
-
- actor.addSkillMod('expertise_buff_duration_line_sm_false_hope', 1)
- actor.addSkillMod('expertise_delay_reduce_line_sm_false_hope', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_path_fake_goods_2')
-
- actor.removeSkillMod('expertise_buff_duration_line_sm_false_hope', 1)
- actor.removeSkillMod('expertise_delay_reduce_line_sm_false_hope', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_path_fake_goods_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_path_fake_goods_2")
return
diff --git a/scripts/expertise/expertise_sm_path_false_hope_1.py b/scripts/expertise/expertise_sm_path_false_hope_1.py
index 92c2b34d..b1a72de3 100644
--- a/scripts/expertise/expertise_sm_path_false_hope_1.py
+++ b/scripts/expertise/expertise_sm_path_false_hope_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_path_false_hope_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_path_false_hope_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('sm_false_hope')
-
+ actor.addAbility("sm_false_hope")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('sm_false_hope')
-
+ actor.removeAbility("sm_false_hope")
return
diff --git a/scripts/expertise/expertise_sm_path_feeling_lucky_1.py b/scripts/expertise/expertise_sm_path_feeling_lucky_1.py
index 93fd0635..1f38b885 100644
--- a/scripts/expertise/expertise_sm_path_feeling_lucky_1.py
+++ b/scripts/expertise/expertise_sm_path_feeling_lucky_1.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_path_feeling_lucky_1')
-
- actor.addSkillMod('expertise_increase_smuggler_loot', 1)
- actor.addSkillMod('expertise_sm_feeling_lucky_chance_proc', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_path_feeling_lucky_1')
-
- actor.removeSkillMod('expertise_increase_smuggler_loot', 1)
- actor.removeSkillMod('expertise_sm_feeling_lucky_chance_proc', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_feeling_lucky_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_feeling_lucky_1")
return
diff --git a/scripts/expertise/expertise_sm_path_feeling_lucky_2.py b/scripts/expertise/expertise_sm_path_feeling_lucky_2.py
index ea2f7d6b..6c5af161 100644
--- a/scripts/expertise/expertise_sm_path_feeling_lucky_2.py
+++ b/scripts/expertise/expertise_sm_path_feeling_lucky_2.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_path_feeling_lucky_2')
-
- actor.addSkillMod('expertise_increase_smuggler_loot', 1)
- actor.addSkillMod('expertise_sm_feeling_lucky_chance_proc', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_path_feeling_lucky_2')
-
- actor.removeSkillMod('expertise_increase_smuggler_loot', 1)
- actor.removeSkillMod('expertise_sm_feeling_lucky_chance_proc', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_feeling_lucky_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_feeling_lucky_2")
return
diff --git a/scripts/expertise/expertise_sm_path_feeling_lucky_3.py b/scripts/expertise/expertise_sm_path_feeling_lucky_3.py
index a18e89b4..7965558c 100644
--- a/scripts/expertise/expertise_sm_path_feeling_lucky_3.py
+++ b/scripts/expertise/expertise_sm_path_feeling_lucky_3.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_path_feeling_lucky_3')
-
- actor.addSkillMod('expertise_increase_smuggler_loot', 1)
- actor.addSkillMod('expertise_sm_feeling_lucky_chance_proc', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_path_feeling_lucky_3')
-
- actor.removeSkillMod('expertise_increase_smuggler_loot', 1)
- actor.removeSkillMod('expertise_sm_feeling_lucky_chance_proc', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_feeling_lucky_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_feeling_lucky_3")
return
diff --git a/scripts/expertise/expertise_sm_path_feeling_lucky_4.py b/scripts/expertise/expertise_sm_path_feeling_lucky_4.py
index 4a924398..b9299149 100644
--- a/scripts/expertise/expertise_sm_path_feeling_lucky_4.py
+++ b/scripts/expertise/expertise_sm_path_feeling_lucky_4.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_path_feeling_lucky_4')
-
- actor.addSkillMod('expertise_increase_smuggler_loot', 1)
- actor.addSkillMod('expertise_sm_feeling_lucky_chance_proc', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_path_feeling_lucky_4')
-
- actor.removeSkillMod('expertise_increase_smuggler_loot', 1)
- actor.removeSkillMod('expertise_sm_feeling_lucky_chance_proc', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_feeling_lucky_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_feeling_lucky_4")
return
diff --git a/scripts/expertise/expertise_sm_path_flying_tackle_1.py b/scripts/expertise/expertise_sm_path_flying_tackle_1.py
index cb696d20..5fbcd2eb 100644
--- a/scripts/expertise/expertise_sm_path_flying_tackle_1.py
+++ b/scripts/expertise/expertise_sm_path_flying_tackle_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_path_flying_tackle_1')
-
- actor.addSkillMod('expertise_stun_line_sm_pistol_whip', 50)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_path_flying_tackle_1')
-
- actor.removeSkillMod('expertise_stun_line_sm_pistol_whip', 50)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_path_flying_tackle_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_path_flying_tackle_1")
return
diff --git a/scripts/expertise/expertise_sm_path_flying_tackle_2.py b/scripts/expertise/expertise_sm_path_flying_tackle_2.py
index fdf47b07..249e61b5 100644
--- a/scripts/expertise/expertise_sm_path_flying_tackle_2.py
+++ b/scripts/expertise/expertise_sm_path_flying_tackle_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_path_flying_tackle_2')
-
- actor.addSkillMod('expertise_stun_line_sm_pistol_whip', 50)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_path_flying_tackle_2')
-
- actor.removeSkillMod('expertise_stun_line_sm_pistol_whip', 50)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_path_flying_tackle_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_path_flying_tackle_2")
return
diff --git a/scripts/expertise/expertise_sm_path_healthy_profits_1.py b/scripts/expertise/expertise_sm_path_healthy_profits_1.py
index 431019aa..8145066b 100644
--- a/scripts/expertise/expertise_sm_path_healthy_profits_1.py
+++ b/scripts/expertise/expertise_sm_path_healthy_profits_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_path_healthy_profits_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_path_healthy_profits_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('sm_summon_medic')
-
+ actor.addAbility("sm_summon_medic")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('sm_summon_medic')
-
+ actor.removeAbility("sm_summon_medic")
return
diff --git a/scripts/expertise/expertise_sm_path_impossible_odds_1.py b/scripts/expertise/expertise_sm_path_impossible_odds_1.py
index 63e78de4..3191ef8f 100644
--- a/scripts/expertise/expertise_sm_path_impossible_odds_1.py
+++ b/scripts/expertise/expertise_sm_path_impossible_odds_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_path_impossible_odds_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_path_impossible_odds_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('sm_impossible_odds')
-
+ actor.addAbility("sm_impossible_odds")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('sm_impossible_odds')
-
+ actor.removeAbility("sm_impossible_odds")
return
diff --git a/scripts/expertise/expertise_sm_path_inside_information_1.py b/scripts/expertise/expertise_sm_path_inside_information_1.py
index 3bdba930..508ee947 100644
--- a/scripts/expertise/expertise_sm_path_inside_information_1.py
+++ b/scripts/expertise/expertise_sm_path_inside_information_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_path_inside_information_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_path_inside_information_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('sm_inside_information')
-
+ actor.addAbility("sm_inside_information")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('sm_inside_information')
-
+ actor.removeAbility("sm_inside_information")
return
diff --git a/scripts/expertise/expertise_sm_path_loaded_chance_dice_1.py b/scripts/expertise/expertise_sm_path_loaded_chance_dice_1.py
index ccc1e6ba..a73977ba 100644
--- a/scripts/expertise/expertise_sm_path_loaded_chance_dice_1.py
+++ b/scripts/expertise/expertise_sm_path_loaded_chance_dice_1.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_path_loaded_chance_dice_1')
-
- actor.addSkillMod('expertise_increase_hit_by_luck', 5)
- actor.addSkillMod('expertise_buff_duration_line_sm_impossible_odds', 13)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_path_loaded_chance_dice_1')
-
- actor.removeSkillMod('expertise_increase_hit_by_luck', 5)
- actor.removeSkillMod('expertise_buff_duration_line_sm_impossible_odds', 13)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_path_loaded_chance_dice_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_path_loaded_chance_dice_1")
return
diff --git a/scripts/expertise/expertise_sm_path_loaded_chance_dice_2.py b/scripts/expertise/expertise_sm_path_loaded_chance_dice_2.py
index 1af5ac14..ec00a3d4 100644
--- a/scripts/expertise/expertise_sm_path_loaded_chance_dice_2.py
+++ b/scripts/expertise/expertise_sm_path_loaded_chance_dice_2.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_path_loaded_chance_dice_2')
-
- actor.addSkillMod('expertise_increase_hit_by_luck', 5)
- actor.addSkillMod('expertise_buff_duration_line_sm_impossible_odds', 13)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_path_loaded_chance_dice_2')
-
- actor.removeSkillMod('expertise_increase_hit_by_luck', 5)
- actor.removeSkillMod('expertise_buff_duration_line_sm_impossible_odds', 13)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_path_loaded_chance_dice_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_path_loaded_chance_dice_2")
return
diff --git a/scripts/expertise/expertise_sm_path_lucky_break_1.py b/scripts/expertise/expertise_sm_path_lucky_break_1.py
index df59283b..2beff304 100644
--- a/scripts/expertise/expertise_sm_path_lucky_break_1.py
+++ b/scripts/expertise/expertise_sm_path_lucky_break_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_path_lucky_break_1')
-
- actor.addSkillMod('expertise_lucky_break_chance', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_path_lucky_break_1')
-
- actor.removeSkillMod('expertise_lucky_break_chance', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_path_lucky_break_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_path_lucky_break_1")
return
diff --git a/scripts/expertise/expertise_sm_path_lucky_break_2.py b/scripts/expertise/expertise_sm_path_lucky_break_2.py
index fabd837e..5a40d6c0 100644
--- a/scripts/expertise/expertise_sm_path_lucky_break_2.py
+++ b/scripts/expertise/expertise_sm_path_lucky_break_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_path_lucky_break_2')
-
- actor.addSkillMod('expertise_lucky_break_chance', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_path_lucky_break_2')
-
- actor.removeSkillMod('expertise_lucky_break_chance', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_path_lucky_break_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_path_lucky_break_2")
return
diff --git a/scripts/expertise/expertise_sm_path_lucky_break_3.py b/scripts/expertise/expertise_sm_path_lucky_break_3.py
index 572d050f..b1507e0b 100644
--- a/scripts/expertise/expertise_sm_path_lucky_break_3.py
+++ b/scripts/expertise/expertise_sm_path_lucky_break_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_path_lucky_break_3')
-
- actor.addSkillMod('expertise_lucky_break_chance', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_path_lucky_break_3')
-
- actor.removeSkillMod('expertise_lucky_break_chance', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_path_lucky_break_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_path_lucky_break_3")
return
diff --git a/scripts/expertise/expertise_sm_path_lucky_break_4.py b/scripts/expertise/expertise_sm_path_lucky_break_4.py
index 8a29ac79..b30641cc 100644
--- a/scripts/expertise/expertise_sm_path_lucky_break_4.py
+++ b/scripts/expertise/expertise_sm_path_lucky_break_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_path_lucky_break_4')
-
- actor.addSkillMod('expertise_lucky_break_chance', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_path_lucky_break_4')
-
- actor.removeSkillMod('expertise_lucky_break_chance', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_path_lucky_break_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_path_lucky_break_4")
return
diff --git a/scripts/expertise/expertise_sm_path_off_the_books_1.py b/scripts/expertise/expertise_sm_path_off_the_books_1.py
index eeac5c97..c42eeff2 100644
--- a/scripts/expertise/expertise_sm_path_off_the_books_1.py
+++ b/scripts/expertise/expertise_sm_path_off_the_books_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_path_off_the_books_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_path_off_the_books_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('sm_off_the_books')
-
+ actor.addAbility("sm_off_the_books")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('sm_off_the_books')
-
+ actor.removeAbility("sm_off_the_books")
return
diff --git a/scripts/expertise/expertise_sm_path_pistol_whip_1.py b/scripts/expertise/expertise_sm_path_pistol_whip_1.py
index e1dd1a3f..e38045db 100644
--- a/scripts/expertise/expertise_sm_path_pistol_whip_1.py
+++ b/scripts/expertise/expertise_sm_path_pistol_whip_1.py
@@ -1,48 +1,19 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_path_pistol_whip_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_path_pistol_whip_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('sm_pistol_whip_1')
-
+ if actor.getLevel() >= 34:
+ actor.addAbility("sm_pistol_whip_1")
+ if actor.getLevel() >= 50:
+ actor.addAbility("sm_pistol_whip_2")
+ if actor.getLevel() >= 66:
+ actor.addAbility("sm_pistol_whip_3")
+ if actor.getLevel() >= 82:
+ actor.addAbility("sm_pistol_whip_4")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('sm_pistol_whip_1')
-
+ actor.removeAbility("sm_pistol_whip_1")
+ actor.removeAbility("sm_pistol_whip_2")
+ actor.removeAbility("sm_pistol_whip_3")
+ actor.removeAbility("sm_pistol_whip_4")
return
diff --git a/scripts/expertise/expertise_sm_path_ploy_1.py b/scripts/expertise/expertise_sm_path_ploy_1.py
index 972f5cf6..956c9d43 100644
--- a/scripts/expertise/expertise_sm_path_ploy_1.py
+++ b/scripts/expertise/expertise_sm_path_ploy_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_path_ploy_1')
-
- actor.addSkillMod('precision_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_path_ploy_1')
-
- actor.removeSkillMod('precision_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_path_ploy_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_path_ploy_1")
return
diff --git a/scripts/expertise/expertise_sm_path_ploy_2.py b/scripts/expertise/expertise_sm_path_ploy_2.py
index a49453d7..fe707dc0 100644
--- a/scripts/expertise/expertise_sm_path_ploy_2.py
+++ b/scripts/expertise/expertise_sm_path_ploy_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_path_ploy_2')
-
- actor.addSkillMod('precision_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_path_ploy_2')
-
- actor.removeSkillMod('precision_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_path_ploy_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_path_ploy_2")
return
diff --git a/scripts/expertise/expertise_sm_path_ploy_3.py b/scripts/expertise/expertise_sm_path_ploy_3.py
index 84904cdf..cecca14e 100644
--- a/scripts/expertise/expertise_sm_path_ploy_3.py
+++ b/scripts/expertise/expertise_sm_path_ploy_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_path_ploy_3')
-
- actor.addSkillMod('precision_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_path_ploy_3')
-
- actor.removeSkillMod('precision_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_path_ploy_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_path_ploy_3")
return
diff --git a/scripts/expertise/expertise_sm_path_ploy_4.py b/scripts/expertise/expertise_sm_path_ploy_4.py
index 4ca79a1f..de968f40 100644
--- a/scripts/expertise/expertise_sm_path_ploy_4.py
+++ b/scripts/expertise/expertise_sm_path_ploy_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_path_ploy_4')
-
- actor.addSkillMod('precision_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_path_ploy_4')
-
- actor.removeSkillMod('precision_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_path_ploy_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_path_ploy_4")
return
diff --git a/scripts/expertise/expertise_sm_path_quick_fix_1.py b/scripts/expertise/expertise_sm_path_quick_fix_1.py
index 522a120c..68fa7682 100644
--- a/scripts/expertise/expertise_sm_path_quick_fix_1.py
+++ b/scripts/expertise/expertise_sm_path_quick_fix_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_path_quick_fix_1')
-
- actor.addSkillMod('expertise_healing_line_sm_heal', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_path_quick_fix_1')
-
- actor.removeSkillMod('expertise_healing_line_sm_heal', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_path_quick_fix_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_path_quick_fix_1")
return
diff --git a/scripts/expertise/expertise_sm_path_quick_fix_2.py b/scripts/expertise/expertise_sm_path_quick_fix_2.py
index 2f4cdc81..7426e059 100644
--- a/scripts/expertise/expertise_sm_path_quick_fix_2.py
+++ b/scripts/expertise/expertise_sm_path_quick_fix_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_path_quick_fix_2')
-
- actor.addSkillMod('expertise_healing_line_sm_heal', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_path_quick_fix_2')
-
- actor.removeSkillMod('expertise_healing_line_sm_heal', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_path_quick_fix_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_path_quick_fix_2")
return
diff --git a/scripts/expertise/expertise_sm_path_quick_fix_3.py b/scripts/expertise/expertise_sm_path_quick_fix_3.py
index 42f74088..c469d4ed 100644
--- a/scripts/expertise/expertise_sm_path_quick_fix_3.py
+++ b/scripts/expertise/expertise_sm_path_quick_fix_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_path_quick_fix_3')
-
- actor.addSkillMod('expertise_healing_line_sm_heal', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_path_quick_fix_3')
-
- actor.removeSkillMod('expertise_healing_line_sm_heal', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_path_quick_fix_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_path_quick_fix_3")
return
diff --git a/scripts/expertise/expertise_sm_path_quick_fix_4.py b/scripts/expertise/expertise_sm_path_quick_fix_4.py
index c041fb6e..cebeae68 100644
--- a/scripts/expertise/expertise_sm_path_quick_fix_4.py
+++ b/scripts/expertise/expertise_sm_path_quick_fix_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_path_quick_fix_4')
-
- actor.addSkillMod('expertise_healing_line_sm_heal', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_path_quick_fix_4')
-
- actor.removeSkillMod('expertise_healing_line_sm_heal', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_path_quick_fix_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_path_quick_fix_4")
return
diff --git a/scripts/expertise/expertise_sm_path_scandal_1.py b/scripts/expertise/expertise_sm_path_scandal_1.py
index d3201976..e4f9b9b0 100644
--- a/scripts/expertise/expertise_sm_path_scandal_1.py
+++ b/scripts/expertise/expertise_sm_path_scandal_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_path_scandal_1')
-
- actor.addSkillMod('expertise_damage_area_effect', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_path_scandal_1')
-
- actor.removeSkillMod('expertise_damage_area_effect', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_path_scandal_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_path_scandal_1")
return
diff --git a/scripts/expertise/expertise_sm_path_scandal_2.py b/scripts/expertise/expertise_sm_path_scandal_2.py
index 5a14559b..39dc1d2b 100644
--- a/scripts/expertise/expertise_sm_path_scandal_2.py
+++ b/scripts/expertise/expertise_sm_path_scandal_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_path_scandal_2')
-
- actor.addSkillMod('expertise_damage_area_effect', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_path_scandal_2')
-
- actor.removeSkillMod('expertise_damage_area_effect', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_path_scandal_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_path_scandal_2)
return
diff --git a/scripts/expertise/expertise_sm_path_scandal_3.py b/scripts/expertise/expertise_sm_path_scandal_3.py
index 0d7ae351..4094a791 100644
--- a/scripts/expertise/expertise_sm_path_scandal_3.py
+++ b/scripts/expertise/expertise_sm_path_scandal_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_path_scandal_3')
-
- actor.addSkillMod('expertise_damage_area_effect', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_path_scandal_3')
-
- actor.removeSkillMod('expertise_damage_area_effect', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_path_scandal_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_path_scandal_3")
return
diff --git a/scripts/expertise/expertise_sm_path_scandal_4.py b/scripts/expertise/expertise_sm_path_scandal_4.py
index 96b3235c..6352b2e1 100644
--- a/scripts/expertise/expertise_sm_path_scandal_4.py
+++ b/scripts/expertise/expertise_sm_path_scandal_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_path_scandal_4')
-
- actor.addSkillMod('expertise_damage_area_effect', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_path_scandal_4')
-
- actor.removeSkillMod('expertise_damage_area_effect', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_path_scandal_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_path_scandal_4")
return
diff --git a/scripts/expertise/expertise_sm_path_shoot_first_1.py b/scripts/expertise/expertise_sm_path_shoot_first_1.py
index af429bb5..3cfcce30 100644
--- a/scripts/expertise/expertise_sm_path_shoot_first_1.py
+++ b/scripts/expertise/expertise_sm_path_shoot_first_1.py
@@ -1,48 +1,22 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_path_shoot_first_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_path_shoot_first_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('sm_shoot_first_1')
-
+ if actor.getLevel() >= 26:
+ actor.addAbility("sm_shoot_first_1")
+ if actor.getLevel() >= 34:
+ actor.addAbility("sm_shoot_first_2")
+ if actor.getLevel() >= 48:
+ actor.addAbility("sm_shoot_first_3")
+ if actor.getLevel() >= 62:
+ actor.addAbility("sm_shoot_first_4")
+ if actor.getLevel() >= 76:
+ actor.addAbility("sm_shoot_first_5")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('sm_shoot_first_1')
-
+ actor.removeAbility("sm_shoot_first_1")
+ actor.removeAbility("sm_shoot_first_2")
+ actor.removeAbility("sm_shoot_first_3")
+ actor.removeAbility("sm_shoot_first_4")
+ actor.removeAbility("sm_shoot_first_5")
return
diff --git a/scripts/expertise/expertise_sm_path_skullduggery_1.py b/scripts/expertise/expertise_sm_path_skullduggery_1.py
index 3da59a99..7c662b84 100644
--- a/scripts/expertise/expertise_sm_path_skullduggery_1.py
+++ b/scripts/expertise/expertise_sm_path_skullduggery_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_path_skullduggery_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_path_skullduggery_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('sm_skullduggery')
-
+ actor.addAbility("sm_path_skullduggery")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('sm_skullduggery')
-
+ actor.removeAbility("sm_path_skullduggery")
return
diff --git a/scripts/expertise/expertise_sm_path_sleight_of_hand_1.py b/scripts/expertise/expertise_sm_path_sleight_of_hand_1.py
index 555dc04d..98907737 100644
--- a/scripts/expertise/expertise_sm_path_sleight_of_hand_1.py
+++ b/scripts/expertise/expertise_sm_path_sleight_of_hand_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_path_sleight_of_hand_1')
-
- actor.addSkillMod('expertise_hit_by_luck', 8)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_path_sleight_of_hand_1')
-
- actor.removeSkillMod('expertise_hit_by_luck', 8)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_path_sleight_of_hand_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_path_sleight_of_hand_1")
return
diff --git a/scripts/expertise/expertise_sm_path_sleight_of_hand_2.py b/scripts/expertise/expertise_sm_path_sleight_of_hand_2.py
index 50a5b317..88bdf88d 100644
--- a/scripts/expertise/expertise_sm_path_sleight_of_hand_2.py
+++ b/scripts/expertise/expertise_sm_path_sleight_of_hand_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_path_sleight_of_hand_2')
-
- actor.addSkillMod('expertise_hit_by_luck', 8)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_path_sleight_of_hand_2')
-
- actor.removeSkillMod('expertise_hit_by_luck', 8)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_path_sleight_of_hand_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_path_sleight_of_hand_2")
return
diff --git a/scripts/expertise/expertise_sm_path_smooth_move_1.py b/scripts/expertise/expertise_sm_path_smooth_move_1.py
index c04b10a0..0f766064 100644
--- a/scripts/expertise/expertise_sm_path_smooth_move_1.py
+++ b/scripts/expertise/expertise_sm_path_smooth_move_1.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_path_smooth_move_1')
-
- actor.addSkillMod('expertise_damage_melee', 1)
- actor.addSkillMod('expertise_damage_weapon_2', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_path_smooth_move_1')
-
- actor.removeSkillMod('expertise_damage_melee', 1)
- actor.removeSkillMod('expertise_damage_weapon_2', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_path_smooth_move_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_path_smooth_move_1")
return
diff --git a/scripts/expertise/expertise_sm_path_smooth_move_2.py b/scripts/expertise/expertise_sm_path_smooth_move_2.py
index e7f8a910..d27d5c81 100644
--- a/scripts/expertise/expertise_sm_path_smooth_move_2.py
+++ b/scripts/expertise/expertise_sm_path_smooth_move_2.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_path_smooth_move_2')
-
- actor.addSkillMod('expertise_damage_melee', 1)
- actor.addSkillMod('expertise_damage_weapon_2', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_path_smooth_move_2')
-
- actor.removeSkillMod('expertise_damage_melee', 1)
- actor.removeSkillMod('expertise_damage_weapon_2', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_path_smooth_move_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_path_smooth_move_2")
return
diff --git a/scripts/expertise/expertise_sm_path_smooth_move_3.py b/scripts/expertise/expertise_sm_path_smooth_move_3.py
index 036e78ed..888bd5d2 100644
--- a/scripts/expertise/expertise_sm_path_smooth_move_3.py
+++ b/scripts/expertise/expertise_sm_path_smooth_move_3.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_path_smooth_move_3')
-
- actor.addSkillMod('expertise_damage_melee', 1)
- actor.addSkillMod('expertise_damage_weapon_2', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_path_smooth_move_3')
-
- actor.removeSkillMod('expertise_damage_melee', 1)
- actor.removeSkillMod('expertise_damage_weapon_2', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_path_smooth_move_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_path_smooth_move_3")
return
diff --git a/scripts/expertise/expertise_sm_path_smooth_move_4.py b/scripts/expertise/expertise_sm_path_smooth_move_4.py
index c608477d..52572e2a 100644
--- a/scripts/expertise/expertise_sm_path_smooth_move_4.py
+++ b/scripts/expertise/expertise_sm_path_smooth_move_4.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_path_smooth_move_4')
-
- actor.addSkillMod('expertise_damage_melee', 1)
- actor.addSkillMod('expertise_damage_weapon_2', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_path_smooth_move_4')
-
- actor.removeSkillMod('expertise_damage_melee', 1)
- actor.removeSkillMod('expertise_damage_weapon_2', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sm_path_smooth_move_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sm_path_smooth_move_4")
return
diff --git a/scripts/expertise/expertise_sm_path_under_the_counter_1.py b/scripts/expertise/expertise_sm_path_under_the_counter_1.py
index 563ac15f..4ca94bdb 100644
--- a/scripts/expertise/expertise_sm_path_under_the_counter_1.py
+++ b/scripts/expertise/expertise_sm_path_under_the_counter_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_path_under_the_counter_1')
-
- actor.addSkillMod('expertise_buff_under_the_counter', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_path_under_the_counter_1')
-
- actor.removeSkillMod('expertise_buff_under_the_counter', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_path_under_the_counter_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_path_under_the_counter_1")
return
diff --git a/scripts/expertise/expertise_sm_path_under_the_counter_2.py b/scripts/expertise/expertise_sm_path_under_the_counter_2.py
index f4a1f72c..5769c9d6 100644
--- a/scripts/expertise/expertise_sm_path_under_the_counter_2.py
+++ b/scripts/expertise/expertise_sm_path_under_the_counter_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.addSkill('expertise_sm_path_under_the_counter_2')
-
- actor.addSkillMod('expertise_buff_under_the_counter', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'smuggler_1a':
- return
-
- actor.removeSkill('expertise_sm_path_under_the_counter_2')
-
- actor.removeSkillMod('expertise_buff_under_the_counter', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_path_under_the_counter_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_path_under_the_counter_2")
return
diff --git a/scripts/expertise/expertise_sp_assassins_blade_1.py b/scripts/expertise/expertise_sp_assassins_blade_1.py
index 93a526dd..e022fcf7 100644
--- a/scripts/expertise/expertise_sp_assassins_blade_1.py
+++ b/scripts/expertise/expertise_sp_assassins_blade_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_assassins_blade_1')
-
- actor.addSkillMod('expertise_strikethrough_chance', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_assassins_blade_1')
-
- actor.removeSkillMod('expertise_strikethrough_chance', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_assassins_blade_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_assassins_blade_1")
return
diff --git a/scripts/expertise/expertise_sp_assassins_blade_2.py b/scripts/expertise/expertise_sp_assassins_blade_2.py
index ec05ff91..19d3ca7d 100644
--- a/scripts/expertise/expertise_sp_assassins_blade_2.py
+++ b/scripts/expertise/expertise_sp_assassins_blade_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_assassins_blade_2')
-
- actor.addSkillMod('expertise_strikethrough_chance', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_assassins_blade_2')
-
- actor.removeSkillMod('expertise_strikethrough_chance', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_assassins_blade_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_assassins_blade_2")
return
diff --git a/scripts/expertise/expertise_sp_assassins_blade_4.py b/scripts/expertise/expertise_sp_assassins_blade_4.py
index 1c18ae9f..810a2d9c 100644
--- a/scripts/expertise/expertise_sp_assassins_blade_4.py
+++ b/scripts/expertise/expertise_sp_assassins_blade_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_assassins_blade_4')
-
- actor.addSkillMod('expertise_strikethrough_chance', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_assassins_blade_4')
-
- actor.removeSkillMod('expertise_strikethrough_chance', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_assassins_blade_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_assassins_blade_3")
return
diff --git a/scripts/expertise/expertise_sp_assassins_mark.py b/scripts/expertise/expertise_sp_assassins_mark.py
index c15c1096..08e35d4d 100644
--- a/scripts/expertise/expertise_sp_assassins_mark.py
+++ b/scripts/expertise/expertise_sp_assassins_mark.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_assassins_mark')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_assassins_mark')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('sp_assassins_mark')
-
+ actor.addAbility("sp_assassins_mark")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('sp_assassins_mark')
-
+ actor.removeAbility("sp_assassins_mark")
return
diff --git a/scripts/expertise/expertise_sp_avoid_damage_1.py b/scripts/expertise/expertise_sp_avoid_damage_1.py
index 8e706bc7..723ca08c 100644
--- a/scripts/expertise/expertise_sp_avoid_damage_1.py
+++ b/scripts/expertise/expertise_sp_avoid_damage_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_avoid_damage_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_avoid_damage_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('sp_avoid_damage')
-
+ actor.addAbility("sp_avoid_damage")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('sp_avoid_damage')
-
+ actor.removeAbility("sp_avoid_damage")
return
diff --git a/scripts/expertise/expertise_sp_burst_of_shadows_1.py b/scripts/expertise/expertise_sp_burst_of_shadows_1.py
index a15ceaf2..8f106d74 100644
--- a/scripts/expertise/expertise_sp_burst_of_shadows_1.py
+++ b/scripts/expertise/expertise_sp_burst_of_shadows_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_burst_of_shadows_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_burst_of_shadows_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('sp_burst_of_shadows')
-
+ actor.addAbility("sp_burst_of_shadows")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('sp_burst_of_shadows')
-
+ actor.removeAbility("sp_burst_of_shadows")
return
diff --git a/scripts/expertise/expertise_sp_careful_observation_1.py b/scripts/expertise/expertise_sp_careful_observation_1.py
index 16654a46..158e2de9 100644
--- a/scripts/expertise/expertise_sp_careful_observation_1.py
+++ b/scripts/expertise/expertise_sp_careful_observation_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_careful_observation_1')
-
- actor.addSkillMod('detect_hidden', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_careful_observation_1')
-
- actor.removeSkillMod('detect_hidden', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_careful_observation_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_careful_observation_1")
return
diff --git a/scripts/expertise/expertise_sp_careful_observation_2.py b/scripts/expertise/expertise_sp_careful_observation_2.py
index 24e1430f..64ab18fe 100644
--- a/scripts/expertise/expertise_sp_careful_observation_2.py
+++ b/scripts/expertise/expertise_sp_careful_observation_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_careful_observation_2')
-
- actor.addSkillMod('detect_hidden', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_careful_observation_2')
-
- actor.removeSkillMod('detect_hidden', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_careful_observation_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_careful_observation_2")
return
diff --git a/scripts/expertise/expertise_sp_cheap_shots_1.py b/scripts/expertise/expertise_sp_cheap_shots_1.py
index 25e6ce82..4c45be85 100644
--- a/scripts/expertise/expertise_sp_cheap_shots_1.py
+++ b/scripts/expertise/expertise_sp_cheap_shots_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_cheap_shots_1')
-
- actor.addSkillMod('expertise_action_weapon_ranged', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_cheap_shots_1')
-
- actor.removeSkillMod('expertise_action_weapon_ranged', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_cheap_shots_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_cheap_shots_1")
return
diff --git a/scripts/expertise/expertise_sp_cheap_shots_2.py b/scripts/expertise/expertise_sp_cheap_shots_2.py
index 80c50bbd..6f1510ff 100644
--- a/scripts/expertise/expertise_sp_cheap_shots_2.py
+++ b/scripts/expertise/expertise_sp_cheap_shots_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_cheap_shots_2')
-
- actor.addSkillMod('expertise_action_weapon_ranged', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_cheap_shots_2')
-
- actor.removeSkillMod('expertise_action_weapon_ranged', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_cheap_shots_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_cheap_shots_2")
return
diff --git a/scripts/expertise/expertise_sp_cheap_shots_3.py b/scripts/expertise/expertise_sp_cheap_shots_3.py
index b109039c..a44a75a0 100644
--- a/scripts/expertise/expertise_sp_cheap_shots_3.py
+++ b/scripts/expertise/expertise_sp_cheap_shots_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_cheap_shots_3')
-
- actor.addSkillMod('expertise_action_weapon_ranged', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_cheap_shots_3')
-
- actor.removeSkillMod('expertise_action_weapon_ranged', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_cheap_shots_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_cheap_shots_3")
return
diff --git a/scripts/expertise/expertise_sp_cheap_shots_4.py b/scripts/expertise/expertise_sp_cheap_shots_4.py
index 473d1c54..be49ce20 100644
--- a/scripts/expertise/expertise_sp_cheap_shots_4.py
+++ b/scripts/expertise/expertise_sp_cheap_shots_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_cheap_shots_4')
-
- actor.addSkillMod('expertise_action_weapon_ranged', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_cheap_shots_4')
-
- actor.removeSkillMod('expertise_action_weapon_ranged', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_cheap_shots_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_cheap_shots_4")
return
diff --git a/scripts/expertise/expertise_sp_cheap_strikes_1.py b/scripts/expertise/expertise_sp_cheap_strikes_1.py
index b32c86b8..bf64aff5 100644
--- a/scripts/expertise/expertise_sp_cheap_strikes_1.py
+++ b/scripts/expertise/expertise_sp_cheap_strikes_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_cheap_strikes_1')
-
- actor.addSkillMod('expertise_action_weapon_melee', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_cheap_strikes_1')
-
- actor.removeSkillMod('expertise_action_weapon_melee', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_cheap_strikes_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_cheap_strikes_1")
return
diff --git a/scripts/expertise/expertise_sp_cheap_strikes_2.py b/scripts/expertise/expertise_sp_cheap_strikes_2.py
index a88b5b7a..2264e3cc 100644
--- a/scripts/expertise/expertise_sp_cheap_strikes_2.py
+++ b/scripts/expertise/expertise_sp_cheap_strikes_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_cheap_strikes_2')
-
- actor.addSkillMod('expertise_action_weapon_melee', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_cheap_strikes_2')
-
- actor.removeSkillMod('expertise_action_weapon_melee', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_cheap_strikes_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_cheap_strikes_2")
return
diff --git a/scripts/expertise/expertise_sp_cheap_strikes_3.py b/scripts/expertise/expertise_sp_cheap_strikes_3.py
index c3e9a8a0..110acea8 100644
--- a/scripts/expertise/expertise_sp_cheap_strikes_3.py
+++ b/scripts/expertise/expertise_sp_cheap_strikes_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_cheap_strikes_3')
-
- actor.addSkillMod('expertise_action_weapon_melee', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_cheap_strikes_3')
-
- actor.removeSkillMod('expertise_action_weapon_melee', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_cheap_strikes_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_cheap_strikes_3")
return
diff --git a/scripts/expertise/expertise_sp_cheap_strikes_4.py b/scripts/expertise/expertise_sp_cheap_strikes_4.py
index 2f58d895..97a2d0f6 100644
--- a/scripts/expertise/expertise_sp_cheap_strikes_4.py
+++ b/scripts/expertise/expertise_sp_cheap_strikes_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_cheap_strikes_4')
-
- actor.addSkillMod('expertise_action_weapon_melee', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_cheap_strikes_4')
-
- actor.removeSkillMod('expertise_action_weapon_melee', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_cheap_strikes_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_cheap_strikes_4")
return
diff --git a/scripts/expertise/expertise_sp_cloak_and_dagger_1.py b/scripts/expertise/expertise_sp_cloak_and_dagger_1.py
index f1333f00..55d9c884 100644
--- a/scripts/expertise/expertise_sp_cloak_and_dagger_1.py
+++ b/scripts/expertise/expertise_sp_cloak_and_dagger_1.py
@@ -1,54 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_cloak_and_dagger_1')
-
- actor.addSkillMod('expertise_damage_line_sp_stealth_melee', 20)
- actor.addSkillMod('expertise_damage_line_sp_stealth_ranged', 20)
- actor.addSkillMod('expertise_dot_damage_line_sp_stealth_melee', 20)
- actor.addSkillMod('expertise_dot_damage_line_sp_stealth_ranged', 20)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_cloak_and_dagger_1')
-
- actor.removeSkillMod('expertise_damage_line_sp_stealth_melee', 20)
- actor.removeSkillMod('expertise_damage_line_sp_stealth_ranged', 20)
- actor.removeSkillMod('expertise_dot_damage_line_sp_stealth_melee', 20)
- actor.removeSkillMod('expertise_dot_damage_line_sp_stealth_ranged', 20)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_cloak_and_dagger_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_cloak_and_dagger_1")
return
diff --git a/scripts/expertise/expertise_sp_cloak_and_dagger_2.py b/scripts/expertise/expertise_sp_cloak_and_dagger_2.py
index f9ac5034..1ee3ca02 100644
--- a/scripts/expertise/expertise_sp_cloak_and_dagger_2.py
+++ b/scripts/expertise/expertise_sp_cloak_and_dagger_2.py
@@ -1,54 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_cloak_and_dagger_2')
-
- actor.addSkillMod('expertise_damage_line_sp_stealth_melee', 20)
- actor.addSkillMod('expertise_damage_line_sp_stealth_ranged', 20)
- actor.addSkillMod('expertise_dot_damage_line_sp_stealth_melee', 20)
- actor.addSkillMod('expertise_dot_damage_line_sp_stealth_ranged', 20)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_cloak_and_dagger_2')
-
- actor.removeSkillMod('expertise_damage_line_sp_stealth_melee', 20)
- actor.removeSkillMod('expertise_damage_line_sp_stealth_ranged', 20)
- actor.removeSkillMod('expertise_dot_damage_line_sp_stealth_melee', 20)
- actor.removeSkillMod('expertise_dot_damage_line_sp_stealth_ranged', 20)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_cloak_and_dagger_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_cloak_and_dagger_2")
return
diff --git a/scripts/expertise/expertise_sp_cloak_and_dagger_3.py b/scripts/expertise/expertise_sp_cloak_and_dagger_3.py
index 977c7b67..c46d0390 100644
--- a/scripts/expertise/expertise_sp_cloak_and_dagger_3.py
+++ b/scripts/expertise/expertise_sp_cloak_and_dagger_3.py
@@ -1,54 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_cloak_and_dagger_3')
-
- actor.addSkillMod('expertise_damage_line_sp_stealth_melee', 20)
- actor.addSkillMod('expertise_damage_line_sp_stealth_ranged', 20)
- actor.addSkillMod('expertise_dot_damage_line_sp_stealth_melee', 20)
- actor.addSkillMod('expertise_dot_damage_line_sp_stealth_ranged', 20)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_cloak_and_dagger_3')
-
- actor.removeSkillMod('expertise_damage_line_sp_stealth_melee', 20)
- actor.removeSkillMod('expertise_damage_line_sp_stealth_ranged', 20)
- actor.removeSkillMod('expertise_dot_damage_line_sp_stealth_melee', 20)
- actor.removeSkillMod('expertise_dot_damage_line_sp_stealth_ranged', 20)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_cloak_and_dagger_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_cloak_and_dagger_3")
return
diff --git a/scripts/expertise/expertise_sp_cloak_and_dagger_4.py b/scripts/expertise/expertise_sp_cloak_and_dagger_4.py
index bc53f9a9..7e78d832 100644
--- a/scripts/expertise/expertise_sp_cloak_and_dagger_4.py
+++ b/scripts/expertise/expertise_sp_cloak_and_dagger_4.py
@@ -1,54 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_cloak_and_dagger_4')
-
- actor.addSkillMod('expertise_damage_line_sp_stealth_melee', 20)
- actor.addSkillMod('expertise_damage_line_sp_stealth_ranged', 20)
- actor.addSkillMod('expertise_dot_damage_line_sp_stealth_melee', 20)
- actor.addSkillMod('expertise_dot_damage_line_sp_stealth_ranged', 20)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_cloak_and_dagger_4')
-
- actor.removeSkillMod('expertise_damage_line_sp_stealth_melee', 20)
- actor.removeSkillMod('expertise_damage_line_sp_stealth_ranged', 20)
- actor.removeSkillMod('expertise_dot_damage_line_sp_stealth_melee', 20)
- actor.removeSkillMod('expertise_dot_damage_line_sp_stealth_ranged', 20)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_cloak_and_dagger_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_cloak_and_dagger_4")
return
diff --git a/scripts/expertise/expertise_sp_cloaked_attacks_1.py b/scripts/expertise/expertise_sp_cloaked_attacks_1.py
index d96a977e..9f979c33 100644
--- a/scripts/expertise/expertise_sp_cloaked_attacks_1.py
+++ b/scripts/expertise/expertise_sp_cloaked_attacks_1.py
@@ -1,48 +1,52 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_cloaked_attacks_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_cloaked_attacks_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('sp_ambush_snipe_0')
-
+ if actor.getLevel() >= 10:
+ actor.addAbility("sp_stealth_melee_0")
+ if actor.getLevel() >= 20:
+ actor.addAbility("sp_stealth_melee_1")
+ if actor.getLevel() >= 32:
+ actor.addAbility("sp_stealth_melee_2")
+ if actor.getLevel() >= 46:
+ actor.addAbility("sp_stealth_melee_3")
+ if actor.getLevel() >= 60:
+ actor.addAbility("sp_stealth_melee_4")
+ if actor.getLevel() >= 70:
+ actor.addAbility("sp_stealth_melee_5")
+ if actor.getLevel() >= 86:
+ actor.addAbility("sp_stealth_melee_6")
+
+ if actor.getLevel() >= 10:
+ actor.addAbility("sp_stealth_ranged_0")
+ if actor.getLevel() >= 20:
+ actor.addAbility("sp_stealth_ranged_1")
+ if actor.getLevel() >= 32:
+ actor.addAbility("sp_stealth_ranged_2")
+ if actor.getLevel() >= 46:
+ actor.addAbility("sp_stealth_ranged_3")
+ if actor.getLevel() >= 60:
+ actor.addAbility("sp_stealth_ranged_4")
+ if actor.getLevel() >= 70:
+ actor.addAbility("sp_stealth_ranged_5")
+ if actor.getLevel() >= 86:
+ actor.addAbility("sp_stealth_ranged_6")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('sp_ambush_snipe_0')
-
+ actor.removeAbility("sp_stealth_melee_0")
+ actor.removeAbility("sp_stealth_melee_1")
+ actor.removeAbility("sp_stealth_melee_2")
+ actor.removeAbility("sp_stealth_melee_3")
+ actor.removeAbility("sp_stealth_melee_4")
+ actor.removeAbility("sp_stealth_melee_5")
+ actor.removeAbility("sp_stealth_melee_6")
+
+ actor.removeAbility("sp_stealth_ranged_0")
+ actor.removeAbility("sp_stealth_ranged_1")
+ actor.removeAbility("sp_stealth_ranged_2")
+ actor.removeAbility("sp_stealth_ranged_3")
+ actor.removeAbility("sp_stealth_ranged_4")
+ actor.removeAbility("sp_stealth_ranged_5")
+ actor.removeAbility("sp_stealth_ranged_6")
return
+
diff --git a/scripts/expertise/expertise_sp_cloaked_recovery_1.py b/scripts/expertise/expertise_sp_cloaked_recovery_1.py
index 17e8cb25..5e8ffb01 100644
--- a/scripts/expertise/expertise_sp_cloaked_recovery_1.py
+++ b/scripts/expertise/expertise_sp_cloaked_recovery_1.py
@@ -1,48 +1,22 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_cloaked_recovery_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_cloaked_recovery_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('sp_cloaked_recovery_0')
-
+ if actor.getLevel() >= 10:
+ actor.addAbility("sp_cloaked_recovery_0")
+ if actor.getLevel() >= 28:
+ actor.addAbility("sp_cloaked_recovery_1")
+ if actor.getLevel() >= 54:
+ actor.addAbility("sp_cloaked_recovery_2")
+ if actor.getLevel() >= 70:
+ actor.addAbility("sp_cloaked_recovery_3")
+ if actor.getLevel() >= 86:
+ actor.addAbility("sp_cloaked_recovery_4")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('sp_cloaked_recovery_0')
-
+ actor.removeAbility("sp_cloaked_recovery_0")
+ actor.removeAbility("sp_cloaked_recovery_1")
+ actor.removeAbility("sp_cloaked_recovery_2")
+ actor.removeAbility("sp_cloaked_recovery_3")
+ actor.removeAbility("sp_cloaked_recovery_4")
return
diff --git a/scripts/expertise/expertise_sp_cloaking_armor_1.py b/scripts/expertise/expertise_sp_cloaking_armor_1.py
index 80d1afc1..4d29b500 100644
--- a/scripts/expertise/expertise_sp_cloaking_armor_1.py
+++ b/scripts/expertise/expertise_sp_cloaking_armor_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_cloaking_armor_1')
-
- actor.addSkillMod('camouflage', 35)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_cloaking_armor_1')
-
- actor.removeSkillMod('camouflage', 35)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_cloaking_armor_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_cloaking_armor_1")
return
diff --git a/scripts/expertise/expertise_sp_cloaking_armor_2.py b/scripts/expertise/expertise_sp_cloaking_armor_2.py
index 79cb0d6f..7aef08d8 100644
--- a/scripts/expertise/expertise_sp_cloaking_armor_2.py
+++ b/scripts/expertise/expertise_sp_cloaking_armor_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_cloaking_armor_2')
-
- actor.addSkillMod('camouflage', 40)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_cloaking_armor_2')
-
- actor.removeSkillMod('camouflage', 40)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_cloaking_armor_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_cloaking_armor_2")
return
diff --git a/scripts/expertise/expertise_sp_close_quarters_1.py b/scripts/expertise/expertise_sp_close_quarters_1.py
index 7f47d8c4..e98a053f 100644
--- a/scripts/expertise/expertise_sp_close_quarters_1.py
+++ b/scripts/expertise/expertise_sp_close_quarters_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_close_quarters_1')
-
- actor.addSkillMod('expertise_damage_melee', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_close_quarters_1')
-
- actor.removeSkillMod('expertise_damage_melee', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_close_quarters_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_close_quarters_1")
return
diff --git a/scripts/expertise/expertise_sp_close_quarters_2.py b/scripts/expertise/expertise_sp_close_quarters_2.py
index 11685e64..6a94d3e4 100644
--- a/scripts/expertise/expertise_sp_close_quarters_2.py
+++ b/scripts/expertise/expertise_sp_close_quarters_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_close_quarters_2')
-
- actor.addSkillMod('expertise_damage_melee', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_close_quarters_2')
-
- actor.removeSkillMod('expertise_damage_melee', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_close_quarters_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_close_quarters_2")
return
diff --git a/scripts/expertise/expertise_sp_close_quarters_3.py b/scripts/expertise/expertise_sp_close_quarters_3.py
index ee025e54..3b9e0088 100644
--- a/scripts/expertise/expertise_sp_close_quarters_3.py
+++ b/scripts/expertise/expertise_sp_close_quarters_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_close_quarters_3')
-
- actor.addSkillMod('expertise_damage_melee', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_close_quarters_3')
-
- actor.removeSkillMod('expertise_damage_melee', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_close_quarters_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_close_quarters_3")
return
diff --git a/scripts/expertise/expertise_sp_covert_mastery_1.py b/scripts/expertise/expertise_sp_covert_mastery_1.py
index 114d70b6..56e5d7df 100644
--- a/scripts/expertise/expertise_sp_covert_mastery_1.py
+++ b/scripts/expertise/expertise_sp_covert_mastery_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_covert_mastery_1')
-
- actor.addSkillMod('expertise_covert_mastery', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_covert_mastery_1')
-
- actor.removeSkillMod('expertise_covert_mastery', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_covert_mastery_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_covert_mastery_1")
return
diff --git a/scripts/expertise/expertise_sp_crippling_traps_1.py b/scripts/expertise/expertise_sp_crippling_traps_1.py
index 9189c956..f414594b 100644
--- a/scripts/expertise/expertise_sp_crippling_traps_1.py
+++ b/scripts/expertise/expertise_sp_crippling_traps_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_crippling_traps_1')
-
- actor.addSkillMod('expertise_sp_cripple_trap_proc_increase', 50)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_crippling_traps_1')
-
- actor.removeSkillMod('expertise_sp_cripple_trap_proc_increase', 50)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_crippling_traps_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_crippling_traps_1")
return
diff --git a/scripts/expertise/expertise_sp_crippling_traps_2.py b/scripts/expertise/expertise_sp_crippling_traps_2.py
index c7b2170e..f5899f9c 100644
--- a/scripts/expertise/expertise_sp_crippling_traps_2.py
+++ b/scripts/expertise/expertise_sp_crippling_traps_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_crippling_traps_2')
-
- actor.addSkillMod('expertise_sp_cripple_trap_proc_increase', 50)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_crippling_traps_2')
-
- actor.removeSkillMod('expertise_sp_cripple_trap_proc_increase', 50)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_crippling_traps_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_crippling_traps_2")
return
diff --git a/scripts/expertise/expertise_sp_deadly_pistols_1.py b/scripts/expertise/expertise_sp_deadly_pistols_1.py
index fc98249a..16e02540 100644
--- a/scripts/expertise/expertise_sp_deadly_pistols_1.py
+++ b/scripts/expertise/expertise_sp_deadly_pistols_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_deadly_pistols_1')
-
- actor.addSkillMod('expertise_damage_ranged', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_deadly_pistols_1')
-
- actor.removeSkillMod('expertise_damage_ranged', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_deadly_pistols_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_deadly_pistols_1")
return
diff --git a/scripts/expertise/expertise_sp_deadly_pistols_2.py b/scripts/expertise/expertise_sp_deadly_pistols_2.py
index 6f51bb5e..dc23941c 100644
--- a/scripts/expertise/expertise_sp_deadly_pistols_2.py
+++ b/scripts/expertise/expertise_sp_deadly_pistols_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_deadly_pistols_2')
-
- actor.addSkillMod('expertise_damage_ranged', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_deadly_pistols_2')
-
- actor.removeSkillMod('expertise_damage_ranged', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_deadly_pistols_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_deadly_pistols_2")
return
diff --git a/scripts/expertise/expertise_sp_deadly_pistols_3.py b/scripts/expertise/expertise_sp_deadly_pistols_3.py
index 2e75294c..42077da1 100644
--- a/scripts/expertise/expertise_sp_deadly_pistols_3.py
+++ b/scripts/expertise/expertise_sp_deadly_pistols_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_deadly_pistols_3')
-
- actor.addSkillMod('expertise_damage_ranged', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_deadly_pistols_3')
-
- actor.removeSkillMod('expertise_damage_ranged', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_deadly_pistols_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_deadly_pistols_3")
return
diff --git a/scripts/expertise/expertise_sp_deadly_toxins_1.py b/scripts/expertise/expertise_sp_deadly_toxins_1.py
index 7e8dc0c9..cc5432e9 100644
--- a/scripts/expertise/expertise_sp_deadly_toxins_1.py
+++ b/scripts/expertise/expertise_sp_deadly_toxins_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_deadly_toxins_1')
-
- actor.addSkillMod('expertise_critical_line_fldmot', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_deadly_toxins_1')
-
- actor.removeSkillMod('expertise_critical_line_fldmot', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_deadly_toxins_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_deadly_toxins_1")
return
diff --git a/scripts/expertise/expertise_sp_deadly_toxins_2.py b/scripts/expertise/expertise_sp_deadly_toxins_2.py
index 1995b0dc..f5f3be36 100644
--- a/scripts/expertise/expertise_sp_deadly_toxins_2.py
+++ b/scripts/expertise/expertise_sp_deadly_toxins_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_deadly_toxins_2')
-
- actor.addSkillMod('expertise_critical_line_fldmot', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_deadly_toxins_2')
-
- actor.removeSkillMod('expertise_critical_line_fldmot', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_deadly_toxins_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_deadly_toxins_2")
return
diff --git a/scripts/expertise/expertise_sp_decoy_1.py b/scripts/expertise/expertise_sp_decoy_1.py
index 4888c20c..50f9dcc6 100644
--- a/scripts/expertise/expertise_sp_decoy_1.py
+++ b/scripts/expertise/expertise_sp_decoy_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_decoy_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_decoy_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('sp_decoy')
-
+ actor.addAbility("sp_decoy")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('sp_decoy')
-
+ actor.removeAbility("sp_decoy")
return
diff --git a/scripts/expertise/expertise_sp_diversion_1.py b/scripts/expertise/expertise_sp_diversion_1.py
index aa564906..fdd847e9 100644
--- a/scripts/expertise/expertise_sp_diversion_1.py
+++ b/scripts/expertise/expertise_sp_diversion_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_diversion_1')
-
- actor.addSkillMod('expertise_improved_decoy', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_diversion_1')
-
- actor.removeSkillMod('expertise_improved_decoy', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_diversion_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_diversion_1")
return
diff --git a/scripts/expertise/expertise_sp_diversion_2.py b/scripts/expertise/expertise_sp_diversion_2.py
index d8b6c134..7dddf6ba 100644
--- a/scripts/expertise/expertise_sp_diversion_2.py
+++ b/scripts/expertise/expertise_sp_diversion_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_diversion_2')
-
- actor.addSkillMod('expertise_improved_decoy', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_diversion_2')
-
- actor.removeSkillMod('expertise_improved_decoy', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_diversion_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_diversion_2")
return
diff --git a/scripts/expertise/expertise_sp_equilibrium.py b/scripts/expertise/expertise_sp_equilibrium.py
index d42cdb4d..1ebdcbd1 100644
--- a/scripts/expertise/expertise_sp_equilibrium.py
+++ b/scripts/expertise/expertise_sp_equilibrium.py
@@ -1,52 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_equilibrium')
-
- actor.addSkillMod('freeshot_case_miss', 1)
- actor.addSkillMod('freeshot_case_dodge', 1)
- actor.addSkillMod('freeshot_case_parry', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_equilibrium')
-
- actor.removeSkillMod('freeshot_case_miss', 1)
- actor.removeSkillMod('freeshot_case_dodge', 1)
- actor.removeSkillMod('freeshot_case_parry', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_equilibrium")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_equilibrium")
return
diff --git a/scripts/expertise/expertise_sp_expose_shadows_1.py b/scripts/expertise/expertise_sp_expose_shadows_1.py
index 4b08472a..22769831 100644
--- a/scripts/expertise/expertise_sp_expose_shadows_1.py
+++ b/scripts/expertise/expertise_sp_expose_shadows_1.py
@@ -1,52 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_expose_shadows_1')
-
- actor.addSkillMod('expertise_sp_reveal_shadows_distance_increase', 5)
- actor.addSkillMod('expertise_sp_reveal_shadows_detect_chance_increase', 3)
- actor.addSkillMod('expertise_cooldown_line_sp_reveal_shadows', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_expose_shadows_1')
-
- actor.removeSkillMod('expertise_sp_reveal_shadows_distance_increase', 5)
- actor.removeSkillMod('expertise_sp_reveal_shadows_detect_chance_increase', 3)
- actor.removeSkillMod('expertise_cooldown_line_sp_reveal_shadows', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_expose_shadows_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_expose_shadows_1")
return
diff --git a/scripts/expertise/expertise_sp_expose_shadows_2.py b/scripts/expertise/expertise_sp_expose_shadows_2.py
index 79a4cf58..ff7f014f 100644
--- a/scripts/expertise/expertise_sp_expose_shadows_2.py
+++ b/scripts/expertise/expertise_sp_expose_shadows_2.py
@@ -1,52 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_expose_shadows_2')
-
- actor.addSkillMod('expertise_sp_reveal_shadows_distance_increase', 5)
- actor.addSkillMod('expertise_sp_reveal_shadows_detect_chance_increase', 3)
- actor.addSkillMod('expertise_cooldown_line_sp_reveal_shadows', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_expose_shadows_2')
-
- actor.removeSkillMod('expertise_sp_reveal_shadows_distance_increase', 5)
- actor.removeSkillMod('expertise_sp_reveal_shadows_detect_chance_increase', 3)
- actor.removeSkillMod('expertise_cooldown_line_sp_reveal_shadows', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_expose_shadows_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_expose_shadows_2")
return
diff --git a/scripts/expertise/expertise_sp_expose_shadows_3.py b/scripts/expertise/expertise_sp_expose_shadows_3.py
index 648a6cb4..209eb428 100644
--- a/scripts/expertise/expertise_sp_expose_shadows_3.py
+++ b/scripts/expertise/expertise_sp_expose_shadows_3.py
@@ -1,52 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_expose_shadows_3')
-
- actor.addSkillMod('expertise_sp_reveal_shadows_distance_increase', 5)
- actor.addSkillMod('expertise_sp_reveal_shadows_detect_chance_increase', 3)
- actor.addSkillMod('expertise_cooldown_line_sp_reveal_shadows', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_expose_shadows_3')
-
- actor.removeSkillMod('expertise_sp_reveal_shadows_distance_increase', 5)
- actor.removeSkillMod('expertise_sp_reveal_shadows_detect_chance_increase', 3)
- actor.removeSkillMod('expertise_cooldown_line_sp_reveal_shadows', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_expose_shadows_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_expose_shadows_3")
return
diff --git a/scripts/expertise/expertise_sp_expose_shadows_4.py b/scripts/expertise/expertise_sp_expose_shadows_4.py
index cce077b5..2afdddf2 100644
--- a/scripts/expertise/expertise_sp_expose_shadows_4.py
+++ b/scripts/expertise/expertise_sp_expose_shadows_4.py
@@ -1,52 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_expose_shadows_4')
-
- actor.addSkillMod('expertise_sp_reveal_shadows_distance_increase', 5)
- actor.addSkillMod('expertise_sp_reveal_shadows_detect_chance_increase', 3)
- actor.addSkillMod('expertise_cooldown_line_sp_reveal_shadows', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_expose_shadows_4')
-
- actor.removeSkillMod('expertise_sp_reveal_shadows_distance_increase', 5)
- actor.removeSkillMod('expertise_sp_reveal_shadows_detect_chance_increase', 3)
- actor.removeSkillMod('expertise_cooldown_line_sp_reveal_shadows', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_expose_shadows_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_expose_shadows_4")
return
diff --git a/scripts/expertise/expertise_sp_glancing_armor_1.py b/scripts/expertise/expertise_sp_glancing_armor_1.py
index 2bc35f22..f1e04872 100644
--- a/scripts/expertise/expertise_sp_glancing_armor_1.py
+++ b/scripts/expertise/expertise_sp_glancing_armor_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_glancing_armor_1')
-
- actor.addSkillMod('expertise_dodge', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_glancing_armor_1')
-
- actor.removeSkillMod('expertise_dodge', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_glancing_armor_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_glancing_armor_1")
return
diff --git a/scripts/expertise/expertise_sp_glancing_armor_2.py b/scripts/expertise/expertise_sp_glancing_armor_2.py
index 84e0e50d..42c8c808 100644
--- a/scripts/expertise/expertise_sp_glancing_armor_2.py
+++ b/scripts/expertise/expertise_sp_glancing_armor_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_glancing_armor_2')
-
- actor.addSkillMod('expertise_dodge', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_glancing_armor_2')
-
- actor.removeSkillMod('expertise_dodge', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_glancing_armor_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_glancing_armor_2")
return
diff --git a/scripts/expertise/expertise_sp_hidden_daggers_1.py b/scripts/expertise/expertise_sp_hidden_daggers_1.py
index 2b947a0c..38c849d5 100644
--- a/scripts/expertise/expertise_sp_hidden_daggers_1.py
+++ b/scripts/expertise/expertise_sp_hidden_daggers_1.py
@@ -1,48 +1,51 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_hidden_daggers_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_hidden_daggers_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
+ if actor.getLevel() >= 10:
+ actor.addAbility("sp_hd_melee_0")
+ if actor.getLevel() >= 18:
+ actor.addAbility("sp_hd_melee_1")
+ if actor.getLevel() >= 32:
+ actor.addAbility("sp_hd_melee_2")
+ if actor.getLevel() >= 46:
+ actor.addAbility("sp_hd_melee_3")
+ if actor.getLevel() >= 58:
+ actor.addAbility("sp_hd_melee_4")
+ if actor.getLevel() >= 70:
+ actor.addAbility("sp_hd_melee_5")
+ if actor.getLevel() >= 84:
+ actor.addAbility("sp_hd_melee_6")
- actor.addAbility('sp_hd_ability_0')
-
+ if actor.getLevel() >= 10:
+ actor.addAbility("sp_hd_range_0")
+ if actor.getLevel() >= 18:
+ actor.addAbility("sp_hd_range_1")
+ if actor.getLevel() >= 32:
+ actor.addAbility("sp_hd_range_2")
+ if actor.getLevel() >= 46:
+ actor.addAbility("sp_hd_range_3")
+ if actor.getLevel() >= 58:
+ actor.addAbility("sp_hd_range_4")
+ if actor.getLevel() >= 70:
+ actor.addAbility("sp_hd_range_5")
+ if actor.getLevel() >= 84:
+ actor.addAbility("sp_hd_range_6")
return
def removeAbilities(core, actor, player):
+ actor.removeAbility("sp_hd_melee_0")
+ actor.removeAbility("sp_hd_melee_1")
+ actor.removeAbility("sp_hd_melee_2")
+ actor.removeAbility("sp_hd_melee_3")
+ actor.removeAbility("sp_hd_melee_4")
+ actor.removeAbility("sp_hd_melee_5")
+ actor.removeAbility("sp_hd_melee_6")
- actor.removeAbility('sp_hd_ability_0')
-
+ actor.removeAbility("sp_hd_range_0")
+ actor.removeAbility("sp_hd_range_1")
+ actor.removeAbility("sp_hd_range_2")
+ actor.removeAbility("sp_hd_range_3")
+ actor.removeAbility("sp_hd_range_4")
+ actor.removeAbility("sp_hd_range_5")
+ actor.removeAbility("sp_hd_range_6")
return
diff --git a/scripts/expertise/expertise_sp_hidden_daggers_2.py b/scripts/expertise/expertise_sp_hidden_daggers_2.py
new file mode 100644
index 00000000..9b197112
--- /dev/null
+++ b/scripts/expertise/expertise_sp_hidden_daggers_2.py
@@ -0,0 +1,9 @@
+import sys
+
+def addAbilities(core, actor, player):
+ actor.addAbility("sp_hd_range_0")
+ return
+
+def removeAbilities(core, actor, player):
+ actor.removeAbility("sp_hd_range_0")
+ return
diff --git a/scripts/expertise/expertise_sp_improved_arachnids_web_1.py b/scripts/expertise/expertise_sp_improved_arachnids_web_1.py
new file mode 100644
index 00000000..b9c80355
--- /dev/null
+++ b/scripts/expertise/expertise_sp_improved_arachnids_web_1.py
@@ -0,0 +1,19 @@
+import sys
+
+def addAbilities(core, actor, player):
+ if actor.getLevel() >= 34:
+ actor.addAbility("sp_improved_cc_dot_1")
+ if actor.getLevel() >= 50:
+ actor.addAbility("sp_improved_cc_dot_2")
+ if actor.getLevel() >= 66:
+ actor.addAbility("sp_improved_cc_dot_3")
+ if actor.getLevel() >= 82:
+ actor.addAbility("sp_improved_cc_dot_4")
+ return
+
+def removeAbilities(core, actor, player):
+ actor.removeAbility("sp_improved_cc_dot_1")
+ actor.removeAbility("sp_improved_cc_dot_2")
+ actor.removeAbility("sp_improved_cc_dot_3")
+ actor.removeAbility("sp_improved_cc_dot_4")
+ return
diff --git a/scripts/expertise/expertise_sp_improved_first_aid_1.py b/scripts/expertise/expertise_sp_improved_first_aid_1.py
index 302ef8e0..7e866996 100644
--- a/scripts/expertise/expertise_sp_improved_first_aid_1.py
+++ b/scripts/expertise/expertise_sp_improved_first_aid_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_improved_first_aid_1')
-
- actor.addSkillMod('expertise_target_healing_bonus', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_improved_first_aid_1')
-
- actor.removeSkillMod('expertise_target_healing_bonus', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_improved_first_aid_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_improved_first_aid_1")
return
diff --git a/scripts/expertise/expertise_sp_improved_first_aid_2.py b/scripts/expertise/expertise_sp_improved_first_aid_2.py
index 5c810822..cec8de8b 100644
--- a/scripts/expertise/expertise_sp_improved_first_aid_2.py
+++ b/scripts/expertise/expertise_sp_improved_first_aid_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_improved_first_aid_2')
-
- actor.addSkillMod('expertise_target_healing_bonus', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_improved_first_aid_2')
-
- actor.removeSkillMod('expertise_target_healing_bonus', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_improved_first_aid_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_improved_first_aid_2")
return
diff --git a/scripts/expertise/expertise_sp_improved_spys_fang_1.py b/scripts/expertise/expertise_sp_improved_spys_fang_1.py
index a91bbc75..5a085702 100644
--- a/scripts/expertise/expertise_sp_improved_spys_fang_1.py
+++ b/scripts/expertise/expertise_sp_improved_spys_fang_1.py
@@ -1,48 +1,25 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_improved_spys_fang_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_improved_spys_fang_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('sp_dot_0')
-
+ if actor.getLevel() >= 10:
+ actor.addAbility("sp_dot_0")
+ if actor.getLevel() >= 28:
+ actor.addAbility("sp_dot_1")
+ if actor.getLevel() >= 46:
+ actor.addAbility("sp_dot_2")
+ if actor.getLevel() >= 58:
+ actor.addAbility("sp_dot_3")
+ if actor.getLevel() >= 72:
+ actor.addAbility("sp_dot_4")
+ if actor.getLevel() >= 88:
+ actor.addAbility("sp_dot_5")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('sp_dot_0')
-
+ actor.removeAbility("sp_dot_0")
+ actor.removeAbility("sp_dot_1")
+ actor.removeAbility("sp_dot_2")
+ actor.removeAbility("sp_dot_3")
+ actor.removeAbility("sp_dot_4")
+ actor.removeAbility("sp_dot_5")
return
diff --git a/scripts/expertise/expertise_sp_increased_agility_1.py b/scripts/expertise/expertise_sp_increased_agility_1.py
index e3c8d957..3b62fbf5 100644
--- a/scripts/expertise/expertise_sp_increased_agility_1.py
+++ b/scripts/expertise/expertise_sp_increased_agility_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_increased_agility_1')
-
- actor.addSkillMod('agility_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_increased_agility_1')
-
- actor.removeSkillMod('agility_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_increased_agility_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_increased_agility_1")
return
diff --git a/scripts/expertise/expertise_sp_increased_agility_2.py b/scripts/expertise/expertise_sp_increased_agility_2.py
index b5728cc0..dea0db05 100644
--- a/scripts/expertise/expertise_sp_increased_agility_2.py
+++ b/scripts/expertise/expertise_sp_increased_agility_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_increased_agility_2')
-
- actor.addSkillMod('agility_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_increased_agility_2')
-
- actor.removeSkillMod('agility_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_increased_agility_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_increased_agility_2")
return
diff --git a/scripts/expertise/expertise_sp_increased_strength_1.py b/scripts/expertise/expertise_sp_increased_strength_1.py
index 005cf60d..b1bec56f 100644
--- a/scripts/expertise/expertise_sp_increased_strength_1.py
+++ b/scripts/expertise/expertise_sp_increased_strength_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_increased_strength_1')
-
- actor.addSkillMod('strength_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_increased_strength_1')
-
- actor.removeSkillMod('strength_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_increased_strength_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_increased_strength_1")
return
diff --git a/scripts/expertise/expertise_sp_increased_strength_2.py b/scripts/expertise/expertise_sp_increased_strength_2.py
index 16b7b90f..ae61711d 100644
--- a/scripts/expertise/expertise_sp_increased_strength_2.py
+++ b/scripts/expertise/expertise_sp_increased_strength_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_increased_strength_2')
-
- actor.addSkillMod('strength_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_increased_strength_2')
-
- actor.removeSkillMod('strength_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_increased_strength_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_increased_strength_2")
return
diff --git a/scripts/expertise/expertise_sp_initiative_1.py b/scripts/expertise/expertise_sp_initiative_1.py
index edb3db3d..9032c21a 100644
--- a/scripts/expertise/expertise_sp_initiative_1.py
+++ b/scripts/expertise/expertise_sp_initiative_1.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_initiative_1')
-
- actor.addSkillMod('expertise_critical_line_sp_stealth_melee', 15)
- actor.addSkillMod('expertise_critical_line_sp_stealth_ranged', 15)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_initiative_1')
-
- actor.removeSkillMod('expertise_critical_line_sp_stealth_melee', 15)
- actor.removeSkillMod('expertise_critical_line_sp_stealth_ranged', 15)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_initiative_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_initiative_1")
return
diff --git a/scripts/expertise/expertise_sp_initiative_2.py b/scripts/expertise/expertise_sp_initiative_2.py
index fefb02bf..ea719348 100644
--- a/scripts/expertise/expertise_sp_initiative_2.py
+++ b/scripts/expertise/expertise_sp_initiative_2.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_initiative_2')
-
- actor.addSkillMod('expertise_critical_line_sp_stealth_melee', 15)
- actor.addSkillMod('expertise_critical_line_sp_stealth_ranged', 15)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_initiative_2')
-
- actor.removeSkillMod('expertise_critical_line_sp_stealth_melee', 15)
- actor.removeSkillMod('expertise_critical_line_sp_stealth_ranged', 15)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_initiative_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_initiative_2")
return
diff --git a/scripts/expertise/expertise_sp_initiative_3.py b/scripts/expertise/expertise_sp_initiative_3.py
index 56a20d27..15748ad9 100644
--- a/scripts/expertise/expertise_sp_initiative_3.py
+++ b/scripts/expertise/expertise_sp_initiative_3.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_initiative_3')
-
- actor.addSkillMod('expertise_critical_line_sp_stealth_melee', 15)
- actor.addSkillMod('expertise_critical_line_sp_stealth_ranged', 15)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_initiative_3')
-
- actor.removeSkillMod('expertise_critical_line_sp_stealth_melee', 15)
- actor.removeSkillMod('expertise_critical_line_sp_stealth_ranged', 15)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_initiative_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_initiative_3")
return
diff --git a/scripts/expertise/expertise_sp_initiative_4.py b/scripts/expertise/expertise_sp_initiative_4.py
index a3847b2a..d013c718 100644
--- a/scripts/expertise/expertise_sp_initiative_4.py
+++ b/scripts/expertise/expertise_sp_initiative_4.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_initiative_4')
-
- actor.addSkillMod('expertise_critical_line_sp_stealth_melee', 15)
- actor.addSkillMod('expertise_critical_line_sp_stealth_ranged', 15)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_initiative_4')
-
- actor.removeSkillMod('expertise_critical_line_sp_stealth_melee', 15)
- actor.removeSkillMod('expertise_critical_line_sp_stealth_ranged', 15)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_initiative_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_initiative_4")
return
diff --git a/scripts/expertise/expertise_sp_jagged_edge_1.py b/scripts/expertise/expertise_sp_jagged_edge_1.py
index 3b094630..2043cb12 100644
--- a/scripts/expertise/expertise_sp_jagged_edge_1.py
+++ b/scripts/expertise/expertise_sp_jagged_edge_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_jagged_edge_1')
-
- actor.addSkillMod('expertise_critical_damage_increase', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_jagged_edge_1')
-
- actor.removeSkillMod('expertise_critical_damage_increase', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_jagged_edge_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_jagged_edge_1")
return
diff --git a/scripts/expertise/expertise_sp_jagged_edge_2.py b/scripts/expertise/expertise_sp_jagged_edge_2.py
index b63c3a03..4360a1af 100644
--- a/scripts/expertise/expertise_sp_jagged_edge_2.py
+++ b/scripts/expertise/expertise_sp_jagged_edge_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_jagged_edge_2')
-
- actor.addSkillMod('expertise_critical_damage_increase', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_jagged_edge_2')
-
- actor.removeSkillMod('expertise_critical_damage_increase', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_jagged_edge_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_jagged_edge_2")
return
diff --git a/scripts/expertise/expertise_sp_jagged_edge_3.py b/scripts/expertise/expertise_sp_jagged_edge_3.py
index 467a8ecb..e2d8f310 100644
--- a/scripts/expertise/expertise_sp_jagged_edge_3.py
+++ b/scripts/expertise/expertise_sp_jagged_edge_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_jagged_edge_3')
-
- actor.addSkillMod('expertise_critical_damage_increase', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_jagged_edge_3')
-
- actor.removeSkillMod('expertise_critical_damage_increase', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_jagged_edge_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_jagged_edge_3")
return
diff --git a/scripts/expertise/expertise_sp_noxious_traps_1.py b/scripts/expertise/expertise_sp_noxious_traps_1.py
index 6bdcfe7d..8bf68635 100644
--- a/scripts/expertise/expertise_sp_noxious_traps_1.py
+++ b/scripts/expertise/expertise_sp_noxious_traps_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_noxious_traps_1')
-
- actor.addSkillMod('expertise_damage_line_fldmot', 15)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_noxious_traps_1')
-
- actor.removeSkillMod('expertise_damage_line_fldmot', 15)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_noxious_traps_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_noxious_traps_1")
return
diff --git a/scripts/expertise/expertise_sp_noxious_traps_2.py b/scripts/expertise/expertise_sp_noxious_traps_2.py
index 27dbf617..3d684ce2 100644
--- a/scripts/expertise/expertise_sp_noxious_traps_2.py
+++ b/scripts/expertise/expertise_sp_noxious_traps_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_noxious_traps_2')
-
- actor.addSkillMod('expertise_damage_line_fldmot', 15)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_noxious_traps_2')
-
- actor.removeSkillMod('expertise_damage_line_fldmot', 15)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_noxious_traps_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_noxious_traps_2")
return
diff --git a/scripts/expertise/expertise_sp_opportunity_1.py b/scripts/expertise/expertise_sp_opportunity_1.py
index a775b549..ce63f8f1 100644
--- a/scripts/expertise/expertise_sp_opportunity_1.py
+++ b/scripts/expertise/expertise_sp_opportunity_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_opportunity_1')
-
- actor.addSkillMod('expertise_critical_niche_all', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_opportunity_1')
-
- actor.removeSkillMod('expertise_critical_niche_all', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_opportunity_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_opportunity_1")
return
diff --git a/scripts/expertise/expertise_sp_opportunity_2.py b/scripts/expertise/expertise_sp_opportunity_2.py
index d8a596ae..92941b78 100644
--- a/scripts/expertise/expertise_sp_opportunity_2.py
+++ b/scripts/expertise/expertise_sp_opportunity_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_opportunity_2')
-
- actor.addSkillMod('expertise_critical_niche_all', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_opportunity_2')
-
- actor.removeSkillMod('expertise_critical_niche_all', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_opportunity_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_opportunity_2")
return
diff --git a/scripts/expertise/expertise_sp_opportunity_3.py b/scripts/expertise/expertise_sp_opportunity_3.py
index 92872b63..f69db076 100644
--- a/scripts/expertise/expertise_sp_opportunity_3.py
+++ b/scripts/expertise/expertise_sp_opportunity_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_opportunity_3')
-
- actor.addSkillMod('expertise_critical_niche_all', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_opportunity_3')
-
- actor.removeSkillMod('expertise_critical_niche_all', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_opportunity_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_opportunity_3")
return
diff --git a/scripts/expertise/expertise_sp_opportunity_4.py b/scripts/expertise/expertise_sp_opportunity_4.py
index 021557d0..5c11573c 100644
--- a/scripts/expertise/expertise_sp_opportunity_4.py
+++ b/scripts/expertise/expertise_sp_opportunity_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_opportunity_4')
-
- actor.addSkillMod('expertise_critical_niche_all', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_opportunity_4')
-
- actor.removeSkillMod('expertise_critical_niche_all', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_opportunity_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_opportunity_4")
return
diff --git a/scripts/expertise/expertise_sp_precision_1.py b/scripts/expertise/expertise_sp_precision_1.py
index 0838078e..fc82b38c 100644
--- a/scripts/expertise/expertise_sp_precision_1.py
+++ b/scripts/expertise/expertise_sp_precision_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_precision_1')
-
- actor.addSkillMod('precision_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_precision_1')
-
- actor.removeSkillMod('precision_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_precision_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_precision_1")
return
diff --git a/scripts/expertise/expertise_sp_precision_2.py b/scripts/expertise/expertise_sp_precision_2.py
index 646d2555..7dbf6345 100644
--- a/scripts/expertise/expertise_sp_precision_2.py
+++ b/scripts/expertise/expertise_sp_precision_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_precision_2')
-
- actor.addSkillMod('precision_modified', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_precision_2')
-
- actor.removeSkillMod('precision_modified', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_precision_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_precision_2")
return
diff --git a/scripts/expertise/expertise_sp_preparation_1.py b/scripts/expertise/expertise_sp_preparation_1.py
index f9642ef1..4a81cc8f 100644
--- a/scripts/expertise/expertise_sp_preparation_1.py
+++ b/scripts/expertise/expertise_sp_preparation_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_preparation_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_preparation_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('sp_preparation')
-
+ actor.addAbility("sp_preparation")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('sp_preparation')
-
+ actor.removeAbility("sp_preparation")
return
diff --git a/scripts/expertise/expertise_sp_protective_armor_1.py b/scripts/expertise/expertise_sp_protective_armor_1.py
index cc1f4fce..e4b17d21 100644
--- a/scripts/expertise/expertise_sp_protective_armor_1.py
+++ b/scripts/expertise/expertise_sp_protective_armor_1.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_protective_armor_1')
-
- actor.addSkillMod('expertise_innate_protection_kinetic', 300)
- actor.addSkillMod('expertise_innate_protection_energy', 300)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_protective_armor_1')
-
- actor.removeSkillMod('expertise_innate_protection_kinetic', 300)
- actor.removeSkillMod('expertise_innate_protection_energy', 300)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_protective_armor_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_protective_armor_1")
return
diff --git a/scripts/expertise/expertise_sp_protective_armor_2.py b/scripts/expertise/expertise_sp_protective_armor_2.py
index d28b98fa..1e9e1495 100644
--- a/scripts/expertise/expertise_sp_protective_armor_2.py
+++ b/scripts/expertise/expertise_sp_protective_armor_2.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_protective_armor_2')
-
- actor.addSkillMod('expertise_innate_protection_kinetic', 300)
- actor.addSkillMod('expertise_innate_protection_energy', 300)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_protective_armor_2')
-
- actor.removeSkillMod('expertise_innate_protection_kinetic', 300)
- actor.removeSkillMod('expertise_innate_protection_energy', 300)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_protective_armor_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_protective_armor_2")
return
diff --git a/scripts/expertise/expertise_sp_protective_armor_3.py b/scripts/expertise/expertise_sp_protective_armor_3.py
index 362cf151..daaaae35 100644
--- a/scripts/expertise/expertise_sp_protective_armor_3.py
+++ b/scripts/expertise/expertise_sp_protective_armor_3.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_protective_armor_3')
-
- actor.addSkillMod('expertise_innate_protection_kinetic', 300)
- actor.addSkillMod('expertise_innate_protection_energy', 300)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_protective_armor_3')
-
- actor.removeSkillMod('expertise_innate_protection_kinetic', 300)
- actor.removeSkillMod('expertise_innate_protection_energy', 300)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_protective_armor_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_protective_armor_3")
return
diff --git a/scripts/expertise/expertise_sp_protective_armor_4.py b/scripts/expertise/expertise_sp_protective_armor_4.py
index 217d1cf2..14b113f9 100644
--- a/scripts/expertise/expertise_sp_protective_armor_4.py
+++ b/scripts/expertise/expertise_sp_protective_armor_4.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_protective_armor_4')
-
- actor.addSkillMod('expertise_innate_protection_kinetic', 300)
- actor.addSkillMod('expertise_innate_protection_energy', 300)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_protective_armor_4')
-
- actor.removeSkillMod('expertise_innate_protection_kinetic', 300)
- actor.removeSkillMod('expertise_innate_protection_energy', 300)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_protective_armor_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_protective_armor_4")
return
diff --git a/scripts/expertise/expertise_sp_puncturing_strikes_1.py b/scripts/expertise/expertise_sp_puncturing_strikes_1.py
index b6a49540..07849a4d 100644
--- a/scripts/expertise/expertise_sp_puncturing_strikes_1.py
+++ b/scripts/expertise/expertise_sp_puncturing_strikes_1.py
@@ -1,52 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_puncturing_strikes_1')
-
- actor.addSkillMod('expertise_damage_line_sp_stealth_melee', 10)
- actor.addSkillMod('expertise_damage_line_sp_hd_melee', 10)
- actor.addSkillMod('expertise_damage_line_sp_stealth_ranged', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_puncturing_strikes_1')
-
- actor.removeSkillMod('expertise_damage_line_sp_stealth_melee', 10)
- actor.removeSkillMod('expertise_damage_line_sp_hd_melee', 10)
- actor.removeSkillMod('expertise_damage_line_sp_stealth_ranged', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_puncturing_strikes_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_puncturing_strikes_1")
return
diff --git a/scripts/expertise/expertise_sp_puncturing_strikes_2.py b/scripts/expertise/expertise_sp_puncturing_strikes_2.py
index 9b72c541..d1526657 100644
--- a/scripts/expertise/expertise_sp_puncturing_strikes_2.py
+++ b/scripts/expertise/expertise_sp_puncturing_strikes_2.py
@@ -1,52 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_puncturing_strikes_2')
-
- actor.addSkillMod('expertise_damage_line_sp_stealth_melee', 10)
- actor.addSkillMod('expertise_damage_line_sp_hd_melee', 10)
- actor.addSkillMod('expertise_damage_line_sp_stealth_ranged', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_puncturing_strikes_2')
-
- actor.removeSkillMod('expertise_damage_line_sp_stealth_melee', 10)
- actor.removeSkillMod('expertise_damage_line_sp_hd_melee', 10)
- actor.removeSkillMod('expertise_damage_line_sp_stealth_ranged', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_puncturing_strikes_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_puncturing_strikes_2")
return
diff --git a/scripts/expertise/expertise_sp_puncturing_strikes_3.py b/scripts/expertise/expertise_sp_puncturing_strikes_3.py
index f744abd6..20173336 100644
--- a/scripts/expertise/expertise_sp_puncturing_strikes_3.py
+++ b/scripts/expertise/expertise_sp_puncturing_strikes_3.py
@@ -1,52 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_puncturing_strikes_3')
-
- actor.addSkillMod('expertise_damage_line_sp_stealth_melee', 10)
- actor.addSkillMod('expertise_damage_line_sp_hd_melee', 10)
- actor.addSkillMod('expertise_damage_line_sp_stealth_ranged', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_puncturing_strikes_3')
-
- actor.removeSkillMod('expertise_damage_line_sp_stealth_melee', 10)
- actor.removeSkillMod('expertise_damage_line_sp_hd_melee', 10)
- actor.removeSkillMod('expertise_damage_line_sp_stealth_ranged', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_puncturing_strikes_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_puncturing_strikes_3")
return
diff --git a/scripts/expertise/expertise_sp_puncturing_strikes_4.py b/scripts/expertise/expertise_sp_puncturing_strikes_4.py
index 4ff64223..858d86c0 100644
--- a/scripts/expertise/expertise_sp_puncturing_strikes_4.py
+++ b/scripts/expertise/expertise_sp_puncturing_strikes_4.py
@@ -1,52 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_puncturing_strikes_4')
-
- actor.addSkillMod('expertise_damage_line_sp_stealth_melee', 10)
- actor.addSkillMod('expertise_damage_line_sp_hd_melee', 10)
- actor.addSkillMod('expertise_damage_line_sp_stealth_ranged', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_puncturing_strikes_4')
-
- actor.removeSkillMod('expertise_damage_line_sp_stealth_melee', 10)
- actor.removeSkillMod('expertise_damage_line_sp_hd_melee', 10)
- actor.removeSkillMod('expertise_damage_line_sp_stealth_ranged', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_puncturing_strikes_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_puncturing_strikes_4")
return
diff --git a/scripts/expertise/expertise_sp_quiet_steps_1.py b/scripts/expertise/expertise_sp_quiet_steps_1.py
index bf0844a0..a9ffb99e 100644
--- a/scripts/expertise/expertise_sp_quiet_steps_1.py
+++ b/scripts/expertise/expertise_sp_quiet_steps_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_quiet_steps_1')
-
- actor.addSkillMod('expertise_avoidance_overpower', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_quiet_steps_1')
-
- actor.removeSkillMod('expertise_avoidance_overpower', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_quiet_steps_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_quiet_steps_1")
return
diff --git a/scripts/expertise/expertise_sp_quiet_steps_2.py b/scripts/expertise/expertise_sp_quiet_steps_2.py
index e9cee417..9dc38491 100644
--- a/scripts/expertise/expertise_sp_quiet_steps_2.py
+++ b/scripts/expertise/expertise_sp_quiet_steps_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_quiet_steps_2')
-
- actor.addSkillMod('expertise_avoidance_overpower', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_quiet_steps_2')
-
- actor.removeSkillMod('expertise_avoidance_overpower', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_quiet_steps_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_quiet_steps_2")
return
diff --git a/scripts/expertise/expertise_sp_rapid_concealment_1.py b/scripts/expertise/expertise_sp_rapid_concealment_1.py
index a2e0ad1a..a9c2efb4 100644
--- a/scripts/expertise/expertise_sp_rapid_concealment_1.py
+++ b/scripts/expertise/expertise_sp_rapid_concealment_1.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_rapid_concealment_1')
-
- actor.addSkillMod('expertise_cooldown_line_sp_smoke', 30)
- actor.addSkillMod('expertise_cooldown_line_sp_burst_shadows', 30)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_rapid_concealment_1')
-
- actor.removeSkillMod('expertise_cooldown_line_sp_smoke', 30)
- actor.removeSkillMod('expertise_cooldown_line_sp_burst_shadows', 30)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_rapid_concealment_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_rapid_concealment_1")
return
diff --git a/scripts/expertise/expertise_sp_rapid_concealment_2.py b/scripts/expertise/expertise_sp_rapid_concealment_2.py
index 7ab413ab..5397db2e 100644
--- a/scripts/expertise/expertise_sp_rapid_concealment_2.py
+++ b/scripts/expertise/expertise_sp_rapid_concealment_2.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_rapid_concealment_2')
-
- actor.addSkillMod('expertise_cooldown_line_sp_smoke', 30)
- actor.addSkillMod('expertise_cooldown_line_sp_burst_shadows', 30)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_rapid_concealment_2')
-
- actor.removeSkillMod('expertise_cooldown_line_sp_smoke', 30)
- actor.removeSkillMod('expertise_cooldown_line_sp_burst_shadows', 30)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_rapid_concealment_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_rapid_concealment_2")
return
diff --git a/scripts/expertise/expertise_sp_rapid_concealment_3.py b/scripts/expertise/expertise_sp_rapid_concealment_3.py
index d8cc0332..ce36df91 100644
--- a/scripts/expertise/expertise_sp_rapid_concealment_3.py
+++ b/scripts/expertise/expertise_sp_rapid_concealment_3.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_rapid_concealment_3')
-
- actor.addSkillMod('expertise_cooldown_line_sp_smoke', 30)
- actor.addSkillMod('expertise_cooldown_line_sp_burst_shadows', 30)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_rapid_concealment_3')
-
- actor.removeSkillMod('expertise_cooldown_line_sp_smoke', 30)
- actor.removeSkillMod('expertise_cooldown_line_sp_burst_shadows', 30)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_rapid_concealment_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_rapid_concealment_3")
return
diff --git a/scripts/expertise/expertise_sp_rapid_concealment_4.py b/scripts/expertise/expertise_sp_rapid_concealment_4.py
index 179d007a..1b0d16bc 100644
--- a/scripts/expertise/expertise_sp_rapid_concealment_4.py
+++ b/scripts/expertise/expertise_sp_rapid_concealment_4.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_rapid_concealment_4')
-
- actor.addSkillMod('expertise_cooldown_line_sp_smoke', 30)
- actor.addSkillMod('expertise_cooldown_line_sp_burst_shadows', 30)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_rapid_concealment_4')
-
- actor.removeSkillMod('expertise_cooldown_line_sp_smoke', 30)
- actor.removeSkillMod('expertise_cooldown_line_sp_burst_shadows', 30)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_rapid_concealment_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_rapid_concealment_4")
return
diff --git a/scripts/expertise/expertise_sp_resonance.py b/scripts/expertise/expertise_sp_resonance.py
index 1f0fd64c..815f559a 100644
--- a/scripts/expertise/expertise_sp_resonance.py
+++ b/scripts/expertise/expertise_sp_resonance.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_resonance')
-
- actor.addSkillMod('expertise_onstrikethrough_proc_sp_resonance', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_resonance')
-
- actor.removeSkillMod('expertise_onstrikethrough_proc_sp_resonance', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_resonance")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_resonance")
return
diff --git a/scripts/expertise/expertise_sp_reveal_shadows_1.py b/scripts/expertise/expertise_sp_reveal_shadows_1.py
index 12bd2510..94e45084 100644
--- a/scripts/expertise/expertise_sp_reveal_shadows_1.py
+++ b/scripts/expertise/expertise_sp_reveal_shadows_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_reveal_shadows_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_reveal_shadows_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('sp_reveal_shadows')
-
+ actor.addAbility("sp_reveal_shadows")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('sp_reveal_shadows')
-
+ actor.removeAbility("sp_reveal_shadows")
return
diff --git a/scripts/expertise/expertise_sp_run_its_course_1.py b/scripts/expertise/expertise_sp_run_its_course_1.py
index 15365503..5534253b 100644
--- a/scripts/expertise/expertise_sp_run_its_course_1.py
+++ b/scripts/expertise/expertise_sp_run_its_course_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_run_its_course_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_run_its_course_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('sp_run_its_course')
-
+ actor.addAbility("sp_run_its_course")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('sp_run_its_course')
-
+ actor.removeAbility("sp_run_its_course")
return
diff --git a/scripts/expertise/expertise_sp_savagery.py b/scripts/expertise/expertise_sp_savagery.py
index fce6867c..b8522cc2 100644
--- a/scripts/expertise/expertise_sp_savagery.py
+++ b/scripts/expertise/expertise_sp_savagery.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_savagery')
-
- actor.addSkillMod('expertise_oncrit_proc_sp_savagery', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_savagery')
-
- actor.removeSkillMod('expertise_oncrit_proc_sp_savagery', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_savagery")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_savagery")
return
diff --git a/scripts/expertise/expertise_sp_shadows_embrace_1.py b/scripts/expertise/expertise_sp_shadows_embrace_1.py
index 8acb23d6..b0e83dee 100644
--- a/scripts/expertise/expertise_sp_shadows_embrace_1.py
+++ b/scripts/expertise/expertise_sp_shadows_embrace_1.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_shadows_embrace_1')
-
- actor.addSkillMod('expertise_buff_duration_line_sp_burst_shadows', 2)
- actor.addSkillMod('expertise_cooldown_line_sp_burst_shadows', 30)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_shadows_embrace_1')
-
- actor.removeSkillMod('expertise_buff_duration_line_sp_burst_shadows', 2)
- actor.removeSkillMod('expertise_cooldown_line_sp_burst_shadows', 30)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_shadows_embrace_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_shadows_embrace_1")
return
diff --git a/scripts/expertise/expertise_sp_shadows_embrace_2.py b/scripts/expertise/expertise_sp_shadows_embrace_2.py
index 7f894561..ccd8c71e 100644
--- a/scripts/expertise/expertise_sp_shadows_embrace_2.py
+++ b/scripts/expertise/expertise_sp_shadows_embrace_2.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_shadows_embrace_2')
-
- actor.addSkillMod('expertise_buff_duration_line_sp_burst_shadows', 2)
- actor.addSkillMod('expertise_cooldown_line_sp_burst_shadows', 30)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_shadows_embrace_2')
-
- actor.removeSkillMod('expertise_buff_duration_line_sp_burst_shadows', 2)
- actor.removeSkillMod('expertise_cooldown_line_sp_burst_shadows', 30)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_shadows_embrace_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_shadows_embrace_2")
return
diff --git a/scripts/expertise/expertise_sp_shadows_embrace_3.py b/scripts/expertise/expertise_sp_shadows_embrace_3.py
index ab5023c0..ac459d05 100644
--- a/scripts/expertise/expertise_sp_shadows_embrace_3.py
+++ b/scripts/expertise/expertise_sp_shadows_embrace_3.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_shadows_embrace_3')
-
- actor.addSkillMod('expertise_buff_duration_line_sp_burst_shadows', 2)
- actor.addSkillMod('expertise_cooldown_line_sp_burst_shadows', 30)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_shadows_embrace_3')
-
- actor.removeSkillMod('expertise_buff_duration_line_sp_burst_shadows', 2)
- actor.removeSkillMod('expertise_cooldown_line_sp_burst_shadows', 30)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_shadows_embrace_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_shadows_embrace_3")
return
diff --git a/scripts/expertise/expertise_sp_shadows_embrace_4.py b/scripts/expertise/expertise_sp_shadows_embrace_4.py
index a98522ee..ef6195ea 100644
--- a/scripts/expertise/expertise_sp_shadows_embrace_4.py
+++ b/scripts/expertise/expertise_sp_shadows_embrace_4.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_shadows_embrace_4')
-
- actor.addSkillMod('expertise_buff_duration_line_sp_burst_shadows', 2)
- actor.addSkillMod('expertise_cooldown_line_sp_burst_shadows', 30)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_shadows_embrace_4')
-
- actor.removeSkillMod('expertise_buff_duration_line_sp_burst_shadows', 2)
- actor.removeSkillMod('expertise_cooldown_line_sp_burst_shadows', 30)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_shadows_embrace_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_shadows_embrace_4")
return
diff --git a/scripts/expertise/expertise_sp_shifty_setup_1.py b/scripts/expertise/expertise_sp_shifty_setup_1.py
index 90865851..76bf26d8 100644
--- a/scripts/expertise/expertise_sp_shifty_setup_1.py
+++ b/scripts/expertise/expertise_sp_shifty_setup_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_shifty_setup_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_shifty_setup_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('sp_shifty_setup')
-
+ actor.addAbility("sp_shifty_setup")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('sp_shifty_setup')
-
+ actor.removeAbility("sp_shifty_setup")
return
diff --git a/scripts/expertise/expertise_sp_smoke_mirrors.py b/scripts/expertise/expertise_sp_smoke_mirrors.py
index 5e88dd3e..4b720c0a 100644
--- a/scripts/expertise/expertise_sp_smoke_mirrors.py
+++ b/scripts/expertise/expertise_sp_smoke_mirrors.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_smoke_mirrors')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_smoke_mirrors')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
- actor.addAbility('sp_smoke_mirrors')
-
+ actor.addAbility("sp_smoke_mirrors")
return
def removeAbilities(core, actor, player):
-
- actor.removeAbility('sp_smoke_mirrors')
-
+ actor.removeAbility("sp_smoke_mirrors")
return
diff --git a/scripts/expertise/expertise_sp_smoke_screen_1.py b/scripts/expertise/expertise_sp_smoke_screen_1.py
index 1deb5789..b3e851b3 100644
--- a/scripts/expertise/expertise_sp_smoke_screen_1.py
+++ b/scripts/expertise/expertise_sp_smoke_screen_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_smoke_screen_1')
-
- actor.addSkillMod('expertise_movement_buff_invis_sp_buff_invis_1', -10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_smoke_screen_1')
-
- actor.removeSkillMod('expertise_movement_buff_invis_sp_buff_invis_1', -10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_smoke_screen_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_smoke_screen_1")
return
diff --git a/scripts/expertise/expertise_sp_smoke_screen_2.py b/scripts/expertise/expertise_sp_smoke_screen_2.py
index e091741b..2873cd10 100644
--- a/scripts/expertise/expertise_sp_smoke_screen_2.py
+++ b/scripts/expertise/expertise_sp_smoke_screen_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_smoke_screen_2')
-
- actor.addSkillMod('expertise_movement_buff_invis_sp_buff_invis_1', -10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_smoke_screen_2')
-
- actor.removeSkillMod('expertise_movement_buff_invis_sp_buff_invis_1', -10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_smoke_screen_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_smoke_screen_2")
return
diff --git a/scripts/expertise/expertise_sp_smoke_screen_3.py b/scripts/expertise/expertise_sp_smoke_screen_3.py
index c8ba6991..57be23e9 100644
--- a/scripts/expertise/expertise_sp_smoke_screen_3.py
+++ b/scripts/expertise/expertise_sp_smoke_screen_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_smoke_screen_3')
-
- actor.addSkillMod('expertise_movement_buff_invis_sp_buff_invis_1', -10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_smoke_screen_3')
-
- actor.removeSkillMod('expertise_movement_buff_invis_sp_buff_invis_1', -10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_smoke_screen_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_smoke_screen_3")
return
diff --git a/scripts/expertise/expertise_sp_smoke_screen_4.py b/scripts/expertise/expertise_sp_smoke_screen_4.py
index f4f00aa4..0ec9ab54 100644
--- a/scripts/expertise/expertise_sp_smoke_screen_4.py
+++ b/scripts/expertise/expertise_sp_smoke_screen_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_smoke_screen_4')
-
- actor.addSkillMod('expertise_movement_buff_invis_sp_buff_invis_1', -10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_smoke_screen_4')
-
- actor.removeSkillMod('expertise_movement_buff_invis_sp_buff_invis_1', -10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_smoke_screen_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_smoke_screen_4")
return
diff --git a/scripts/expertise/expertise_sp_steup_1.py b/scripts/expertise/expertise_sp_steup_1.py
index b039c564..80eed675 100644
--- a/scripts/expertise/expertise_sp_steup_1.py
+++ b/scripts/expertise/expertise_sp_steup_1.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_steup_1')
-
- actor.addSkillMod('expertise_action_line_sp_stealth_melee', 5)
- actor.addSkillMod('expertise_action_line_sp_stealth_ranged', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_steup_1')
-
- actor.removeSkillMod('expertise_action_line_sp_stealth_melee', 5)
- actor.removeSkillMod('expertise_action_line_sp_stealth_ranged', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_steup_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_steup_1")
return
diff --git a/scripts/expertise/expertise_sp_steup_2.py b/scripts/expertise/expertise_sp_steup_2.py
index 9450fa6a..3a6b451b 100644
--- a/scripts/expertise/expertise_sp_steup_2.py
+++ b/scripts/expertise/expertise_sp_steup_2.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_steup_2')
-
- actor.addSkillMod('expertise_action_line_sp_stealth_melee', 5)
- actor.addSkillMod('expertise_action_line_sp_stealth_ranged', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_steup_2')
-
- actor.removeSkillMod('expertise_action_line_sp_stealth_melee', 5)
- actor.removeSkillMod('expertise_action_line_sp_stealth_ranged', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_steup_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_steup_2")
return
diff --git a/scripts/expertise/expertise_sp_steup_3.py b/scripts/expertise/expertise_sp_steup_3.py
index d0b36017..3ab4f758 100644
--- a/scripts/expertise/expertise_sp_steup_3.py
+++ b/scripts/expertise/expertise_sp_steup_3.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_steup_3')
-
- actor.addSkillMod('expertise_action_line_sp_stealth_melee', 5)
- actor.addSkillMod('expertise_action_line_sp_stealth_ranged', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_steup_3')
-
- actor.removeSkillMod('expertise_action_line_sp_stealth_melee', 5)
- actor.removeSkillMod('expertise_action_line_sp_stealth_ranged', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_steup_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_steup_3")
return
diff --git a/scripts/expertise/expertise_sp_steup_4.py b/scripts/expertise/expertise_sp_steup_4.py
index dd9ce2f4..b2eb1e65 100644
--- a/scripts/expertise/expertise_sp_steup_4.py
+++ b/scripts/expertise/expertise_sp_steup_4.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_steup_4')
-
- actor.addSkillMod('expertise_action_line_sp_stealth_melee', 5)
- actor.addSkillMod('expertise_action_line_sp_stealth_ranged', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_steup_4')
-
- actor.removeSkillMod('expertise_action_line_sp_stealth_melee', 5)
- actor.removeSkillMod('expertise_action_line_sp_stealth_ranged', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_steup_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_steup_4")
return
diff --git a/scripts/expertise/expertise_sp_undercover_1.py b/scripts/expertise/expertise_sp_undercover_1.py
index 05754013..3c67e708 100644
--- a/scripts/expertise/expertise_sp_undercover_1.py
+++ b/scripts/expertise/expertise_sp_undercover_1.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_undercover_1')
-
- actor.addSkillMod('expertise_movement_buff_invis_sp_buff_invis_1', -5)
- actor.addSkillMod('expertise_movement_buff_invis_sp_buff_stealth_1', -20)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_undercover_1')
-
- actor.removeSkillMod('expertise_movement_buff_invis_sp_buff_invis_1', -5)
- actor.removeSkillMod('expertise_movement_buff_invis_sp_buff_stealth_1', -20)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_undercover_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_undercover_1")
return
diff --git a/scripts/expertise/expertise_sp_undercover_2.py b/scripts/expertise/expertise_sp_undercover_2.py
index 50edd523..b6660db2 100644
--- a/scripts/expertise/expertise_sp_undercover_2.py
+++ b/scripts/expertise/expertise_sp_undercover_2.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_undercover_2')
-
- actor.addSkillMod('expertise_movement_buff_invis_sp_buff_invis_1', -5)
- actor.addSkillMod('expertise_movement_buff_invis_sp_buff_stealth_1', -20)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_undercover_2')
-
- actor.removeSkillMod('expertise_movement_buff_invis_sp_buff_invis_1', -5)
- actor.removeSkillMod('expertise_movement_buff_invis_sp_buff_stealth_1', -20)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_undercover_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_undercover_2")
return
diff --git a/scripts/expertise/expertise_sp_undercover_3.py b/scripts/expertise/expertise_sp_undercover_3.py
index 23d181c5..39c4394d 100644
--- a/scripts/expertise/expertise_sp_undercover_3.py
+++ b/scripts/expertise/expertise_sp_undercover_3.py
@@ -1,50 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_undercover_3')
-
- actor.addSkillMod('expertise_movement_buff_invis_sp_buff_invis_1', -5)
- actor.addSkillMod('expertise_movement_buff_invis_sp_buff_stealth_1', -20)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_undercover_3')
-
- actor.removeSkillMod('expertise_movement_buff_invis_sp_buff_invis_1', -5)
- actor.removeSkillMod('expertise_movement_buff_invis_sp_buff_stealth_1', -20)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_undercover_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_undercover_3")
return
diff --git a/scripts/expertise/expertise_sp_vibrogenerator_1.py b/scripts/expertise/expertise_sp_vibrogenerator_1.py
index 90cb92c6..ed2f90ea 100644
--- a/scripts/expertise/expertise_sp_vibrogenerator_1.py
+++ b/scripts/expertise/expertise_sp_vibrogenerator_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_vibrogenerator_1')
-
- actor.addSkillMod('expertise_armor_neglect', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_vibrogenerator_1')
-
- actor.removeSkillMod('expertise_armor_neglect', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_vibrogenerator_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_vibrogenerator_1")
return
diff --git a/scripts/expertise/expertise_sp_vibrogenerator_2.py b/scripts/expertise/expertise_sp_vibrogenerator_2.py
index 4d047dc5..84e4e570 100644
--- a/scripts/expertise/expertise_sp_vibrogenerator_2.py
+++ b/scripts/expertise/expertise_sp_vibrogenerator_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_vibrogenerator_2')
-
- actor.addSkillMod('expertise_armor_neglect', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_vibrogenerator_2')
-
- actor.removeSkillMod('expertise_armor_neglect', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_vibrogenerator_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_vibrogenerator_2")
return
diff --git a/scripts/expertise/expertise_sp_vibrogenerator_3.py b/scripts/expertise/expertise_sp_vibrogenerator_3.py
index 810b8b4d..592cb4d4 100644
--- a/scripts/expertise/expertise_sp_vibrogenerator_3.py
+++ b/scripts/expertise/expertise_sp_vibrogenerator_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_vibrogenerator_3')
-
- actor.addSkillMod('expertise_armor_neglect', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_vibrogenerator_3')
-
- actor.removeSkillMod('expertise_armor_neglect', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_sp_vibrogenerator_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_sp_vibrogenerator_3")
return
diff --git a/scripts/expertise/expertise_sp_without_a_trace_1.py b/scripts/expertise/expertise_sp_without_a_trace_1.py
index 35327fdf..ebe2f8f3 100644
--- a/scripts/expertise/expertise_sp_without_a_trace_1.py
+++ b/scripts/expertise/expertise_sp_without_a_trace_1.py
@@ -1,46 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.addSkill('expertise_sp_without_a_trace_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'spy_1a':
- return
-
- actor.removeSkill('expertise_sp_without_a_trace_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("sp_without_a_trace")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("sp_without_a_trace")
return
diff --git a/scripts/expertise/expertise_structure_architect_advanced_theory_1.py b/scripts/expertise/expertise_structure_architect_advanced_theory_1.py
index 762a10ca..42e72115 100644
--- a/scripts/expertise/expertise_structure_architect_advanced_theory_1.py
+++ b/scripts/expertise/expertise_structure_architect_advanced_theory_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.addSkill('expertise_structure_architect_advanced_theory_1')
-
- actor.addSkillMod('structure_experimentation', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.removeSkill('expertise_structure_architect_advanced_theory_1')
-
- actor.removeSkillMod('structure_experimentation', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_structure_architect_theory_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_structure_architect_theory_1")
return
diff --git a/scripts/expertise/expertise_structure_architect_dexterity_1.py b/scripts/expertise/expertise_structure_architect_dexterity_1.py
index eaf875af..b3644dbd 100644
--- a/scripts/expertise/expertise_structure_architect_dexterity_1.py
+++ b/scripts/expertise/expertise_structure_architect_dexterity_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.addSkill('expertise_structure_architect_dexterity_1')
-
- actor.addSkillMod('structure_assembly', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.removeSkill('expertise_structure_architect_dexterity_1')
-
- actor.removeSkillMod('structure_assembly', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_structure_architect_dexterity_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_structure_architect_dexterity_1")
return
diff --git a/scripts/expertise/expertise_structure_architect_dexterity_2.py b/scripts/expertise/expertise_structure_architect_dexterity_2.py
index e3a98a3d..d87f7a01 100644
--- a/scripts/expertise/expertise_structure_architect_dexterity_2.py
+++ b/scripts/expertise/expertise_structure_architect_dexterity_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.addSkill('expertise_structure_architect_dexterity_2')
-
- actor.addSkillMod('structure_assembly', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.removeSkill('expertise_structure_architect_dexterity_2')
-
- actor.removeSkillMod('structure_assembly', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_structure_architect_dexterity_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_structure_architect_dexterity_2")
return
diff --git a/scripts/expertise/expertise_structure_architect_dexterity_3.py b/scripts/expertise/expertise_structure_architect_dexterity_3.py
index ca3b2d31..f07fb9ae 100644
--- a/scripts/expertise/expertise_structure_architect_dexterity_3.py
+++ b/scripts/expertise/expertise_structure_architect_dexterity_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.addSkill('expertise_structure_architect_dexterity_3')
-
- actor.addSkillMod('structure_assembly', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.removeSkill('expertise_structure_architect_dexterity_3')
-
- actor.removeSkillMod('structure_assembly', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_structure_architect_dexterity_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_structure_architect_dexterity_3")
return
diff --git a/scripts/expertise/expertise_structure_architect_dexterity_4.py b/scripts/expertise/expertise_structure_architect_dexterity_4.py
index a3d8534f..339e3773 100644
--- a/scripts/expertise/expertise_structure_architect_dexterity_4.py
+++ b/scripts/expertise/expertise_structure_architect_dexterity_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.addSkill('expertise_structure_architect_dexterity_4')
-
- actor.addSkillMod('structure_assembly', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.removeSkill('expertise_structure_architect_dexterity_4')
-
- actor.removeSkillMod('structure_assembly', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_structure_architect_dexterity_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_structure_architect_dexterity_4")
return
diff --git a/scripts/expertise/expertise_structure_architect_hypothesis_1.py b/scripts/expertise/expertise_structure_architect_hypothesis_1.py
index b5eafa01..7c1de09a 100644
--- a/scripts/expertise/expertise_structure_architect_hypothesis_1.py
+++ b/scripts/expertise/expertise_structure_architect_hypothesis_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.addSkill('expertise_structure_architect_hypothesis_1')
-
- actor.addSkillMod('expertise_experimentation_increase_architect', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.removeSkill('expertise_structure_architect_hypothesis_1')
-
- actor.removeSkillMod('expertise_experimentation_increase_architect', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_structure_architect_hypothesis_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_structure_architect_hypothesis_1")
return
diff --git a/scripts/expertise/expertise_structure_architect_hypothesis_2.py b/scripts/expertise/expertise_structure_architect_hypothesis_2.py
index ec83d7d4..e9acaf9b 100644
--- a/scripts/expertise/expertise_structure_architect_hypothesis_2.py
+++ b/scripts/expertise/expertise_structure_architect_hypothesis_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.addSkill('expertise_structure_architect_hypothesis_2')
-
- actor.addSkillMod('expertise_experimentation_increase_architect', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.removeSkill('expertise_structure_architect_hypothesis_2')
-
- actor.removeSkillMod('expertise_experimentation_increase_architect', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_structure_architect_hypothesis_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_structure_architect_hypothesis_2")
return
diff --git a/scripts/expertise/expertise_structure_architect_hypothesis_3.py b/scripts/expertise/expertise_structure_architect_hypothesis_3.py
index 15ddc720..b43dc039 100644
--- a/scripts/expertise/expertise_structure_architect_hypothesis_3.py
+++ b/scripts/expertise/expertise_structure_architect_hypothesis_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.addSkill('expertise_structure_architect_hypothesis_3')
-
- actor.addSkillMod('expertise_experimentation_increase_architect', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.removeSkill('expertise_structure_architect_hypothesis_3')
-
- actor.removeSkillMod('expertise_experimentation_increase_architect', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_structure_architect_hypothesis_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_structure_architect_hypothesis_3")
return
diff --git a/scripts/expertise/expertise_structure_architect_hypothesis_4.py b/scripts/expertise/expertise_structure_architect_hypothesis_4.py
index 00e33f1b..7a184294 100644
--- a/scripts/expertise/expertise_structure_architect_hypothesis_4.py
+++ b/scripts/expertise/expertise_structure_architect_hypothesis_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.addSkill('expertise_structure_architect_hypothesis_4')
-
- actor.addSkillMod('expertise_experimentation_increase_architect', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.removeSkill('expertise_structure_architect_hypothesis_4')
-
- actor.removeSkillMod('expertise_experimentation_increase_architect', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_structure_architect_hypothesis_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_structure_architect_hypothesis_4")
return
diff --git a/scripts/expertise/expertise_structure_architect_insight_1.py b/scripts/expertise/expertise_structure_architect_insight_1.py
index ff19b257..9ff69aa3 100644
--- a/scripts/expertise/expertise_structure_architect_insight_1.py
+++ b/scripts/expertise/expertise_structure_architect_insight_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.addSkill('expertise_structure_architect_insight_1')
-
- actor.addSkillMod('expertise_complexity_decrease_architect', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.removeSkill('expertise_structure_architect_insight_1')
-
- actor.removeSkillMod('expertise_complexity_decrease_architect', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_structure_architect_insight_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_structure_architect_insight_1")
return
diff --git a/scripts/expertise/expertise_structure_architect_insight_2.py b/scripts/expertise/expertise_structure_architect_insight_2.py
index e48c07f5..b5acc5e0 100644
--- a/scripts/expertise/expertise_structure_architect_insight_2.py
+++ b/scripts/expertise/expertise_structure_architect_insight_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.addSkill('expertise_structure_architect_insight_2')
-
- actor.addSkillMod('expertise_complexity_decrease_architect', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.removeSkill('expertise_structure_architect_insight_2')
-
- actor.removeSkillMod('expertise_complexity_decrease_architect', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_structure_architect_insight_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_structure_architect_insight_2")
return
diff --git a/scripts/expertise/expertise_structure_architect_keen_understanding_1.py b/scripts/expertise/expertise_structure_architect_keen_understanding_1.py
index 1ff82037..5e63c078 100644
--- a/scripts/expertise/expertise_structure_architect_keen_understanding_1.py
+++ b/scripts/expertise/expertise_structure_architect_keen_understanding_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.addSkill('expertise_structure_architect_keen_understanding_1')
-
- actor.addSkillMod('expertise_complexity_decrease_architect', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.removeSkill('expertise_structure_architect_keen_understanding_1')
-
- actor.removeSkillMod('expertise_complexity_decrease_architect', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_structure_architect_keen_understanding_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_structure_architect_keen_understanding_1")
return
diff --git a/scripts/expertise/expertise_structure_architect_keen_understanding_2.py b/scripts/expertise/expertise_structure_architect_keen_understanding_2.py
index 552ebd65..a35ab95e 100644
--- a/scripts/expertise/expertise_structure_architect_keen_understanding_2.py
+++ b/scripts/expertise/expertise_structure_architect_keen_understanding_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.addSkill('expertise_structure_architect_keen_understanding_2')
-
- actor.addSkillMod('expertise_complexity_decrease_architect', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.removeSkill('expertise_structure_architect_keen_understanding_2')
-
- actor.removeSkillMod('expertise_complexity_decrease_architect', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_structure_architect_keen_understanding_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_structure_architect_keen_understanding_2")
return
diff --git a/scripts/expertise/expertise_structure_architect_schematic_1_1.py b/scripts/expertise/expertise_structure_architect_schematic_1_1.py
index 7ef6e4eb..77d60042 100644
--- a/scripts/expertise/expertise_structure_architect_schematic_1_1.py
+++ b/scripts/expertise/expertise_structure_architect_schematic_1_1.py
@@ -1,46 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.addSkill('expertise_structure_architect_schematic_1_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.removeSkill('expertise_structure_architect_schematic_1_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_structure_architect_schematic_1_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_structure_architect_schematic_1_1")
return
diff --git a/scripts/expertise/expertise_structure_architect_schematic_2_1.py b/scripts/expertise/expertise_structure_architect_schematic_2_1.py
index 7df673d9..9db9ab48 100644
--- a/scripts/expertise/expertise_structure_architect_schematic_2_1.py
+++ b/scripts/expertise/expertise_structure_architect_schematic_2_1.py
@@ -1,46 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.addSkill('expertise_structure_architect_schematic_2_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.removeSkill('expertise_structure_architect_schematic_2_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_structure_architect_schematic_2_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_structure_architect_schematic_2_1")
return
diff --git a/scripts/expertise/expertise_structure_artisan_advanced_theory_1.py b/scripts/expertise/expertise_structure_artisan_advanced_theory_1.py
index f2498949..59364e96 100644
--- a/scripts/expertise/expertise_structure_artisan_advanced_theory_1.py
+++ b/scripts/expertise/expertise_structure_artisan_advanced_theory_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.addSkill('expertise_structure_artisan_advanced_theory_1')
-
- actor.addSkillMod('general_experimentation', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.removeSkill('expertise_structure_artisan_advanced_theory_1')
-
- actor.removeSkillMod('general_experimentation', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_structure_artisan_advanced_theory_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_structure_artisan_advanced_theory_1")
return
diff --git a/scripts/expertise/expertise_structure_artisan_dexterity_1.py b/scripts/expertise/expertise_structure_artisan_dexterity_1.py
index 5dd3479f..6b4364cf 100644
--- a/scripts/expertise/expertise_structure_artisan_dexterity_1.py
+++ b/scripts/expertise/expertise_structure_artisan_dexterity_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.addSkill('expertise_structure_artisan_dexterity_1')
-
- actor.addSkillMod('general_assembly', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.removeSkill('expertise_structure_artisan_dexterity_1')
-
- actor.removeSkillMod('general_assembly', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_structure_artisan_dexterity_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_structure_artisan_dexterity_1")
return
diff --git a/scripts/expertise/expertise_structure_artisan_dexterity_2.py b/scripts/expertise/expertise_structure_artisan_dexterity_2.py
index 7390c520..e5bee87f 100644
--- a/scripts/expertise/expertise_structure_artisan_dexterity_2.py
+++ b/scripts/expertise/expertise_structure_artisan_dexterity_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.addSkill('expertise_structure_artisan_dexterity_2')
-
- actor.addSkillMod('general_assembly', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.removeSkill('expertise_structure_artisan_dexterity_2')
-
- actor.removeSkillMod('general_assembly', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_structure_artisan_dexterity_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_structure_artisan_dexterity_2")
return
diff --git a/scripts/expertise/expertise_structure_artisan_dexterity_3.py b/scripts/expertise/expertise_structure_artisan_dexterity_3.py
index 91971842..fb2b5c62 100644
--- a/scripts/expertise/expertise_structure_artisan_dexterity_3.py
+++ b/scripts/expertise/expertise_structure_artisan_dexterity_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.addSkill('expertise_structure_artisan_dexterity_3')
-
- actor.addSkillMod('general_assembly', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.removeSkill('expertise_structure_artisan_dexterity_3')
-
- actor.removeSkillMod('general_assembly', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_structure_artisan_dexterity_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_structure_artisan_dexterity_3")
return
diff --git a/scripts/expertise/expertise_structure_artisan_dexterity_4.py b/scripts/expertise/expertise_structure_artisan_dexterity_4.py
index 4cb0041e..c4fea7ab 100644
--- a/scripts/expertise/expertise_structure_artisan_dexterity_4.py
+++ b/scripts/expertise/expertise_structure_artisan_dexterity_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.addSkill('expertise_structure_artisan_dexterity_4')
-
- actor.addSkillMod('general_assembly', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.removeSkill('expertise_structure_artisan_dexterity_4')
-
- actor.removeSkillMod('general_assembly', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_structure_artisan_dexterity_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_structure_artisan_dexterity_4")
return
diff --git a/scripts/expertise/expertise_structure_artisan_hypothesis_1.py b/scripts/expertise/expertise_structure_artisan_hypothesis_1.py
index 18cbdb54..c5ec040c 100644
--- a/scripts/expertise/expertise_structure_artisan_hypothesis_1.py
+++ b/scripts/expertise/expertise_structure_artisan_hypothesis_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.addSkill('expertise_structure_artisan_hypothesis_1')
-
- actor.addSkillMod('expertise_experimentation_increase_artisan', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.removeSkill('expertise_structure_artisan_hypothesis_1')
-
- actor.removeSkillMod('expertise_experimentation_increase_artisan', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_structure_artisan_hypothesis_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_structure_artisan_hypothesis_1")
return
diff --git a/scripts/expertise/expertise_structure_artisan_hypothesis_2.py b/scripts/expertise/expertise_structure_artisan_hypothesis_2.py
index 1260a16f..c8803e0c 100644
--- a/scripts/expertise/expertise_structure_artisan_hypothesis_2.py
+++ b/scripts/expertise/expertise_structure_artisan_hypothesis_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.addSkill('expertise_structure_artisan_hypothesis_2')
-
- actor.addSkillMod('expertise_experimentation_increase_artisan', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.removeSkill('expertise_structure_artisan_hypothesis_2')
-
- actor.removeSkillMod('expertise_experimentation_increase_artisan', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_structure_artisan_hypothesis_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_structure_artisan_hypothesis_2")
return
diff --git a/scripts/expertise/expertise_structure_artisan_hypothesis_3.py b/scripts/expertise/expertise_structure_artisan_hypothesis_3.py
index 5101ccc2..0995112b 100644
--- a/scripts/expertise/expertise_structure_artisan_hypothesis_3.py
+++ b/scripts/expertise/expertise_structure_artisan_hypothesis_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.addSkill('expertise_structure_artisan_hypothesis_3')
-
- actor.addSkillMod('expertise_experimentation_increase_artisan', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.removeSkill('expertise_structure_artisan_hypothesis_3')
-
- actor.removeSkillMod('expertise_experimentation_increase_artisan', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_structure_artisan_hypothesis_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_structure_artisan_hypothesis_3")
return
diff --git a/scripts/expertise/expertise_structure_artisan_hypothesis_4.py b/scripts/expertise/expertise_structure_artisan_hypothesis_4.py
index ae1c642f..d5a30bc6 100644
--- a/scripts/expertise/expertise_structure_artisan_hypothesis_4.py
+++ b/scripts/expertise/expertise_structure_artisan_hypothesis_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.addSkill('expertise_structure_artisan_hypothesis_4')
-
- actor.addSkillMod('expertise_experimentation_increase_artisan', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.removeSkill('expertise_structure_artisan_hypothesis_4')
-
- actor.removeSkillMod('expertise_experimentation_increase_artisan', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_structure_artisan_hypothesis_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_structure_artisan_hypothesis_4")
return
diff --git a/scripts/expertise/expertise_structure_resource_processing_1.py b/scripts/expertise/expertise_structure_resource_processing_1.py
index 80444cc0..38475c6d 100644
--- a/scripts/expertise/expertise_structure_resource_processing_1.py
+++ b/scripts/expertise/expertise_structure_resource_processing_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.addSkill('expertise_structure_resource_processing_1')
-
- actor.addSkillMod('expertise_resource_quality_increase', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.removeSkill('expertise_structure_resource_processing_1')
-
- actor.removeSkillMod('expertise_resource_quality_increase', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_structure_resource_processing_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_structure_resource_processing_1")
return
diff --git a/scripts/expertise/expertise_structure_resource_processing_2.py b/scripts/expertise/expertise_structure_resource_processing_2.py
index 89253106..79d11128 100644
--- a/scripts/expertise/expertise_structure_resource_processing_2.py
+++ b/scripts/expertise/expertise_structure_resource_processing_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.addSkill('expertise_structure_resource_processing_2')
-
- actor.addSkillMod('expertise_resource_quality_increase', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.removeSkill('expertise_structure_resource_processing_2')
-
- actor.removeSkillMod('expertise_resource_quality_increase', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_structure_resource_processing_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_structure_resource_processing_2")
return
diff --git a/scripts/expertise/expertise_structure_resource_refinement_1.py b/scripts/expertise/expertise_structure_resource_refinement_1.py
index 948b3822..5b55ffb2 100644
--- a/scripts/expertise/expertise_structure_resource_refinement_1.py
+++ b/scripts/expertise/expertise_structure_resource_refinement_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.addSkill('expertise_structure_resource_refinement_1')
-
- actor.addSkillMod('expertise_resource_quality_increase', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.removeSkill('expertise_structure_resource_refinement_1')
-
- actor.removeSkillMod('expertise_resource_quality_increase', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_structure_resource_refinement_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_structure_resource_refinement_1")
return
diff --git a/scripts/expertise/expertise_structure_resource_refinement_2.py b/scripts/expertise/expertise_structure_resource_refinement_2.py
index bc8e7478..d9347d52 100644
--- a/scripts/expertise/expertise_structure_resource_refinement_2.py
+++ b/scripts/expertise/expertise_structure_resource_refinement_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.addSkill('expertise_structure_resource_refinement_2')
-
- actor.addSkillMod('expertise_resource_quality_increase', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.removeSkill('expertise_structure_resource_refinement_2')
-
- actor.removeSkillMod('expertise_resource_quality_increase', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_structure_resource_refinement_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_structure_resource_refinement_2")
return
diff --git a/scripts/expertise/expertise_structure_shipwright_advanced_theory_1.py b/scripts/expertise/expertise_structure_shipwright_advanced_theory_1.py
index 3ad59ca5..7077e0e4 100644
--- a/scripts/expertise/expertise_structure_shipwright_advanced_theory_1.py
+++ b/scripts/expertise/expertise_structure_shipwright_advanced_theory_1.py
@@ -1,60 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.addSkill('expertise_structure_shipwright_advanced_theory_1')
-
- actor.addSkillMod('chassis_experimentation', 10)
- actor.addSkillMod('weapon_systems_experimentation', 10)
- actor.addSkillMod('engine_experimentation', 10)
- actor.addSkillMod('booster_experimentation', 10)
- actor.addSkillMod('power_systems_experimentation', 10)
- actor.addSkillMod('shields_experimentation', 10)
- actor.addSkillMod('advanced_ship_experimentation', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.removeSkill('expertise_structure_shipwright_advanced_theory_1')
-
- actor.removeSkillMod('chassis_experimentation', 10)
- actor.removeSkillMod('weapon_systems_experimentation', 10)
- actor.removeSkillMod('engine_experimentation', 10)
- actor.removeSkillMod('booster_experimentation', 10)
- actor.removeSkillMod('power_systems_experimentation', 10)
- actor.removeSkillMod('shields_experimentation', 10)
- actor.removeSkillMod('advanced_ship_experimentation', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_structure_shipwright_advanced_theory_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_structure_shipwright_advanced_theory_1")
return
diff --git a/scripts/expertise/expertise_structure_shipwright_dexterity_1.py b/scripts/expertise/expertise_structure_shipwright_dexterity_1.py
index 210f669b..f3bd8da5 100644
--- a/scripts/expertise/expertise_structure_shipwright_dexterity_1.py
+++ b/scripts/expertise/expertise_structure_shipwright_dexterity_1.py
@@ -1,60 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.addSkill('expertise_structure_shipwright_dexterity_1')
-
- actor.addSkillMod('chassis_assembly', 5)
- actor.addSkillMod('engine_assembly', 5)
- actor.addSkillMod('booster_assembly', 5)
- actor.addSkillMod('power_systems', 5)
- actor.addSkillMod('weapon_systems', 5)
- actor.addSkillMod('shields_assembly', 5)
- actor.addSkillMod('advanced_assembly', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.removeSkill('expertise_structure_shipwright_dexterity_1')
-
- actor.removeSkillMod('chassis_assembly', 5)
- actor.removeSkillMod('engine_assembly', 5)
- actor.removeSkillMod('booster_assembly', 5)
- actor.removeSkillMod('power_systems', 5)
- actor.removeSkillMod('weapon_systems', 5)
- actor.removeSkillMod('shields_assembly', 5)
- actor.removeSkillMod('advanced_assembly', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_structure_shipwright_dexterity_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_structure_shipwright_dexterity_1")
return
diff --git a/scripts/expertise/expertise_structure_shipwright_dexterity_2.py b/scripts/expertise/expertise_structure_shipwright_dexterity_2.py
index b1bc4bd6..c242e7f8 100644
--- a/scripts/expertise/expertise_structure_shipwright_dexterity_2.py
+++ b/scripts/expertise/expertise_structure_shipwright_dexterity_2.py
@@ -1,60 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.addSkill('expertise_structure_shipwright_dexterity_2')
-
- actor.addSkillMod('chassis_assembly', 5)
- actor.addSkillMod('engine_assembly', 5)
- actor.addSkillMod('booster_assembly', 5)
- actor.addSkillMod('power_systems', 5)
- actor.addSkillMod('weapon_systems', 5)
- actor.addSkillMod('shields_assembly', 5)
- actor.addSkillMod('advanced_assembly', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.removeSkill('expertise_structure_shipwright_dexterity_2')
-
- actor.removeSkillMod('chassis_assembly', 5)
- actor.removeSkillMod('engine_assembly', 5)
- actor.removeSkillMod('booster_assembly', 5)
- actor.removeSkillMod('power_systems', 5)
- actor.removeSkillMod('weapon_systems', 5)
- actor.removeSkillMod('shields_assembly', 5)
- actor.removeSkillMod('advanced_assembly', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_structure_shipwright_dexterity_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_structure_shipwright_dexterity_2")
return
diff --git a/scripts/expertise/expertise_structure_shipwright_dexterity_3.py b/scripts/expertise/expertise_structure_shipwright_dexterity_3.py
index 09592b62..7690812b 100644
--- a/scripts/expertise/expertise_structure_shipwright_dexterity_3.py
+++ b/scripts/expertise/expertise_structure_shipwright_dexterity_3.py
@@ -1,60 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.addSkill('expertise_structure_shipwright_dexterity_3')
-
- actor.addSkillMod('chassis_assembly', 5)
- actor.addSkillMod('engine_assembly', 5)
- actor.addSkillMod('booster_assembly', 5)
- actor.addSkillMod('power_systems', 5)
- actor.addSkillMod('weapon_systems', 5)
- actor.addSkillMod('shields_assembly', 5)
- actor.addSkillMod('advanced_assembly', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.removeSkill('expertise_structure_shipwright_dexterity_3')
-
- actor.removeSkillMod('chassis_assembly', 5)
- actor.removeSkillMod('engine_assembly', 5)
- actor.removeSkillMod('booster_assembly', 5)
- actor.removeSkillMod('power_systems', 5)
- actor.removeSkillMod('weapon_systems', 5)
- actor.removeSkillMod('shields_assembly', 5)
- actor.removeSkillMod('advanced_assembly', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_structure_shipwright_dexterity_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_structure_shipwright_dexterity_3")
return
diff --git a/scripts/expertise/expertise_structure_shipwright_dexterity_4.py b/scripts/expertise/expertise_structure_shipwright_dexterity_4.py
index 242ccbd2..a63652c5 100644
--- a/scripts/expertise/expertise_structure_shipwright_dexterity_4.py
+++ b/scripts/expertise/expertise_structure_shipwright_dexterity_4.py
@@ -1,60 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.addSkill('expertise_structure_shipwright_dexterity_4')
-
- actor.addSkillMod('chassis_assembly', 5)
- actor.addSkillMod('engine_assembly', 5)
- actor.addSkillMod('booster_assembly', 5)
- actor.addSkillMod('power_systems', 5)
- actor.addSkillMod('weapon_systems', 5)
- actor.addSkillMod('shields_assembly', 5)
- actor.addSkillMod('advanced_assembly', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.removeSkill('expertise_structure_shipwright_dexterity_4')
-
- actor.removeSkillMod('chassis_assembly', 5)
- actor.removeSkillMod('engine_assembly', 5)
- actor.removeSkillMod('booster_assembly', 5)
- actor.removeSkillMod('power_systems', 5)
- actor.removeSkillMod('weapon_systems', 5)
- actor.removeSkillMod('shields_assembly', 5)
- actor.removeSkillMod('advanced_assembly', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_structure_shipwright_dexterity_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_structure_shipwright_dexterity_4")
return
diff --git a/scripts/expertise/expertise_structure_shipwright_hypothesis_1.py b/scripts/expertise/expertise_structure_shipwright_hypothesis_1.py
index 6fc0b225..65ef4ba2 100644
--- a/scripts/expertise/expertise_structure_shipwright_hypothesis_1.py
+++ b/scripts/expertise/expertise_structure_shipwright_hypothesis_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.addSkill('expertise_structure_shipwright_hypothesis_1')
-
- actor.addSkillMod('expertise_experimentation_increase_shipwright', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.removeSkill('expertise_structure_shipwright_hypothesis_1')
-
- actor.removeSkillMod('expertise_experimentation_increase_shipwright', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_structure_shipwright_hypothesis_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_structure_shipwright_hypothesis_1")
return
diff --git a/scripts/expertise/expertise_structure_shipwright_hypothesis_2.py b/scripts/expertise/expertise_structure_shipwright_hypothesis_2.py
index 101a7342..4ab8f864 100644
--- a/scripts/expertise/expertise_structure_shipwright_hypothesis_2.py
+++ b/scripts/expertise/expertise_structure_shipwright_hypothesis_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.addSkill('expertise_structure_shipwright_hypothesis_2')
-
- actor.addSkillMod('expertise_experimentation_increase_shipwright', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.removeSkill('expertise_structure_shipwright_hypothesis_2')
-
- actor.removeSkillMod('expertise_experimentation_increase_shipwright', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_structure_shipwright_hypothesis_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_structure_shipwright_hypothesis_2")
return
diff --git a/scripts/expertise/expertise_structure_shipwright_hypothesis_3.py b/scripts/expertise/expertise_structure_shipwright_hypothesis_3.py
index 2c00785c..af933c60 100644
--- a/scripts/expertise/expertise_structure_shipwright_hypothesis_3.py
+++ b/scripts/expertise/expertise_structure_shipwright_hypothesis_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.addSkill('expertise_structure_shipwright_hypothesis_3')
-
- actor.addSkillMod('expertise_experimentation_increase_shipwright', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.removeSkill('expertise_structure_shipwright_hypothesis_3')
-
- actor.removeSkillMod('expertise_experimentation_increase_shipwright', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_structure_shipwright_hypothesis_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_structure_shipwright_hypothesis_3")
return
diff --git a/scripts/expertise/expertise_structure_shipwright_hypothesis_4.py b/scripts/expertise/expertise_structure_shipwright_hypothesis_4.py
index d723697e..4b120a10 100644
--- a/scripts/expertise/expertise_structure_shipwright_hypothesis_4.py
+++ b/scripts/expertise/expertise_structure_shipwright_hypothesis_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.addSkill('expertise_structure_shipwright_hypothesis_4')
-
- actor.addSkillMod('expertise_experimentation_increase_shipwright', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.removeSkill('expertise_structure_shipwright_hypothesis_4')
-
- actor.removeSkillMod('expertise_experimentation_increase_shipwright', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_structure_shipwright_hypothesis_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_structure_shipwright_hypothesis_4")
return
diff --git a/scripts/expertise/expertise_structure_shipwright_insight_1.py b/scripts/expertise/expertise_structure_shipwright_insight_1.py
index 82b35892..43dd055e 100644
--- a/scripts/expertise/expertise_structure_shipwright_insight_1.py
+++ b/scripts/expertise/expertise_structure_shipwright_insight_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.addSkill('expertise_structure_shipwright_insight_1')
-
- actor.addSkillMod('expertise_complexity_decrease_shipwright', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.removeSkill('expertise_structure_shipwright_insight_1')
-
- actor.removeSkillMod('expertise_complexity_decrease_shipwright', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_structure_shipwright_insight_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_structure_shipwright_insight_1")
return
diff --git a/scripts/expertise/expertise_structure_shipwright_insight_2.py b/scripts/expertise/expertise_structure_shipwright_insight_2.py
index d50e67a5..0fe7dd52 100644
--- a/scripts/expertise/expertise_structure_shipwright_insight_2.py
+++ b/scripts/expertise/expertise_structure_shipwright_insight_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.addSkill('expertise_structure_shipwright_insight_2')
-
- actor.addSkillMod('expertise_complexity_decrease_shipwright', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.removeSkill('expertise_structure_shipwright_insight_2')
-
- actor.removeSkillMod('expertise_complexity_decrease_shipwright', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_structure_shipwright_insight_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_structure_shipwright_insight_2")
return
diff --git a/scripts/expertise/expertise_structure_shipwright_keen_understanding_1.py b/scripts/expertise/expertise_structure_shipwright_keen_understanding_1.py
index 06d07813..211217c1 100644
--- a/scripts/expertise/expertise_structure_shipwright_keen_understanding_1.py
+++ b/scripts/expertise/expertise_structure_shipwright_keen_understanding_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.addSkill('expertise_structure_shipwright_keen_understanding_1')
-
- actor.addSkillMod('expertise_complexity_decrease_shipwright', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.removeSkill('expertise_structure_shipwright_keen_understanding_1')
-
- actor.removeSkillMod('expertise_complexity_decrease_shipwright', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_structure_shipwright_keen_understanding_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_structure_shipwright_keen_understanding_1")
return
diff --git a/scripts/expertise/expertise_structure_shipwright_keen_understanding_2.py b/scripts/expertise/expertise_structure_shipwright_keen_understanding_2.py
index bd0f235a..c11a18a0 100644
--- a/scripts/expertise/expertise_structure_shipwright_keen_understanding_2.py
+++ b/scripts/expertise/expertise_structure_shipwright_keen_understanding_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.addSkill('expertise_structure_shipwright_keen_understanding_2')
-
- actor.addSkillMod('expertise_complexity_decrease_shipwright', 2)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.removeSkill('expertise_structure_shipwright_keen_understanding_2')
-
- actor.removeSkillMod('expertise_complexity_decrease_shipwright', 2)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_structure_shipwright_keen_understanding_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_structure_shipwright_keen_understanding_2")
return
diff --git a/scripts/expertise/expertise_structure_shipwright_schematic_1_1.py b/scripts/expertise/expertise_structure_shipwright_schematic_1_1.py
index 7e8de7a2..2cce7bef 100644
--- a/scripts/expertise/expertise_structure_shipwright_schematic_1_1.py
+++ b/scripts/expertise/expertise_structure_shipwright_schematic_1_1.py
@@ -1,46 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.addSkill('expertise_structure_shipwright_schematic_1_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.removeSkill('expertise_structure_shipwright_schematic_1_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_structure_shipwright_schmematic_1_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_structure_shipwright_schmematic_1_1")
return
diff --git a/scripts/expertise/expertise_structure_shipwright_schematic_2_1.py b/scripts/expertise/expertise_structure_shipwright_schematic_2_1.py
index 71c2d9b5..b23f6f2c 100644
--- a/scripts/expertise/expertise_structure_shipwright_schematic_2_1.py
+++ b/scripts/expertise/expertise_structure_shipwright_schematic_2_1.py
@@ -1,46 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.addSkill('expertise_structure_shipwright_schematic_2_1')
-
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_struct_1a':
- return
-
- actor.removeSkill('expertise_structure_shipwright_schematic_2_1')
-
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_structure_shipwright_schmematic_2_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_structure_shipwright_schmematic_2_1")
return
diff --git a/scripts/expertise/expertise_trader_business_accounting_1.py b/scripts/expertise/expertise_trader_business_accounting_1.py
index 79324ca3..115fc5cd 100644
--- a/scripts/expertise/expertise_trader_business_accounting_1.py
+++ b/scripts/expertise/expertise_trader_business_accounting_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.addSkill('expertise_trader_business_accounting_1')
-
- actor.addSkillMod('expertise_vendor_cost_decrease', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.removeSkill('expertise_trader_business_accounting_1')
-
- actor.removeSkillMod('expertise_vendor_cost_decrease', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_trader_business_accounting_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_trader_business_accounting_1")
return
diff --git a/scripts/expertise/expertise_trader_business_accounting_2.py b/scripts/expertise/expertise_trader_business_accounting_2.py
index 86469f30..24e5d569 100644
--- a/scripts/expertise/expertise_trader_business_accounting_2.py
+++ b/scripts/expertise/expertise_trader_business_accounting_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.addSkill('expertise_trader_business_accounting_2')
-
- actor.addSkillMod('expertise_vendor_cost_decrease', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.removeSkill('expertise_trader_business_accounting_2')
-
- actor.removeSkillMod('expertise_vendor_cost_decrease', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_trader_business_accounting_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_trader_business_accounting_2")
return
diff --git a/scripts/expertise/expertise_trader_business_accounting_3.py b/scripts/expertise/expertise_trader_business_accounting_3.py
index cc43a91d..d0d619c7 100644
--- a/scripts/expertise/expertise_trader_business_accounting_3.py
+++ b/scripts/expertise/expertise_trader_business_accounting_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.addSkill('expertise_trader_business_accounting_3')
-
- actor.addSkillMod('expertise_vendor_cost_decrease', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.removeSkill('expertise_trader_business_accounting_3')
-
- actor.removeSkillMod('expertise_vendor_cost_decrease', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_trader_business_accounting_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_trader_business_accounting_3")
return
diff --git a/scripts/expertise/expertise_trader_business_accounting_4.py b/scripts/expertise/expertise_trader_business_accounting_4.py
index 0c751506..62d4ef7a 100644
--- a/scripts/expertise/expertise_trader_business_accounting_4.py
+++ b/scripts/expertise/expertise_trader_business_accounting_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.addSkill('expertise_trader_business_accounting_4')
-
- actor.addSkillMod('expertise_vendor_cost_decrease', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.removeSkill('expertise_trader_business_accounting_4')
-
- actor.removeSkillMod('expertise_vendor_cost_decrease', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_trader_business_accounting_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_trader_business_accounting_4")
return
diff --git a/scripts/expertise/expertise_trader_factory_energy_1.py b/scripts/expertise/expertise_trader_factory_energy_1.py
index cd7525fc..0c42837e 100644
--- a/scripts/expertise/expertise_trader_factory_energy_1.py
+++ b/scripts/expertise/expertise_trader_factory_energy_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.addSkill('expertise_trader_factory_energy_1')
-
- actor.addSkillMod('expertise_factory_energy_decrease', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.removeSkill('expertise_trader_factory_energy_1')
-
- actor.removeSkillMod('expertise_factory_energy_decrease', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_trader_factory_energy_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_trader_factory_energy_1")
return
diff --git a/scripts/expertise/expertise_trader_factory_energy_2.py b/scripts/expertise/expertise_trader_factory_energy_2.py
index ab07aa02..5a89f344 100644
--- a/scripts/expertise/expertise_trader_factory_energy_2.py
+++ b/scripts/expertise/expertise_trader_factory_energy_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.addSkill('expertise_trader_factory_energy_2')
-
- actor.addSkillMod('expertise_factory_energy_decrease', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.removeSkill('expertise_trader_factory_energy_2')
-
- actor.removeSkillMod('expertise_factory_energy_decrease', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_trader_factory_energy_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_trader_factory_energy_2")
return
diff --git a/scripts/expertise/expertise_trader_factory_energy_3.py b/scripts/expertise/expertise_trader_factory_energy_3.py
index 04bac30c..998dd932 100644
--- a/scripts/expertise/expertise_trader_factory_energy_3.py
+++ b/scripts/expertise/expertise_trader_factory_energy_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.addSkill('expertise_trader_factory_energy_3')
-
- actor.addSkillMod('expertise_factory_energy_decrease', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.removeSkill('expertise_trader_factory_energy_3')
-
- actor.removeSkillMod('expertise_factory_energy_decrease', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_trader_factory_energy_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_trader_factory_energy_3")
return
diff --git a/scripts/expertise/expertise_trader_factory_energy_4.py b/scripts/expertise/expertise_trader_factory_energy_4.py
index b2012ebc..dbed8294 100644
--- a/scripts/expertise/expertise_trader_factory_energy_4.py
+++ b/scripts/expertise/expertise_trader_factory_energy_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.addSkill('expertise_trader_factory_energy_4')
-
- actor.addSkillMod('expertise_factory_energy_decrease', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.removeSkill('expertise_trader_factory_energy_4')
-
- actor.removeSkillMod('expertise_factory_energy_decrease', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_trader_factory_energy_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_trader_factory_energy_4")
return
diff --git a/scripts/expertise/expertise_trader_factory_maintenance_1.py b/scripts/expertise/expertise_trader_factory_maintenance_1.py
index 539c8406..cc4ea7c8 100644
--- a/scripts/expertise/expertise_trader_factory_maintenance_1.py
+++ b/scripts/expertise/expertise_trader_factory_maintenance_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.addSkill('expertise_trader_factory_maintenance_1')
-
- actor.addSkillMod('expertise_factory_maintenance_decrease', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.removeSkill('expertise_trader_factory_maintenance_1')
-
- actor.removeSkillMod('expertise_factory_maintenance_decrease', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_trader_factory_maintenance_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_trader_factory_maintenance_1")
return
diff --git a/scripts/expertise/expertise_trader_factory_maintenance_2.py b/scripts/expertise/expertise_trader_factory_maintenance_2.py
index 917acca1..701595a4 100644
--- a/scripts/expertise/expertise_trader_factory_maintenance_2.py
+++ b/scripts/expertise/expertise_trader_factory_maintenance_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.addSkill('expertise_trader_factory_maintenance_2')
-
- actor.addSkillMod('expertise_factory_maintenance_decrease', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.removeSkill('expertise_trader_factory_maintenance_2')
-
- actor.removeSkillMod('expertise_factory_maintenance_decrease', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_trader_factory_maintenance_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_trader_factory_maintenance_2")
return
diff --git a/scripts/expertise/expertise_trader_factory_maintenance_3.py b/scripts/expertise/expertise_trader_factory_maintenance_3.py
index 58fdaa1d..f192b2e5 100644
--- a/scripts/expertise/expertise_trader_factory_maintenance_3.py
+++ b/scripts/expertise/expertise_trader_factory_maintenance_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.addSkill('expertise_trader_factory_maintenance_3')
-
- actor.addSkillMod('expertise_factory_maintenance_decrease', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.removeSkill('expertise_trader_factory_maintenance_3')
-
- actor.removeSkillMod('expertise_factory_maintenance_decrease', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_trader_factory_maintenance_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_trader_factory_maintenance_3")
return
diff --git a/scripts/expertise/expertise_trader_factory_maintenance_4.py b/scripts/expertise/expertise_trader_factory_maintenance_4.py
index 51f4dff6..2af47dac 100644
--- a/scripts/expertise/expertise_trader_factory_maintenance_4.py
+++ b/scripts/expertise/expertise_trader_factory_maintenance_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.addSkill('expertise_trader_factory_maintenance_4')
-
- actor.addSkillMod('expertise_factory_maintenance_decrease', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.removeSkill('expertise_trader_factory_maintenance_4')
-
- actor.removeSkillMod('expertise_factory_maintenance_decrease', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_trader_factory_maintenance_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_trader_factory_maintenance_4")
return
diff --git a/scripts/expertise/expertise_trader_factory_production_1.py b/scripts/expertise/expertise_trader_factory_production_1.py
index 9f82bcae..1d1f755b 100644
--- a/scripts/expertise/expertise_trader_factory_production_1.py
+++ b/scripts/expertise/expertise_trader_factory_production_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.addSkill('expertise_trader_factory_production_1')
-
- actor.addSkillMod('factory_speed', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.removeSkill('expertise_trader_factory_production_1')
-
- actor.removeSkillMod('factory_speed', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_trader_factory_production_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_trader_factory_production_1")
return
diff --git a/scripts/expertise/expertise_trader_factory_production_2.py b/scripts/expertise/expertise_trader_factory_production_2.py
index 97a69abe..8feb2585 100644
--- a/scripts/expertise/expertise_trader_factory_production_2.py
+++ b/scripts/expertise/expertise_trader_factory_production_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.addSkill('expertise_trader_factory_production_2')
-
- actor.addSkillMod('factory_speed', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.removeSkill('expertise_trader_factory_production_2')
-
- actor.removeSkillMod('factory_speed', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_trader_factory_production_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_trader_factory_production_2")
return
diff --git a/scripts/expertise/expertise_trader_harvester_collection_1.py b/scripts/expertise/expertise_trader_harvester_collection_1.py
index f509b4ce..3b7b2f6e 100644
--- a/scripts/expertise/expertise_trader_harvester_collection_1.py
+++ b/scripts/expertise/expertise_trader_harvester_collection_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.addSkill('expertise_trader_harvester_collection_1')
-
- actor.addSkillMod('expertise_harvester_collection_increase', 20)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.removeSkill('expertise_trader_harvester_collection_1')
-
- actor.removeSkillMod('expertise_harvester_collection_increase', 20)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_trader_harvester_collection_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_trader_harvester_collection_1")
return
diff --git a/scripts/expertise/expertise_trader_harvester_collection_2.py b/scripts/expertise/expertise_trader_harvester_collection_2.py
index fb287890..1959a0fb 100644
--- a/scripts/expertise/expertise_trader_harvester_collection_2.py
+++ b/scripts/expertise/expertise_trader_harvester_collection_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.addSkill('expertise_trader_harvester_collection_2')
-
- actor.addSkillMod('expertise_harvester_collection_increase', 10)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.removeSkill('expertise_trader_harvester_collection_2')
-
- actor.removeSkillMod('expertise_harvester_collection_increase', 10)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_trader_harvester_collection_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_trader_harvester_collection_2")
return
diff --git a/scripts/expertise/expertise_trader_harvester_energy_1.py b/scripts/expertise/expertise_trader_harvester_energy_1.py
index b0a7f738..ef79a694 100644
--- a/scripts/expertise/expertise_trader_harvester_energy_1.py
+++ b/scripts/expertise/expertise_trader_harvester_energy_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.addSkill('expertise_trader_harvester_energy_1')
-
- actor.addSkillMod('expertise_harvester_energy_decrease', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.removeSkill('expertise_trader_harvester_energy_1')
-
- actor.removeSkillMod('expertise_harvester_energy_decrease', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_trader_harvester_energy_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_trader_harvester_energy_1")
return
diff --git a/scripts/expertise/expertise_trader_harvester_energy_2.py b/scripts/expertise/expertise_trader_harvester_energy_2.py
index d6822bed..6ae294a9 100644
--- a/scripts/expertise/expertise_trader_harvester_energy_2.py
+++ b/scripts/expertise/expertise_trader_harvester_energy_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.addSkill('expertise_trader_harvester_energy_2')
-
- actor.addSkillMod('expertise_harvester_energy_decrease', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.removeSkill('expertise_trader_harvester_energy_2')
-
- actor.removeSkillMod('expertise_harvester_energy_decrease', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_trader_harvester_energy_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_trader_harvester_energy_2")
return
diff --git a/scripts/expertise/expertise_trader_harvester_energy_3.py b/scripts/expertise/expertise_trader_harvester_energy_3.py
index 35e85782..247b53c3 100644
--- a/scripts/expertise/expertise_trader_harvester_energy_3.py
+++ b/scripts/expertise/expertise_trader_harvester_energy_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.addSkill('expertise_trader_harvester_energy_3')
-
- actor.addSkillMod('expertise_harvester_energy_decrease', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.removeSkill('expertise_trader_harvester_energy_3')
-
- actor.removeSkillMod('expertise_harvester_energy_decrease', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_trader_harvester_energy_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_trader_harvester_energy_3")
return
diff --git a/scripts/expertise/expertise_trader_harvester_energy_4.py b/scripts/expertise/expertise_trader_harvester_energy_4.py
index f7132f84..8d6225be 100644
--- a/scripts/expertise/expertise_trader_harvester_energy_4.py
+++ b/scripts/expertise/expertise_trader_harvester_energy_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.addSkill('expertise_trader_harvester_energy_4')
-
- actor.addSkillMod('expertise_harvester_energy_decrease', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.removeSkill('expertise_trader_harvester_energy_4')
-
- actor.removeSkillMod('expertise_harvester_energy_decrease', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_trader_harvester_energy_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_trader_harvester_energy_4")
return
diff --git a/scripts/expertise/expertise_trader_harvester_maintenance_1.py b/scripts/expertise/expertise_trader_harvester_maintenance_1.py
index 0dbf85ca..da891720 100644
--- a/scripts/expertise/expertise_trader_harvester_maintenance_1.py
+++ b/scripts/expertise/expertise_trader_harvester_maintenance_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.addSkill('expertise_trader_harvester_maintenance_1')
-
- actor.addSkillMod('expertise_harvester_maintenance_decrease', 4)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.removeSkill('expertise_trader_harvester_maintenance_1')
-
- actor.removeSkillMod('expertise_harvester_maintenance_decrease', 4)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_trader_harvester_maintenance_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_trader_harvester_maintenance_1")
return
diff --git a/scripts/expertise/expertise_trader_harvester_maintenance_2.py b/scripts/expertise/expertise_trader_harvester_maintenance_2.py
index e581d20d..fd1f96cd 100644
--- a/scripts/expertise/expertise_trader_harvester_maintenance_2.py
+++ b/scripts/expertise/expertise_trader_harvester_maintenance_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.addSkill('expertise_trader_harvester_maintenance_2')
-
- actor.addSkillMod('expertise_harvester_maintenance_decrease', 4)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.removeSkill('expertise_trader_harvester_maintenance_2')
-
- actor.removeSkillMod('expertise_harvester_maintenance_decrease', 4)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_trader_harvester_maintenance_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_trader_harvester_maintenance_2")
return
diff --git a/scripts/expertise/expertise_trader_harvester_maintenance_3.py b/scripts/expertise/expertise_trader_harvester_maintenance_3.py
index 85c77180..d1d62f39 100644
--- a/scripts/expertise/expertise_trader_harvester_maintenance_3.py
+++ b/scripts/expertise/expertise_trader_harvester_maintenance_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.addSkill('expertise_trader_harvester_maintenance_3')
-
- actor.addSkillMod('expertise_harvester_maintenance_decrease', 4)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.removeSkill('expertise_trader_harvester_maintenance_3')
-
- actor.removeSkillMod('expertise_harvester_maintenance_decrease', 4)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_trader_harvester_maintenance_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_trader_harvester_maintenance_3")
return
diff --git a/scripts/expertise/expertise_trader_harvester_maintenance_4.py b/scripts/expertise/expertise_trader_harvester_maintenance_4.py
index e04f5f73..54e4b04e 100644
--- a/scripts/expertise/expertise_trader_harvester_maintenance_4.py
+++ b/scripts/expertise/expertise_trader_harvester_maintenance_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.addSkill('expertise_trader_harvester_maintenance_4')
-
- actor.addSkillMod('expertise_harvester_maintenance_decrease', 4)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.removeSkill('expertise_trader_harvester_maintenance_4')
-
- actor.removeSkillMod('expertise_harvester_maintenance_decrease', 4)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_trader_harvester_maintenance_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_trader_harvester_maintenance_4")
return
diff --git a/scripts/expertise/expertise_trader_harvester_storage_1.py b/scripts/expertise/expertise_trader_harvester_storage_1.py
index ad6c85ee..a1a9c7c8 100644
--- a/scripts/expertise/expertise_trader_harvester_storage_1.py
+++ b/scripts/expertise/expertise_trader_harvester_storage_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.addSkill('expertise_trader_harvester_storage_1')
-
- actor.addSkillMod('expertise_havester_storage_increase', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.removeSkill('expertise_trader_harvester_storage_1')
-
- actor.removeSkillMod('expertise_havester_storage_increase', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_trader_harvester_storage_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_trader_harvester_storage_1")
return
diff --git a/scripts/expertise/expertise_trader_harvester_storage_2.py b/scripts/expertise/expertise_trader_harvester_storage_2.py
index 9ac213e9..4f4dc914 100644
--- a/scripts/expertise/expertise_trader_harvester_storage_2.py
+++ b/scripts/expertise/expertise_trader_harvester_storage_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.addSkill('expertise_trader_harvester_storage_2')
-
- actor.addSkillMod('expertise_havester_storage_increase', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.removeSkill('expertise_trader_harvester_storage_2')
-
- actor.removeSkillMod('expertise_havester_storage_increase', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_trader_harvester_storage_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_trader_harvester_storage_2")
return
diff --git a/scripts/expertise/expertise_trader_harvester_storage_3.py b/scripts/expertise/expertise_trader_harvester_storage_3.py
index 1c2abe57..d0c04a3d 100644
--- a/scripts/expertise/expertise_trader_harvester_storage_3.py
+++ b/scripts/expertise/expertise_trader_harvester_storage_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.addSkill('expertise_trader_harvester_storage_3')
-
- actor.addSkillMod('expertise_havester_storage_increase', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.removeSkill('expertise_trader_harvester_storage_3')
-
- actor.removeSkillMod('expertise_havester_storage_increase', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_trader_harvester_storage_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_trader_harvester_storage_3")
return
diff --git a/scripts/expertise/expertise_trader_harvester_storage_4.py b/scripts/expertise/expertise_trader_harvester_storage_4.py
index 9abc452b..6e2b769b 100644
--- a/scripts/expertise/expertise_trader_harvester_storage_4.py
+++ b/scripts/expertise/expertise_trader_harvester_storage_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.addSkill('expertise_trader_harvester_storage_4')
-
- actor.addSkillMod('expertise_havester_storage_increase', 3)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.removeSkill('expertise_trader_harvester_storage_4')
-
- actor.removeSkillMod('expertise_havester_storage_increase', 3)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_trader_harvester_storage_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_trader_harvester_storage_4")
return
diff --git a/scripts/expertise/expertise_trader_personnel_management_1.py b/scripts/expertise/expertise_trader_personnel_management_1.py
index 9e618df1..e44aba53 100644
--- a/scripts/expertise/expertise_trader_personnel_management_1.py
+++ b/scripts/expertise/expertise_trader_personnel_management_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.addSkill('expertise_trader_personnel_management_1')
-
- actor.addSkillMod('manage_vendor', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.removeSkill('expertise_trader_personnel_management_1')
-
- actor.removeSkillMod('manage_vendor', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_trader_personnel_management_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_trader_personnel_management_1")
return
diff --git a/scripts/expertise/expertise_trader_personnel_management_2.py b/scripts/expertise/expertise_trader_personnel_management_2.py
index 465e9b8e..064d6415 100644
--- a/scripts/expertise/expertise_trader_personnel_management_2.py
+++ b/scripts/expertise/expertise_trader_personnel_management_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.addSkill('expertise_trader_personnel_management_2')
-
- actor.addSkillMod('manage_vendor', 1)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.removeSkill('expertise_trader_personnel_management_2')
-
- actor.removeSkillMod('manage_vendor', 1)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_trader_personnel_management_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_trader_personnel_management_2")
return
diff --git a/scripts/expertise/expertise_trader_reverse_engineering_1.py b/scripts/expertise/expertise_trader_reverse_engineering_1.py
index 6c6a1599..26f209bc 100644
--- a/scripts/expertise/expertise_trader_reverse_engineering_1.py
+++ b/scripts/expertise/expertise_trader_reverse_engineering_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.addSkill('expertise_trader_reverse_engineering_1')
-
- actor.addSkillMod('expertise_reverse_engineering_bonus', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.removeSkill('expertise_trader_reverse_engineering_1')
-
- actor.removeSkillMod('expertise_reverse_engineering_bonus', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_trader_reverse_engineering_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_trader_reverse_engineering_1")
return
diff --git a/scripts/expertise/expertise_trader_reverse_engineering_2.py b/scripts/expertise/expertise_trader_reverse_engineering_2.py
index a0716403..2192e020 100644
--- a/scripts/expertise/expertise_trader_reverse_engineering_2.py
+++ b/scripts/expertise/expertise_trader_reverse_engineering_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.addSkill('expertise_trader_reverse_engineering_2')
-
- actor.addSkillMod('expertise_reverse_engineering_bonus', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.removeSkill('expertise_trader_reverse_engineering_2')
-
- actor.removeSkillMod('expertise_reverse_engineering_bonus', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_trader_reverse_engineering_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_trader_reverse_engineering_2")
return
diff --git a/scripts/expertise/expertise_trader_sampling_collection_1.py b/scripts/expertise/expertise_trader_sampling_collection_1.py
index cb6861b2..4935bf9d 100644
--- a/scripts/expertise/expertise_trader_sampling_collection_1.py
+++ b/scripts/expertise/expertise_trader_sampling_collection_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.addSkill('expertise_trader_sampling_collection_1')
-
- actor.addSkillMod('expertise_resource_sampling_increase', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.removeSkill('expertise_trader_sampling_collection_1')
-
- actor.removeSkillMod('expertise_resource_sampling_increase', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_trader_sampling_collection_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_trader_sampling_collection_1")
return
diff --git a/scripts/expertise/expertise_trader_sampling_collection_2.py b/scripts/expertise/expertise_trader_sampling_collection_2.py
index f1c55a3d..1fa225fc 100644
--- a/scripts/expertise/expertise_trader_sampling_collection_2.py
+++ b/scripts/expertise/expertise_trader_sampling_collection_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.addSkill('expertise_trader_sampling_collection_2')
-
- actor.addSkillMod('expertise_resource_sampling_increase', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.removeSkill('expertise_trader_sampling_collection_2')
-
- actor.removeSkillMod('expertise_resource_sampling_increase', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_trader_sampling_collection_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_trader_sampling_collection_2")
return
diff --git a/scripts/expertise/expertise_trader_sampling_collection_3.py b/scripts/expertise/expertise_trader_sampling_collection_3.py
index b6a31585..9a7a1174 100644
--- a/scripts/expertise/expertise_trader_sampling_collection_3.py
+++ b/scripts/expertise/expertise_trader_sampling_collection_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.addSkill('expertise_trader_sampling_collection_3')
-
- actor.addSkillMod('expertise_resource_sampling_increase', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.removeSkill('expertise_trader_sampling_collection_3')
-
- actor.removeSkillMod('expertise_resource_sampling_increase', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_trader_sampling_collection_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_trader_sampling_collection_3")
return
diff --git a/scripts/expertise/expertise_trader_sampling_collection_4.py b/scripts/expertise/expertise_trader_sampling_collection_4.py
index 08805c30..158ca5da 100644
--- a/scripts/expertise/expertise_trader_sampling_collection_4.py
+++ b/scripts/expertise/expertise_trader_sampling_collection_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.addSkill('expertise_trader_sampling_collection_4')
-
- actor.addSkillMod('expertise_resource_sampling_increase', 25)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.removeSkill('expertise_trader_sampling_collection_4')
-
- actor.removeSkillMod('expertise_resource_sampling_increase', 25)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_trader_sampling_collection_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_trader_sampling_collection_4")
return
diff --git a/scripts/expertise/expertise_trader_sampling_efficiency_1.py b/scripts/expertise/expertise_trader_sampling_efficiency_1.py
index 0722f5bb..2f4c90f2 100644
--- a/scripts/expertise/expertise_trader_sampling_efficiency_1.py
+++ b/scripts/expertise/expertise_trader_sampling_efficiency_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.addSkill('expertise_trader_sampling_efficiency_1')
-
- actor.addSkillMod('expertise_resource_sampling_time_decrease', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.removeSkill('expertise_trader_sampling_efficiency_1')
-
- actor.removeSkillMod('expertise_resource_sampling_time_decrease', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_trader_sampling_efficiency_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_trader_sampling_efficiency_1")
return
diff --git a/scripts/expertise/expertise_trader_sampling_efficiency_2.py b/scripts/expertise/expertise_trader_sampling_efficiency_2.py
index c9043c3f..f197eff0 100644
--- a/scripts/expertise/expertise_trader_sampling_efficiency_2.py
+++ b/scripts/expertise/expertise_trader_sampling_efficiency_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.addSkill('expertise_trader_sampling_efficiency_2')
-
- actor.addSkillMod('expertise_resource_sampling_time_decrease', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.removeSkill('expertise_trader_sampling_efficiency_2')
-
- actor.removeSkillMod('expertise_resource_sampling_time_decrease', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_trader_sampling_efficiency_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_trader_sampling_efficiency_2")
return
diff --git a/scripts/expertise/expertise_trader_sampling_efficiency_3.py b/scripts/expertise/expertise_trader_sampling_efficiency_3.py
index 2d3d621c..cf2e5c0c 100644
--- a/scripts/expertise/expertise_trader_sampling_efficiency_3.py
+++ b/scripts/expertise/expertise_trader_sampling_efficiency_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.addSkill('expertise_trader_sampling_efficiency_3')
-
- actor.addSkillMod('expertise_resource_sampling_time_decrease', 5)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.removeSkill('expertise_trader_sampling_efficiency_3')
-
- actor.removeSkillMod('expertise_resource_sampling_time_decrease', 5)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_trader_sampling_efficiency_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_trader_sampling_efficiency_3")
return
diff --git a/scripts/expertise/expertise_trader_warehousing_1.py b/scripts/expertise/expertise_trader_warehousing_1.py
index c865daf6..9ca8b894 100644
--- a/scripts/expertise/expertise_trader_warehousing_1.py
+++ b/scripts/expertise/expertise_trader_warehousing_1.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.addSkill('expertise_trader_warehousing_1')
-
- actor.addSkillMod('vendor_item_limit', 50)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.removeSkill('expertise_trader_warehousing_1')
-
- actor.removeSkillMod('vendor_item_limit', 50)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_trader_trader_warehousing_1")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_trader_trader_warehousing_1")
return
diff --git a/scripts/expertise/expertise_trader_warehousing_2.py b/scripts/expertise/expertise_trader_warehousing_2.py
index 99f6db9d..5541c71e 100644
--- a/scripts/expertise/expertise_trader_warehousing_2.py
+++ b/scripts/expertise/expertise_trader_warehousing_2.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.addSkill('expertise_trader_warehousing_2')
-
- actor.addSkillMod('vendor_item_limit', 50)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.removeSkill('expertise_trader_warehousing_2')
-
- actor.removeSkillMod('vendor_item_limit', 50)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_trader_trader_warehousing_2")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_trader_trader_warehousing_2")
return
diff --git a/scripts/expertise/expertise_trader_warehousing_3.py b/scripts/expertise/expertise_trader_warehousing_3.py
index 19d00373..eb1dc350 100644
--- a/scripts/expertise/expertise_trader_warehousing_3.py
+++ b/scripts/expertise/expertise_trader_warehousing_3.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.addSkill('expertise_trader_warehousing_3')
-
- actor.addSkillMod('vendor_item_limit', 50)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.removeSkill('expertise_trader_warehousing_3')
-
- actor.removeSkillMod('vendor_item_limit', 50)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_trader_trader_warehousing_3")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_trader_trader_warehousing_3")
return
diff --git a/scripts/expertise/expertise_trader_warehousing_4.py b/scripts/expertise/expertise_trader_warehousing_4.py
index cb2f936c..96495edd 100644
--- a/scripts/expertise/expertise_trader_warehousing_4.py
+++ b/scripts/expertise/expertise_trader_warehousing_4.py
@@ -1,48 +1,9 @@
import sys
-def addExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.addSkill('expertise_trader_warehousing_4')
-
- actor.addSkillMod('vendor_item_limit', 50)
-
- addAbilities(core, actor, player)
-
- return
-
-def removeExpertisePoint(core, actor):
-
- player = actor.getSlottedObject('ghost')
-
- if not player:
- return
-
- if not player.getProfession() == 'trader_1a':
- return
-
- actor.removeSkill('expertise_trader_warehousing_4')
-
- actor.removeSkillMod('vendor_item_limit', 50)
-
- removeAbilities(core, actor, player)
-
- return
-
-# this checks what abilities the player gets by level, need to also call this on level-up
def addAbilities(core, actor, player):
-
-
+ actor.addAbility("expertise_trader_trader_warehousing_4")
return
def removeAbilities(core, actor, player):
-
-
+ actor.removeAbility("expertise_trader_trader_warehousing_4")
return
diff --git a/scripts/houses/player_house_corellia_small_style_01.py b/scripts/houses/player_house_corellia_small_style_01.py
new file mode 100644
index 00000000..71a4efb8
--- /dev/null
+++ b/scripts/houses/player_house_corellia_small_style_01.py
@@ -0,0 +1,14 @@
+import sys
+from services.housing import HouseTemplate
+from engine.resources.scene import Point3D
+
+def setup(core):
+ houseTemplate = HouseTemplate("object/tangible/deed/player_house_deed/shared_corellia_house_small_deed.iff", "object/building/player/shared_player_house_corellia_small_style_01.iff", 2)
+
+ houseTemplate.addBuildingSign("object/tangible/sign/player/shared_house_address.iff", Point3D(1, 2, 3))
+ houseTemplate.addPlaceablePlanet("corellia")
+ houseTemplate.addPlaceablePlanet("talus")
+ houseTemplate.setDefaultItemLimit(200)
+
+ core.housingService.addHousingTemplate(houseTemplate)
+ return
\ No newline at end of file
diff --git a/scripts/houses/player_house_corellia_small_style_01_floorplan_02.py b/scripts/houses/player_house_corellia_small_style_01_floorplan_02.py
new file mode 100644
index 00000000..4e6231e1
--- /dev/null
+++ b/scripts/houses/player_house_corellia_small_style_01_floorplan_02.py
@@ -0,0 +1,14 @@
+import sys
+from services.housing import HouseTemplate
+from engine.resources.scene import Point3D
+
+def setup(core):
+ houseTemplate = HouseTemplate("object/tangible/deed/player_house_deed/shared_corellia_house_small_floor_02_deed.iff", "object/building/player/shared_player_house_corellia_small_style_01_floorplan_02.iff", 2)
+
+ houseTemplate.addBuildingSign("object/tangible/sign/player/shared_house_address.iff", Point3D(1, 2, 3))
+ houseTemplate.addPlaceablePlanet("corellia")
+ houseTemplate.addPlaceablePlanet("talus")
+ houseTemplate.setDefaultItemLimit(200)
+
+ core.housingService.addHousingTemplate(houseTemplate)
+ return
\ No newline at end of file
diff --git a/scripts/houses/player_house_corellia_small_style_02.py b/scripts/houses/player_house_corellia_small_style_02.py
new file mode 100644
index 00000000..7cb2d6cc
--- /dev/null
+++ b/scripts/houses/player_house_corellia_small_style_02.py
@@ -0,0 +1,14 @@
+import sys
+from services.housing import HouseTemplate
+from engine.resources.scene import Point3D
+
+def setup(core):
+ houseTemplate = HouseTemplate("object/tangible/deed/player_house_deed/shared_corellia_house_small_style_02_deed.iff", "object/building/player/shared_player_house_corellia_small_style_02.iff", 2)
+
+ houseTemplate.addBuildingSign("object/tangible/sign/player/shared_house_address.iff", Point3D(1, 2, 3))
+ houseTemplate.addPlaceablePlanet("corellia")
+ houseTemplate.addPlaceablePlanet("talus")
+ houseTemplate.setDefaultItemLimit(200)
+
+ core.housingService.addHousingTemplate(houseTemplate)
+ return
\ No newline at end of file
diff --git a/scripts/houses/player_house_corellia_small_style_02_floorplan_02.py b/scripts/houses/player_house_corellia_small_style_02_floorplan_02.py
new file mode 100644
index 00000000..6c52f8c9
--- /dev/null
+++ b/scripts/houses/player_house_corellia_small_style_02_floorplan_02.py
@@ -0,0 +1,14 @@
+import sys
+from services.housing import HouseTemplate
+from engine.resources.scene import Point3D
+
+def setup(core):
+ houseTemplate = HouseTemplate("object/tangible/deed/player_house_deed/shared_corellia_house_small_style_02_floor_02_deed.iff", "object/building/player/shared_player_house_corellia_small_style_02_floorplan_02.iff", 2)
+
+ houseTemplate.addBuildingSign("object/tangible/sign/player/shared_house_address.iff", Point3D(1, 2, 3))
+ houseTemplate.addPlaceablePlanet("corellia")
+ houseTemplate.addPlaceablePlanet("talus")
+ houseTemplate.setDefaultItemLimit(200)
+
+ core.housingService.addHousingTemplate(houseTemplate)
+ return
\ No newline at end of file
diff --git a/scripts/houses/player_house_generic_small_style_01.py b/scripts/houses/player_house_generic_small_style_01.py
new file mode 100644
index 00000000..3b1f0a4c
--- /dev/null
+++ b/scripts/houses/player_house_generic_small_style_01.py
@@ -0,0 +1,19 @@
+import sys
+from services.housing import HouseTemplate
+from engine.resources.scene import Point3D
+
+def setup(core):
+ houseTemplate = HouseTemplate("object/tangible/deed/player_house_deed/shared_generic_house_small_deed.iff", "object/building/player/shared_player_house_generic_small_style_01.iff", 2)
+
+ houseTemplate.addBuildingSign("object/tangible/sign/player/shared_house_address.iff", Point3D(1, 2, 3))
+ houseTemplate.addPlaceablePlanet("tatooine")
+ houseTemplate.addPlaceablePlanet("corellia")
+ houseTemplate.addPlaceablePlanet("naboo")
+ houseTemplate.addPlaceablePlanet("talus")
+ houseTemplate.addPlaceablePlanet("rori")
+ houseTemplate.addPlaceablePlanet("dantooine")
+ houseTemplate.addPlaceablePlanet("lok")
+ houseTemplate.setDefaultItemLimit(200)
+
+ core.housingService.addHousingTemplate(houseTemplate)
+ return
\ No newline at end of file
diff --git a/scripts/houses/player_house_generic_small_style_01_floorplan_02.py b/scripts/houses/player_house_generic_small_style_01_floorplan_02.py
new file mode 100644
index 00000000..b1fc020f
--- /dev/null
+++ b/scripts/houses/player_house_generic_small_style_01_floorplan_02.py
@@ -0,0 +1,19 @@
+import sys
+from services.housing import HouseTemplate
+from engine.resources.scene import Point3D
+
+def setup(core):
+ houseTemplate = HouseTemplate("object/tangible/deed/player_house_deed/shared_generic_house_small_floor_02_deed.iff", "object/building/player/shared_player_house_generic_small_style_01_floorplan_02.iff", 2)
+
+ houseTemplate.addBuildingSign("object/tangible/sign/player/shared_house_address.iff", Point3D(1, 2, 3))
+ houseTemplate.addPlaceablePlanet("tatooine")
+ houseTemplate.addPlaceablePlanet("corellia")
+ houseTemplate.addPlaceablePlanet("naboo")
+ houseTemplate.addPlaceablePlanet("talus")
+ houseTemplate.addPlaceablePlanet("rori")
+ houseTemplate.addPlaceablePlanet("dantooine")
+ houseTemplate.addPlaceablePlanet("lok")
+ houseTemplate.setDefaultItemLimit(200)
+
+ core.housingService.addHousingTemplate(houseTemplate)
+ return
\ No newline at end of file
diff --git a/scripts/houses/player_house_generic_small_style_02.py b/scripts/houses/player_house_generic_small_style_02.py
new file mode 100644
index 00000000..4df4319c
--- /dev/null
+++ b/scripts/houses/player_house_generic_small_style_02.py
@@ -0,0 +1,19 @@
+import sys
+from services.housing import HouseTemplate
+from engine.resources.scene import Point3D
+
+def setup(core):
+ houseTemplate = HouseTemplate("object/tangible/deed/player_house_deed/shared_generic_house_small_style_02_deed.iff", "object/building/player/shared_player_house_generic_small_style_02.iff", 2)
+
+ houseTemplate.addBuildingSign("object/tangible/sign/player/shared_house_address.iff", Point3D(1, 2, 3))
+ houseTemplate.addPlaceablePlanet("tatooine")
+ houseTemplate.addPlaceablePlanet("corellia")
+ houseTemplate.addPlaceablePlanet("naboo")
+ houseTemplate.addPlaceablePlanet("talus")
+ houseTemplate.addPlaceablePlanet("rori")
+ houseTemplate.addPlaceablePlanet("dantooine")
+ houseTemplate.addPlaceablePlanet("lok")
+ houseTemplate.setDefaultItemLimit(200)
+
+ core.housingService.addHousingTemplate(houseTemplate)
+ return
\ No newline at end of file
diff --git a/scripts/instances/heroic_exar_kun.py b/scripts/instances/heroic_exar_kun.py
new file mode 100644
index 00000000..d961fee0
--- /dev/null
+++ b/scripts/instances/heroic_exar_kun.py
@@ -0,0 +1,53 @@
+import sys
+import services.InstanceService.Instance
+
+def getTerrain():
+ return 'terrain/dungeon1.trn'
+
+def getBuilding():
+ return 'object/building/heroic/shared_exar_kun_tomb.iff'
+
+def getCellId():
+ return 1
+
+def getSpawnPosition(position):
+ position.x = float(-11.918457)
+ position.y = float(0.601063)
+ position.z = float(-125.692871)
+ return
+
+def getDuration():
+ return 120
+
+# NK lockout time was 30 minutes. Most instances were 0 and got reset at 12AM PTC.
+def getLockoutTime():
+ return 0
+
+def getExitTerrain():
+ return 'terrain/yavin4.trn'
+
+def getExitPosition(position):
+ position.x = float(5097)
+ position.y = float(0)
+ position.z = float(5537)
+ return
+
+# Called on instance creation to spawn npcs and objects.
+def setup(core, instance):
+ return
+
+# Called when there is a new participant added to the instance.
+def add(core, instance, actor):
+ return
+
+# Called when a participant is removed from the instance.
+def remove(core, instance, actor):
+ return
+
+# Any operations that need to be carried out regularly
+def run(core, instance):
+ return
+
+# Called on instance destruction to destroy the instance.
+def destroy(core, instance):
+ return
\ No newline at end of file
diff --git a/scripts/instances/heroic_star_destroyer.py b/scripts/instances/heroic_star_destroyer.py
new file mode 100644
index 00000000..2109ea39
--- /dev/null
+++ b/scripts/instances/heroic_star_destroyer.py
@@ -0,0 +1,53 @@
+import sys
+import services.InstanceService.Instance
+
+def getTerrain():
+ return 'terrain/dungeon1.trn'
+
+def getBuilding():
+ return 'object/building/general/shared_space_dungeon_star_destroyer.iff'
+
+def getCellId():
+ return 36
+
+def getSpawnPosition(position):
+ position.x = float(0)
+ position.y = float(173.834625)
+ position.z = float(30)
+ return
+
+def getDuration():
+ return 120
+
+# NK lockout time was 30 minutes. Most instances were 0 and got reset at 12AM PTC.
+def getLockoutTime():
+ return 0
+
+def getExitTerrain():
+ return 'terrain/corellia.trn'
+
+def getExitPosition(position):
+ position.x = float(-131)
+ position.y = float(0)
+ position.z = float(-4723)
+ return
+
+# Called on instance creation to spawn npcs and objects.
+def setup(core, instance):
+ return
+
+# Called when there is a new participant added to the instance.
+def add(core, instance, actor):
+ return
+
+# Called when a participant is removed from the instance.
+def remove(core, instance, actor):
+ return
+
+# Any operations that need to be carried out regularly
+def run(core, instance):
+ return
+
+# Called on instance destruction to destroy the instance.
+def destroy(core, instance):
+ return
\ No newline at end of file
diff --git a/scripts/loot/lootItems/armor/composite_armor_bicep_left.py b/scripts/loot/lootItems/armor/composite_armor_bicep_left.py
new file mode 100644
index 00000000..d5089e38
--- /dev/null
+++ b/scripts/loot/lootItems/armor/composite_armor_bicep_left.py
@@ -0,0 +1,31 @@
+
+def itemTemplate():
+
+ return ['object/tangible/wearables/armor/composite/shared_armor_composite_bicep_l.iff']
+
+def customItemName():
+
+ return 'Composite Armor Left Bicep'
+
+def customItemStackCount():
+
+ return 1
+
+def customizationAttributes():
+
+ return []
+
+def customizationValues():
+
+ return []
+
+def itemStats():
+
+ stats = ['armor_efficiency_kinetic','5000','6800']
+ stats += ['armor_efficiency_energy','3000','4800']
+ stats += ['special_protection_heat','4000','5800']
+ stats += ['special_protection_cold','4000','5800']
+ stats += ['special_protection_acid','4000','5800']
+ stats += ['special_protection_electricity','4000','5800']
+
+ return stats
diff --git a/scripts/loot/lootItems/armor/composite_armor_bicep_right.py b/scripts/loot/lootItems/armor/composite_armor_bicep_right.py
new file mode 100644
index 00000000..5e04243e
--- /dev/null
+++ b/scripts/loot/lootItems/armor/composite_armor_bicep_right.py
@@ -0,0 +1,31 @@
+
+def itemTemplate():
+
+ return ['object/tangible/wearables/armor/composite/shared_armor_composite_bicep_r.iff']
+
+def customItemName():
+
+ return 'Composite Armor Right Bicep'
+
+def customItemStackCount():
+
+ return 1
+
+def customizationAttributes():
+
+ return []
+
+def customizationValues():
+
+ return []
+
+def itemStats():
+
+ stats = ['armor_efficiency_kinetic','5000','6800']
+ stats += ['armor_efficiency_energy','3000','4800']
+ stats += ['special_protection_heat','4000','5800']
+ stats += ['special_protection_cold','4000','5800']
+ stats += ['special_protection_acid','4000','5800']
+ stats += ['special_protection_electricity','4000','5800']
+
+ return stats
diff --git a/scripts/loot/lootItems/armor/composite_armor_boots.py b/scripts/loot/lootItems/armor/composite_armor_boots.py
new file mode 100644
index 00000000..f996bfa7
--- /dev/null
+++ b/scripts/loot/lootItems/armor/composite_armor_boots.py
@@ -0,0 +1,31 @@
+
+def itemTemplate():
+
+ return ['object/tangible/wearables/armor/composite/shared_armor_composite_boots.iff']
+
+def customItemName():
+
+ return 'Composite Armor Boots'
+
+def customItemStackCount():
+
+ return 1
+
+def customizationAttributes():
+
+ return []
+
+def customizationValues():
+
+ return []
+
+def itemStats():
+
+ stats = ['armor_efficiency_kinetic','5000','6800']
+ stats += ['armor_efficiency_energy','3000','4800']
+ stats += ['special_protection_heat','4000','5800']
+ stats += ['special_protection_cold','4000','5800']
+ stats += ['special_protection_acid','4000','5800']
+ stats += ['special_protection_electricity','4000','5800']
+
+ return stats
diff --git a/scripts/loot/lootItems/armor/composite_armor_bracer_left.py b/scripts/loot/lootItems/armor/composite_armor_bracer_left.py
new file mode 100644
index 00000000..7d805114
--- /dev/null
+++ b/scripts/loot/lootItems/armor/composite_armor_bracer_left.py
@@ -0,0 +1,31 @@
+
+def itemTemplate():
+
+ return ['object/tangible/wearables/armor/composite/shared_armor_composite_bracer_l.iff']
+
+def customItemName():
+
+ return 'Composite Armor Bracer Left'
+
+def customItemStackCount():
+
+ return 1
+
+def customizationAttributes():
+
+ return []
+
+def customizationValues():
+
+ return []
+
+def itemStats():
+
+ stats = ['armor_efficiency_kinetic','5000','6800']
+ stats += ['armor_efficiency_energy','3000','4800']
+ stats += ['special_protection_heat','4000','5800']
+ stats += ['special_protection_cold','4000','5800']
+ stats += ['special_protection_acid','4000','5800']
+ stats += ['special_protection_electricity','4000','5800']
+
+ return stats
diff --git a/scripts/loot/lootItems/armor/composite_armor_bracer_right.py b/scripts/loot/lootItems/armor/composite_armor_bracer_right.py
new file mode 100644
index 00000000..deb22a6c
--- /dev/null
+++ b/scripts/loot/lootItems/armor/composite_armor_bracer_right.py
@@ -0,0 +1,31 @@
+
+def itemTemplate():
+
+ return ['object/tangible/wearables/armor/composite/shared_armor_composite_bracer_r.iff']
+
+def customItemName():
+
+ return 'Composite Armor Bracer Right'
+
+def customItemStackCount():
+
+ return 1
+
+def customizationAttributes():
+
+ return []
+
+def customizationValues():
+
+ return []
+
+def itemStats():
+
+ stats = ['armor_efficiency_kinetic','5000','6800']
+ stats += ['armor_efficiency_energy','3000','4800']
+ stats += ['special_protection_heat','4000','5800']
+ stats += ['special_protection_cold','4000','5800']
+ stats += ['special_protection_acid','4000','5800']
+ stats += ['special_protection_electricity','4000','5800']
+
+ return stats
diff --git a/scripts/loot/lootItems/armor/composite_armor_chestplate.py b/scripts/loot/lootItems/armor/composite_armor_chestplate.py
new file mode 100644
index 00000000..b569da42
--- /dev/null
+++ b/scripts/loot/lootItems/armor/composite_armor_chestplate.py
@@ -0,0 +1,31 @@
+
+def itemTemplate():
+
+ return ['object/tangible/wearables/armor/composite/shared_armor_composite_chest_plate.iff']
+
+def customItemName():
+
+ return 'Composite Armor Chestplate'
+
+def customItemStackCount():
+
+ return 1
+
+def customizationAttributes():
+
+ return []
+
+def customizationValues():
+
+ return []
+
+def itemStats():
+
+ stats = ['armor_efficiency_kinetic','5000','6800']
+ stats += ['armor_efficiency_energy','3000','4800']
+ stats += ['special_protection_heat','4000','5800']
+ stats += ['special_protection_cold','4000','5800']
+ stats += ['special_protection_acid','4000','5800']
+ stats += ['special_protection_electricity','4000','5800']
+
+ return stats
diff --git a/scripts/loot/lootItems/armor/composite_armor_gloves.py b/scripts/loot/lootItems/armor/composite_armor_gloves.py
new file mode 100644
index 00000000..acd4a1cf
--- /dev/null
+++ b/scripts/loot/lootItems/armor/composite_armor_gloves.py
@@ -0,0 +1,31 @@
+
+def itemTemplate():
+
+ return ['object/tangible/wearables/armor/composite/shared_armor_composite_gloves.iff']
+
+def customItemName():
+
+ return 'Composite Armor Gloves'
+
+def customItemStackCount():
+
+ return 1
+
+def customizationAttributes():
+
+ return []
+
+def customizationValues():
+
+ return []
+
+def itemStats():
+
+ stats = ['armor_efficiency_kinetic','5000','6800']
+ stats += ['armor_efficiency_energy','3000','4800']
+ stats += ['special_protection_heat','4000','5800']
+ stats += ['special_protection_cold','4000','5800']
+ stats += ['special_protection_acid','4000','5800']
+ stats += ['special_protection_electricity','4000','5800']
+
+ return stats
diff --git a/scripts/loot/lootItems/armor/composite_armor_helmet.py b/scripts/loot/lootItems/armor/composite_armor_helmet.py
new file mode 100644
index 00000000..d5fe36de
--- /dev/null
+++ b/scripts/loot/lootItems/armor/composite_armor_helmet.py
@@ -0,0 +1,31 @@
+
+def itemTemplate():
+
+ return ['object/tangible/wearables/armor/composite/shared_armor_composite_helmet.iff']
+
+def customItemName():
+
+ return 'Composite Armor Helmet'
+
+def customItemStackCount():
+
+ return 1
+
+def customizationAttributes():
+
+ return []
+
+def customizationValues():
+
+ return []
+
+def itemStats():
+
+ stats = ['armor_efficiency_kinetic','5000','6800']
+ stats += ['armor_efficiency_energy','3000','4800']
+ stats += ['special_protection_heat','4000','5800']
+ stats += ['special_protection_cold','4000','5800']
+ stats += ['special_protection_acid','4000','5800']
+ stats += ['special_protection_electricity','4000','5800']
+
+ return stats
diff --git a/scripts/loot/lootItems/armor/composite_armor_leggings.py b/scripts/loot/lootItems/armor/composite_armor_leggings.py
new file mode 100644
index 00000000..a48864a4
--- /dev/null
+++ b/scripts/loot/lootItems/armor/composite_armor_leggings.py
@@ -0,0 +1,31 @@
+
+def itemTemplate():
+
+ return ['object/tangible/wearables/armor/composite/shared_armor_composite_leggings.iff']
+
+def customItemName():
+
+ return 'Composite Armor Leggings'
+
+def customItemStackCount():
+
+ return 1
+
+def customizationAttributes():
+
+ return []
+
+def customizationValues():
+
+ return []
+
+def itemStats():
+
+ stats = ['armor_efficiency_kinetic','5000','6800']
+ stats += ['armor_efficiency_energy','3000','4800']
+ stats += ['special_protection_heat','4000','5800']
+ stats += ['special_protection_cold','4000','5800']
+ stats += ['special_protection_acid','4000','5800']
+ stats += ['special_protection_electricity','4000','5800']
+
+ return stats
diff --git a/scripts/loot/lootItems/clothes/tusken_raider_bandolier.py b/scripts/loot/lootItems/clothes/tusken_raider_bandolier.py
new file mode 100644
index 00000000..163a87ea
--- /dev/null
+++ b/scripts/loot/lootItems/clothes/tusken_raider_bandolier.py
@@ -0,0 +1,8 @@
+
+def itemTemplate():
+
+ return ['object/tangible/wearables/bandolier/shared_bandolier_tusken_raider_s01.iff','object/tangible/wearables/bandolier/shared_bandolier_tusken_raider_s02.iff','object/tangible/wearables/bandolier/shared_bandolier_tusken_raider_s03.iff']
+
+def customItemName():
+
+ return 'Tusken Raider Bandolier'
diff --git a/scripts/loot/lootItems/clothes/tusken_raider_boots.py b/scripts/loot/lootItems/clothes/tusken_raider_boots.py
new file mode 100644
index 00000000..81cb35af
--- /dev/null
+++ b/scripts/loot/lootItems/clothes/tusken_raider_boots.py
@@ -0,0 +1,8 @@
+
+def itemTemplate():
+
+ return ['object/tangible/wearables/boots/shared_boots_tusken_raider.iff']
+
+def customItemName():
+
+ return 'Tusken Raider Boots'
diff --git a/scripts/loot/lootItems/clothes/tusken_raider_dress.py b/scripts/loot/lootItems/clothes/tusken_raider_dress.py
new file mode 100644
index 00000000..c697642b
--- /dev/null
+++ b/scripts/loot/lootItems/clothes/tusken_raider_dress.py
@@ -0,0 +1,8 @@
+
+def itemTemplate():
+
+ return ['object/tangible/wearables/robe/shared_robe_tusken_raider_s01.iff','object/tangible/wearables/robe/shared_robe_tusken_raider_s02.iff']
+
+def customItemName():
+
+ return 'Tusken Raider Dress'
diff --git a/scripts/loot/lootItems/clothes/tusken_raider_gloves.py b/scripts/loot/lootItems/clothes/tusken_raider_gloves.py
new file mode 100644
index 00000000..a942a1d3
--- /dev/null
+++ b/scripts/loot/lootItems/clothes/tusken_raider_gloves.py
@@ -0,0 +1,8 @@
+
+def itemTemplate():
+
+ return ['object/tangible/wearables/gloves/shared_gloves_tusken_raider.iff']
+
+def customItemName():
+
+ return 'Tusken Raider Gloves'
diff --git a/scripts/loot/lootItems/clothes/tusken_raider_helmet.py b/scripts/loot/lootItems/clothes/tusken_raider_helmet.py
new file mode 100644
index 00000000..d4e539d4
--- /dev/null
+++ b/scripts/loot/lootItems/clothes/tusken_raider_helmet.py
@@ -0,0 +1,8 @@
+
+def itemTemplate():
+
+ return ['object/tangible/wearables/helmet/shared_helmet_tusken_raider_s01.iff','object/tangible/wearables/helmet/shared_helmet_tusken_raider_s02.iff']
+
+def customItemName():
+
+ return 'Tusken Raider Helmet'
diff --git a/scripts/loot/lootItems/colorcrystal.py b/scripts/loot/lootItems/colorcrystal.py
new file mode 100644
index 00000000..1458e1be
--- /dev/null
+++ b/scripts/loot/lootItems/colorcrystal.py
@@ -0,0 +1,4 @@
+
+def itemTemplate():
+
+ return ['object/tangible/component/weapon/lightsaber/shared_lightsaber_module_force_crystal.iff']
diff --git a/scripts/loot/lootItems/creatureloot/antenna.py b/scripts/loot/lootItems/creatureloot/antenna.py
new file mode 100644
index 00000000..62113b2d
--- /dev/null
+++ b/scripts/loot/lootItems/creatureloot/antenna.py
@@ -0,0 +1,8 @@
+
+def itemTemplate():
+
+ return ['object/tangible/loot/creature_loot/generic/shared_generic_antennae.iff']
+
+def customItemName():
+
+ return 'Antenna'
diff --git a/scripts/loot/lootItems/creatureloot/brain.py b/scripts/loot/lootItems/creatureloot/brain.py
new file mode 100644
index 00000000..107add91
--- /dev/null
+++ b/scripts/loot/lootItems/creatureloot/brain.py
@@ -0,0 +1,8 @@
+
+def itemTemplate():
+
+ return ['object/tangible/loot/creature_loot/generic/shared_brain_s01.iff']
+
+def customItemName():
+
+ return 'Brain'
\ No newline at end of file
diff --git a/scripts/loot/lootItems/creatureloot/eye.py b/scripts/loot/lootItems/creatureloot/eye.py
new file mode 100644
index 00000000..076ce324
--- /dev/null
+++ b/scripts/loot/lootItems/creatureloot/eye.py
@@ -0,0 +1,8 @@
+
+def itemTemplate():
+
+ return ['object/tangible/loot/creature_loot/generic/shared_generic_eye.iff']
+
+def customItemName():
+
+ return 'Eye'
diff --git a/scripts/loot/lootItems/creatureloot/gland.py b/scripts/loot/lootItems/creatureloot/gland.py
new file mode 100644
index 00000000..ccf78284
--- /dev/null
+++ b/scripts/loot/lootItems/creatureloot/gland.py
@@ -0,0 +1,8 @@
+
+def itemTemplate():
+
+ return ['object/tangible/loot/creature_loot/generic/shared_lungs_gland.iff']
+
+def customItemName():
+
+ return 'Gland'
\ No newline at end of file
diff --git a/scripts/loot/lootItems/creatureloot/heart.py b/scripts/loot/lootItems/creatureloot/heart.py
new file mode 100644
index 00000000..8232f7a7
--- /dev/null
+++ b/scripts/loot/lootItems/creatureloot/heart.py
@@ -0,0 +1,8 @@
+
+def itemTemplate():
+
+ return ['object/tangible/loot/creature_loot/generic/shared_generic_heart.iff']
+
+def customItemName():
+
+ return 'Heart'
diff --git a/scripts/loot/lootItems/creatureloot/stomach.py b/scripts/loot/lootItems/creatureloot/stomach.py
new file mode 100644
index 00000000..47042a7d
--- /dev/null
+++ b/scripts/loot/lootItems/creatureloot/stomach.py
@@ -0,0 +1,8 @@
+
+def itemTemplate():
+
+ return ['object/tangible/loot/creature_loot/generic/shared_generic_stomach.iff']
+
+def customItemName():
+
+ return 'Stomach'
diff --git a/scripts/loot/lootItems/junk/armor_repair_device.py b/scripts/loot/lootItems/junk/armor_repair_device.py
new file mode 100644
index 00000000..079cd72a
--- /dev/null
+++ b/scripts/loot/lootItems/junk/armor_repair_device.py
@@ -0,0 +1,21 @@
+
+def itemTemplate():
+
+ return ['object/tangible/loot/npc_loot/shared_armor_repair_device_generic.iff']
+
+def customItemName():
+
+ return 'Armor Repair Device'
+
+def stackable():
+
+ return 1
+
+def junkDealerPrice():
+
+ return 28
+
+def junkType():
+
+ return 0
+
diff --git a/scripts/loot/lootItems/junk/chassis_blueprint.py b/scripts/loot/lootItems/junk/chassis_blueprint.py
new file mode 100644
index 00000000..2848f501
--- /dev/null
+++ b/scripts/loot/lootItems/junk/chassis_blueprint.py
@@ -0,0 +1,20 @@
+
+def itemTemplate():
+
+ return ['object/tangible/loot/generic_usable/shared_chassis_blueprint_usuable.iff']
+
+def customItemName():
+
+ return 'Chassis Blueprint'
+
+def stackable():
+
+ return 1
+
+def junkDealerPrice():
+
+ return 21
+
+def junkType():
+
+ return 0
\ No newline at end of file
diff --git a/scripts/loot/lootItems/junk/comlink.py b/scripts/loot/lootItems/junk/comlink.py
new file mode 100644
index 00000000..afc926dd
--- /dev/null
+++ b/scripts/loot/lootItems/junk/comlink.py
@@ -0,0 +1,20 @@
+
+def itemTemplate():
+
+ return ['object/tangible/loot/npc_loot/shared_comlink_civilian_generic.iff']
+
+def customItemName():
+
+ return 'Comlink'
+
+def stackable():
+
+ return 1
+
+def junkDealerPrice():
+
+ return 15
+
+def junkType():
+
+ return 0
\ No newline at end of file
diff --git a/scripts/loot/lootItems/junk/damaged_datapad.py b/scripts/loot/lootItems/junk/damaged_datapad.py
new file mode 100644
index 00000000..8bb43fba
--- /dev/null
+++ b/scripts/loot/lootItems/junk/damaged_datapad.py
@@ -0,0 +1,21 @@
+
+def itemTemplate():
+
+ return ['object/tangible/loot/misc/shared_damaged_datapad.iff']
+
+def customItemName():
+
+ return 'Damaged Datapad'
+
+def stackable():
+
+ return 1
+
+def junkDealerPrice():
+
+ return 8
+
+def junkType():
+
+ return 0
+
diff --git a/scripts/loot/lootItems/junk/ear_jewel.py b/scripts/loot/lootItems/junk/ear_jewel.py
new file mode 100644
index 00000000..6093adae
--- /dev/null
+++ b/scripts/loot/lootItems/junk/ear_jewel.py
@@ -0,0 +1,8 @@
+
+def itemTemplate():
+
+ return ['/object/tangible/loot/npc_loot/shared_jewelry_ear_s02.iff']
+
+def customItemName():
+
+ return 'Ear jewel'
\ No newline at end of file
diff --git a/scripts/loot/lootItems/junk/explosive_dud.py b/scripts/loot/lootItems/junk/explosive_dud.py
new file mode 100644
index 00000000..2d0291da
--- /dev/null
+++ b/scripts/loot/lootItems/junk/explosive_dud.py
@@ -0,0 +1,20 @@
+
+def itemTemplate():
+
+ return ['object/tangible/loot/npc_loot/shared_firework_dud_s1.iff']
+
+def customItemName():
+
+ return 'Explosive Dud'
+
+def stackable():
+
+ return 1
+
+def junkDealerPrice():
+
+ return 10
+
+def junkType():
+
+ return 0
diff --git a/scripts/loot/lootItems/junk/hyperdrive_unit.py b/scripts/loot/lootItems/junk/hyperdrive_unit.py
new file mode 100644
index 00000000..8ce2372d
--- /dev/null
+++ b/scripts/loot/lootItems/junk/hyperdrive_unit.py
@@ -0,0 +1,20 @@
+
+def itemTemplate():
+
+ return ['object/tangible/loot/misc/shared_hyperdrive_part_s01.iff']
+
+def customItemName():
+
+ return 'Hyperdrive Unit'
+
+def stackable():
+
+ return 1
+
+def junkDealerPrice():
+
+ return 34
+
+def junkType():
+
+ return 0
diff --git a/scripts/loot/lootItems/junk/id_chip.py b/scripts/loot/lootItems/junk/id_chip.py
new file mode 100644
index 00000000..38cb1161
--- /dev/null
+++ b/scripts/loot/lootItems/junk/id_chip.py
@@ -0,0 +1,20 @@
+
+def itemTemplate():
+
+ return ['object/tangible/loot/npc_loot/shared_id_chip_generic.iff']
+
+def customItemName():
+
+ return 'ID Chip'
+
+def stackable():
+
+ return 1
+
+def junkDealerPrice():
+
+ return 14
+
+def junkType():
+
+ return 0
\ No newline at end of file
diff --git a/scripts/loot/lootItems/junk/impulse_detector.py b/scripts/loot/lootItems/junk/impulse_detector.py
new file mode 100644
index 00000000..6da7301b
--- /dev/null
+++ b/scripts/loot/lootItems/junk/impulse_detector.py
@@ -0,0 +1,20 @@
+
+def itemTemplate():
+
+ return ['object/tangible/loot/npc_loot/shared_impulse_detector_01_generic.iff']
+
+def customItemName():
+
+ return 'Impulse Detector'
+
+def stackable():
+
+ return 1
+
+def junkDealerPrice():
+
+ return 17
+
+def junkType():
+
+ return 0
diff --git a/scripts/loot/lootItems/junk/laser_trap.py b/scripts/loot/lootItems/junk/laser_trap.py
new file mode 100644
index 00000000..fd8840b9
--- /dev/null
+++ b/scripts/loot/lootItems/junk/laser_trap.py
@@ -0,0 +1,20 @@
+
+def itemTemplate():
+
+ return ['object/tangible/loot/npc_loot/shared_laser_trap_generic.iff']
+
+def customItemName():
+
+ return 'Laser Trap'
+
+def stackable():
+
+ return 1
+
+def junkDealerPrice():
+
+ return 22
+
+def junkType():
+
+ return 0
diff --git a/scripts/loot/lootItems/junk/launcher_tube.py b/scripts/loot/lootItems/junk/launcher_tube.py
new file mode 100644
index 00000000..8f6d60a2
--- /dev/null
+++ b/scripts/loot/lootItems/junk/launcher_tube.py
@@ -0,0 +1,20 @@
+
+def itemTemplate():
+
+ return ['object/tangible/loot/npc_loot/shared_launcher_tube_generic.iff']
+
+def customItemName():
+
+ return 'Launcher Tube'
+
+def stackable():
+
+ return 1
+
+def junkDealerPrice():
+
+ return 16
+
+def junkType():
+
+ return 0
\ No newline at end of file
diff --git a/scripts/loot/lootItems/junk/ledger.py b/scripts/loot/lootItems/junk/ledger.py
new file mode 100644
index 00000000..ba93e09b
--- /dev/null
+++ b/scripts/loot/lootItems/junk/ledger.py
@@ -0,0 +1,20 @@
+
+def itemTemplate():
+
+ return ['object/tangible/loot/npc_loot/shared_ledger_generic.iff']
+
+def customItemName():
+
+ return 'Ledger'
+
+def stackable():
+
+ return 1
+
+def junkDealerPrice():
+
+ return 13
+
+def junkType():
+
+ return 0
diff --git a/scripts/loot/lootItems/junk/magseal_detector.py b/scripts/loot/lootItems/junk/magseal_detector.py
new file mode 100644
index 00000000..e98ebf36
--- /dev/null
+++ b/scripts/loot/lootItems/junk/magseal_detector.py
@@ -0,0 +1,20 @@
+
+def itemTemplate():
+
+ return ['object/tangible/loot/npc_loot/shared_magseal_detector_generic.iff']
+
+def customItemName():
+
+ return 'MagSeal Detector'
+
+def stackable():
+
+ return 1
+
+def junkDealerPrice():
+
+ return 15
+
+def junkType():
+
+ return 0
diff --git a/scripts/loot/lootItems/junk/medical_console.py b/scripts/loot/lootItems/junk/medical_console.py
new file mode 100644
index 00000000..d393fe32
--- /dev/null
+++ b/scripts/loot/lootItems/junk/medical_console.py
@@ -0,0 +1,20 @@
+
+def itemTemplate():
+
+ return ['object/tangible/loot/npc_loot/shared_medical_console_generic.iff']
+
+def customItemName():
+
+ return 'Medical Console'
+
+def stackable():
+
+ return 1
+
+def junkDealerPrice():
+
+ return 24
+
+def junkType():
+
+ return 0
diff --git a/scripts/loot/lootItems/junk/medical_device.py b/scripts/loot/lootItems/junk/medical_device.py
new file mode 100644
index 00000000..8511594b
--- /dev/null
+++ b/scripts/loot/lootItems/junk/medical_device.py
@@ -0,0 +1,20 @@
+
+def itemTemplate():
+
+ return ['object/tangible/loot/npc_loot/shared_medical_device_generic.iff']
+
+def customItemName():
+
+ return 'Medical Device'
+
+def stackable():
+
+ return 1
+
+def junkDealerPrice():
+
+ return 17
+
+def junkType():
+
+ return 0
\ No newline at end of file
diff --git a/scripts/loot/lootItems/junk/motor.py b/scripts/loot/lootItems/junk/motor.py
new file mode 100644
index 00000000..0e72d464
--- /dev/null
+++ b/scripts/loot/lootItems/junk/motor.py
@@ -0,0 +1,20 @@
+
+def itemTemplate():
+
+ return ['object/tangible/loot/npc_loot/shared_small_motor_generic.iff']
+
+def customItemName():
+
+ return 'Motor'
+
+def stackable():
+
+ return 1
+
+def junkDealerPrice():
+
+ return 13
+
+def junkType():
+
+ return 0
diff --git a/scripts/loot/lootItems/junk/power_output_analyzer.py b/scripts/loot/lootItems/junk/power_output_analyzer.py
new file mode 100644
index 00000000..16114969
--- /dev/null
+++ b/scripts/loot/lootItems/junk/power_output_analyzer.py
@@ -0,0 +1,20 @@
+
+def itemTemplate():
+
+ return ['object/tangible/loot/npc_loot/shared_power_output_analyzer_generic.iff']
+
+def customItemName():
+
+ return 'Power Output Analyzer'
+
+def stackable():
+
+ return 1
+
+def junkDealerPrice():
+
+ return 21
+
+def junkType():
+
+ return 0
diff --git a/scripts/loot/lootItems/junk/red_wiring.py b/scripts/loot/lootItems/junk/red_wiring.py
new file mode 100644
index 00000000..fbefb228
--- /dev/null
+++ b/scripts/loot/lootItems/junk/red_wiring.py
@@ -0,0 +1,20 @@
+
+def itemTemplate():
+
+ return ['object/tangible/loot/npc_loot/shared_red_wiring_generic.iff']
+
+def customItemName():
+
+ return 'Red Wiring'
+
+def stackable():
+
+ return 1
+
+def junkDealerPrice():
+
+ return 12
+
+def junkType():
+
+ return 0
diff --git a/scripts/loot/lootItems/junk/shield_module.py b/scripts/loot/lootItems/junk/shield_module.py
new file mode 100644
index 00000000..db0fb690
--- /dev/null
+++ b/scripts/loot/lootItems/junk/shield_module.py
@@ -0,0 +1,20 @@
+
+def itemTemplate():
+
+ return ['object/tangible/loot/npc_loot/shared_shield_module_generic.iff']
+
+def customItemName():
+
+ return 'Shield Module'
+
+def stackable():
+
+ return 1
+
+def junkDealerPrice():
+
+ return 20
+
+def junkType():
+
+ return 0
diff --git a/scripts/loot/lootItems/junk/software_module.py b/scripts/loot/lootItems/junk/software_module.py
new file mode 100644
index 00000000..58cc91ef
--- /dev/null
+++ b/scripts/loot/lootItems/junk/software_module.py
@@ -0,0 +1,20 @@
+
+def itemTemplate():
+
+ return ['object/tangible/loot/npc_loot/shared_software_module_generic.iff']
+
+def customItemName():
+
+ return 'Software Module'
+
+def stackable():
+
+ return 1
+
+def junkDealerPrice():
+
+ return 12
+
+def junkType():
+
+ return 0
diff --git a/scripts/loot/lootItems/junk/survival_gear.py b/scripts/loot/lootItems/junk/survival_gear.py
new file mode 100644
index 00000000..efdaebfb
--- /dev/null
+++ b/scripts/loot/lootItems/junk/survival_gear.py
@@ -0,0 +1,20 @@
+
+def itemTemplate():
+
+ return ['object/tangible/loot/npc_loot/shared_survival_equipment_generic.iff']
+
+def customItemName():
+
+ return 'Survival Gear'
+
+def stackable():
+
+ return 1
+
+def junkDealerPrice():
+
+ return 11
+
+def junkType():
+
+ return 0
diff --git a/scripts/loot/lootItems/junk/underpowered_survey_pad.py b/scripts/loot/lootItems/junk/underpowered_survey_pad.py
new file mode 100644
index 00000000..27fac34c
--- /dev/null
+++ b/scripts/loot/lootItems/junk/underpowered_survey_pad.py
@@ -0,0 +1,20 @@
+
+def itemTemplate():
+
+ return ['object/tangible/loot/npc_loot/shared_survey_pad_adv_generic.iff']
+
+def customItemName():
+
+ return 'Underpowered Survey Pad'
+
+def stackable():
+
+ return 1
+
+def junkDealerPrice():
+
+ return 13
+
+def junkType():
+
+ return 0
diff --git a/scripts/loot/lootItems/junk/unidentified_serum_vial.py b/scripts/loot/lootItems/junk/unidentified_serum_vial.py
new file mode 100644
index 00000000..d9b5590e
--- /dev/null
+++ b/scripts/loot/lootItems/junk/unidentified_serum_vial.py
@@ -0,0 +1,20 @@
+
+def itemTemplate():
+
+ return ['object/tangible/loot/npc_loot/shared_serum_vial_generic.iff']
+
+def customItemName():
+
+ return 'Unidentified Serum Vial'
+
+def stackable():
+
+ return 1
+
+def junkDealerPrice():
+
+ return 14
+
+def junkType():
+
+ return 0
diff --git a/scripts/loot/lootItems/junk/used_notebook.py b/scripts/loot/lootItems/junk/used_notebook.py
new file mode 100644
index 00000000..6d117330
--- /dev/null
+++ b/scripts/loot/lootItems/junk/used_notebook.py
@@ -0,0 +1,20 @@
+
+def itemTemplate():
+
+ return ['object/tangible/loot/npc_loot/shared_notebook_generic.iff']
+
+def customItemName():
+
+ return 'Used Notebook'
+
+def stackable():
+
+ return 1
+
+def junkDealerPrice():
+
+ return 12
+
+def junkType():
+
+ return 0
diff --git a/scripts/loot/lootItems/junk/weak_droid_battery.py b/scripts/loot/lootItems/junk/weak_droid_battery.py
new file mode 100644
index 00000000..8647f305
--- /dev/null
+++ b/scripts/loot/lootItems/junk/weak_droid_battery.py
@@ -0,0 +1,20 @@
+
+def itemTemplate():
+
+ return ['object/tangible/loot/generic/shared_battery_useable_generic.iff']
+
+def customItemName():
+
+ return 'Weak Droid Battery'
+
+def stackable():
+
+ return 1
+
+def junkDealerPrice():
+
+ return 9
+
+def junkType():
+
+ return 0
diff --git a/scripts/loot/lootItems/junk/worklight_generic.py b/scripts/loot/lootItems/junk/worklight_generic.py
new file mode 100644
index 00000000..3b3bed9a
--- /dev/null
+++ b/scripts/loot/lootItems/junk/worklight_generic.py
@@ -0,0 +1,20 @@
+
+def itemTemplate():
+
+ return ['object/tangible/loot/npc_loot/shared_worklight_generic.iff']
+
+def customItemName():
+
+ return 'Generic Worklight'
+
+def stackable():
+
+ return 1
+
+def junkDealerPrice():
+
+ return 10
+
+def junkType():
+
+ return 0
diff --git a/scripts/loot/lootItems/kraytpearl_cracked.py b/scripts/loot/lootItems/kraytpearl_cracked.py
new file mode 100644
index 00000000..89e55d04
--- /dev/null
+++ b/scripts/loot/lootItems/kraytpearl_cracked.py
@@ -0,0 +1,8 @@
+
+def itemTemplate():
+
+ return ['object/tangible/component/weapon/lightsaber/shared_lightsaber_module_krayt_dragon_pearl.iff']
+
+def customItemName():
+
+ return ''
diff --git a/scripts/loot/lootItems/kraytpearl_fair.py b/scripts/loot/lootItems/kraytpearl_fair.py
new file mode 100644
index 00000000..bf16c0ec
--- /dev/null
+++ b/scripts/loot/lootItems/kraytpearl_fair.py
@@ -0,0 +1,12 @@
+
+def itemTemplate():
+
+ return ['object/tangible/component/weapon/lightsaber/shared_lightsaber_module_krayt_dragon_pearl.iff']
+
+def customItemName():
+
+ return ''
+
+def customItemName():
+
+ return ''
diff --git a/scripts/loot/lootItems/kraytpearl_flawless.py b/scripts/loot/lootItems/kraytpearl_flawless.py
new file mode 100644
index 00000000..89e55d04
--- /dev/null
+++ b/scripts/loot/lootItems/kraytpearl_flawless.py
@@ -0,0 +1,8 @@
+
+def itemTemplate():
+
+ return ['object/tangible/component/weapon/lightsaber/shared_lightsaber_module_krayt_dragon_pearl.iff']
+
+def customItemName():
+
+ return ''
diff --git a/scripts/loot/lootItems/kraytpearl_good.py b/scripts/loot/lootItems/kraytpearl_good.py
new file mode 100644
index 00000000..89e55d04
--- /dev/null
+++ b/scripts/loot/lootItems/kraytpearl_good.py
@@ -0,0 +1,8 @@
+
+def itemTemplate():
+
+ return ['object/tangible/component/weapon/lightsaber/shared_lightsaber_module_krayt_dragon_pearl.iff']
+
+def customItemName():
+
+ return ''
diff --git a/scripts/loot/lootItems/kraytpearl_poor.py b/scripts/loot/lootItems/kraytpearl_poor.py
new file mode 100644
index 00000000..89e55d04
--- /dev/null
+++ b/scripts/loot/lootItems/kraytpearl_poor.py
@@ -0,0 +1,8 @@
+
+def itemTemplate():
+
+ return ['object/tangible/component/weapon/lightsaber/shared_lightsaber_module_krayt_dragon_pearl.iff']
+
+def customItemName():
+
+ return ''
diff --git a/scripts/loot/lootItems/kraytpearl_premium.py b/scripts/loot/lootItems/kraytpearl_premium.py
new file mode 100644
index 00000000..89e55d04
--- /dev/null
+++ b/scripts/loot/lootItems/kraytpearl_premium.py
@@ -0,0 +1,8 @@
+
+def itemTemplate():
+
+ return ['object/tangible/component/weapon/lightsaber/shared_lightsaber_module_krayt_dragon_pearl.iff']
+
+def customItemName():
+
+ return ''
diff --git a/scripts/loot/lootItems/kraytpearl_quality.py b/scripts/loot/lootItems/kraytpearl_quality.py
new file mode 100644
index 00000000..89e55d04
--- /dev/null
+++ b/scripts/loot/lootItems/kraytpearl_quality.py
@@ -0,0 +1,8 @@
+
+def itemTemplate():
+
+ return ['object/tangible/component/weapon/lightsaber/shared_lightsaber_module_krayt_dragon_pearl.iff']
+
+def customItemName():
+
+ return ''
diff --git a/scripts/loot/lootItems/kraytpearl_scratched.py b/scripts/loot/lootItems/kraytpearl_scratched.py
new file mode 100644
index 00000000..89e55d04
--- /dev/null
+++ b/scripts/loot/lootItems/kraytpearl_scratched.py
@@ -0,0 +1,8 @@
+
+def itemTemplate():
+
+ return ['object/tangible/component/weapon/lightsaber/shared_lightsaber_module_krayt_dragon_pearl.iff']
+
+def customItemName():
+
+ return ''
diff --git a/scripts/loot/lootItems/kraytpearl_select.py b/scripts/loot/lootItems/kraytpearl_select.py
new file mode 100644
index 00000000..89e55d04
--- /dev/null
+++ b/scripts/loot/lootItems/kraytpearl_select.py
@@ -0,0 +1,8 @@
+
+def itemTemplate():
+
+ return ['object/tangible/component/weapon/lightsaber/shared_lightsaber_module_krayt_dragon_pearl.iff']
+
+def customItemName():
+
+ return ''
diff --git a/scripts/loot/lootItems/powercrystal_fair.py b/scripts/loot/lootItems/powercrystal_fair.py
new file mode 100644
index 00000000..46f1add7
--- /dev/null
+++ b/scripts/loot/lootItems/powercrystal_fair.py
@@ -0,0 +1,12 @@
+
+def itemTemplate():
+
+ return ['object/tangible/component/weapon/lightsaber/shared_lightsaber_module_force_crystal.iff']
+
+def customItemName():
+
+ return ''
+
+def customItemName():
+
+ return ''
diff --git a/scripts/loot/lootItems/powercrystal_flawless.py b/scripts/loot/lootItems/powercrystal_flawless.py
new file mode 100644
index 00000000..eadb333a
--- /dev/null
+++ b/scripts/loot/lootItems/powercrystal_flawless.py
@@ -0,0 +1,8 @@
+
+def itemTemplate():
+
+ return ['object/tangible/component/weapon/lightsaber/shared_lightsaber_module_force_crystal.iff']
+
+def customItemName():
+
+ return ''
diff --git a/scripts/loot/lootItems/powercrystal_good.py b/scripts/loot/lootItems/powercrystal_good.py
new file mode 100644
index 00000000..eadb333a
--- /dev/null
+++ b/scripts/loot/lootItems/powercrystal_good.py
@@ -0,0 +1,8 @@
+
+def itemTemplate():
+
+ return ['object/tangible/component/weapon/lightsaber/shared_lightsaber_module_force_crystal.iff']
+
+def customItemName():
+
+ return ''
diff --git a/scripts/loot/lootItems/powercrystal_perfect.py b/scripts/loot/lootItems/powercrystal_perfect.py
new file mode 100644
index 00000000..eadb333a
--- /dev/null
+++ b/scripts/loot/lootItems/powercrystal_perfect.py
@@ -0,0 +1,8 @@
+
+def itemTemplate():
+
+ return ['object/tangible/component/weapon/lightsaber/shared_lightsaber_module_force_crystal.iff']
+
+def customItemName():
+
+ return ''
diff --git a/scripts/loot/lootItems/powercrystal_poor.py b/scripts/loot/lootItems/powercrystal_poor.py
new file mode 100644
index 00000000..eadb333a
--- /dev/null
+++ b/scripts/loot/lootItems/powercrystal_poor.py
@@ -0,0 +1,8 @@
+
+def itemTemplate():
+
+ return ['object/tangible/component/weapon/lightsaber/shared_lightsaber_module_force_crystal.iff']
+
+def customItemName():
+
+ return ''
diff --git a/scripts/loot/lootItems/powercrystal_premium.py b/scripts/loot/lootItems/powercrystal_premium.py
new file mode 100644
index 00000000..eadb333a
--- /dev/null
+++ b/scripts/loot/lootItems/powercrystal_premium.py
@@ -0,0 +1,8 @@
+
+def itemTemplate():
+
+ return ['object/tangible/component/weapon/lightsaber/shared_lightsaber_module_force_crystal.iff']
+
+def customItemName():
+
+ return ''
diff --git a/scripts/loot/lootItems/powercrystal_quality.py b/scripts/loot/lootItems/powercrystal_quality.py
new file mode 100644
index 00000000..eadb333a
--- /dev/null
+++ b/scripts/loot/lootItems/powercrystal_quality.py
@@ -0,0 +1,8 @@
+
+def itemTemplate():
+
+ return ['object/tangible/component/weapon/lightsaber/shared_lightsaber_module_force_crystal.iff']
+
+def customItemName():
+
+ return ''
diff --git a/scripts/loot/lootItems/powercrystal_select.py b/scripts/loot/lootItems/powercrystal_select.py
new file mode 100644
index 00000000..eadb333a
--- /dev/null
+++ b/scripts/loot/lootItems/powercrystal_select.py
@@ -0,0 +1,8 @@
+
+def itemTemplate():
+
+ return ['object/tangible/component/weapon/lightsaber/shared_lightsaber_module_force_crystal.iff']
+
+def customItemName():
+
+ return ''
diff --git a/scripts/loot/lootItems/rarelootchest1.py b/scripts/loot/lootItems/rarelootchest1.py
new file mode 100644
index 00000000..a7568822
--- /dev/null
+++ b/scripts/loot/lootItems/rarelootchest1.py
@@ -0,0 +1,8 @@
+
+def itemTemplate():
+
+ return ['object/tangible/item/shared_rare_loot_chest_3.iff']
+
+def customItemName():
+
+ return ''
diff --git a/scripts/loot/lootItems/rarelootchest2.py b/scripts/loot/lootItems/rarelootchest2.py
new file mode 100644
index 00000000..a7568822
--- /dev/null
+++ b/scripts/loot/lootItems/rarelootchest2.py
@@ -0,0 +1,8 @@
+
+def itemTemplate():
+
+ return ['object/tangible/item/shared_rare_loot_chest_3.iff']
+
+def customItemName():
+
+ return ''
diff --git a/scripts/loot/lootItems/weapons/adjusted_cdef_rifle.py b/scripts/loot/lootItems/weapons/adjusted_cdef_rifle.py
new file mode 100644
index 00000000..63bef054
--- /dev/null
+++ b/scripts/loot/lootItems/weapons/adjusted_cdef_rifle.py
@@ -0,0 +1,35 @@
+
+def itemTemplate():
+
+ return ['object/weapon/ranged/rifle/shared_rifle_cdef.iff']
+
+def customItemName():
+
+ return 'Adjusted CDEF Rifle'
+
+def customItemStackCount():
+
+ return 1
+
+def customizationAttributes():
+
+ return []
+
+def customizationValues():
+
+ return []
+
+def requiredCL():
+
+ return 10
+
+def itemStats():
+
+ stats = ['mindamage','12','27']
+ stats += ['maxdamage','48','95']
+ stats += ['attackspeed','0.8','0.8']
+ stats += ['maxrange','0','64']
+ stats += ['damagetype','energy','energy']
+ stats += ['weapontype','0','0']
+
+ return stats
diff --git a/scripts/loot/lootItems/weapons/gaderiffi_baton.py b/scripts/loot/lootItems/weapons/gaderiffi_baton.py
new file mode 100644
index 00000000..f0aa09e9
--- /dev/null
+++ b/scripts/loot/lootItems/weapons/gaderiffi_baton.py
@@ -0,0 +1,35 @@
+
+def itemTemplate():
+
+ return ['object/weapon/melee/baton/shared_baton_gaderiffi.iff']
+
+def customItemName():
+
+ return 'Gaderiffi Baton'
+
+def customItemStackCount():
+
+ return 1
+
+def customizationAttributes():
+
+ return []
+
+def customizationValues():
+
+ return []
+
+def requiredCL():
+
+ return 10
+
+def itemStats():
+
+ stats = ['mindamage','12','27']
+ stats += ['maxdamage','48','95']
+ stats += ['attackspeed','1.0','1.0']
+ stats += ['maxrange','0','4']
+ stats += ['damagetype','kinetic','kinetic']
+ stats += ['weapontype','4','4']
+
+ return stats
diff --git a/scripts/loot/lootPools/batons.py b/scripts/loot/lootPools/batons.py
new file mode 100644
index 00000000..99e26d99
--- /dev/null
+++ b/scripts/loot/lootPools/batons.py
@@ -0,0 +1,8 @@
+
+def itemNames():
+
+ return ['gaderiffi_baton']
+
+def itemChances():
+ return [100]
+
\ No newline at end of file
diff --git a/scripts/loot/lootPools/colorcrystals.py b/scripts/loot/lootPools/colorcrystals.py
new file mode 100644
index 00000000..d372b968
--- /dev/null
+++ b/scripts/loot/lootPools/colorcrystals.py
@@ -0,0 +1,8 @@
+
+def itemNames():
+
+ return ['colorCrystal']
+
+def itemChances():
+
+ return [70]
\ No newline at end of file
diff --git a/scripts/loot/lootPools/composite_armor.py b/scripts/loot/lootPools/composite_armor.py
new file mode 100644
index 00000000..747a2995
--- /dev/null
+++ b/scripts/loot/lootPools/composite_armor.py
@@ -0,0 +1,10 @@
+
+def itemNames():
+
+ items = ['composite_armor_bicep_left','composite_armor_bicep_right','composite_armor_bracer_left','composite_armor_bracer_right']
+ items += ['composite_armor_chestplate','composite_armor_helmet','composite_armor_leggings','composite_armor_boots','composite_armor_gloves']
+ return items
+
+def itemChances():
+
+ return [11,11,11,11,11,11,11,11,12] # = 100%
\ No newline at end of file
diff --git a/scripts/loot/lootPools/jediholocrons.py b/scripts/loot/lootPools/jediholocrons.py
new file mode 100644
index 00000000..e69de29b
diff --git a/scripts/loot/lootPools/junk.py b/scripts/loot/lootPools/junk.py
new file mode 100644
index 00000000..ef757825
--- /dev/null
+++ b/scripts/loot/lootPools/junk.py
@@ -0,0 +1,15 @@
+
+def itemNames():
+
+ templates=['damaged_datapad','red_wiring','worklight_generic','antenna','brain','eye','gland','heart','stomach','armor_repair_device'] #10
+ templates=templates+['brain','chassis_blueprint','comlink','explosive_dud','hyperdrive_unit','id_chip','impulse_detector','laser_trap'] #8
+ templates=templates+['launcher_tube','ledger','magseal_detector','medical_console','medical_device','motor','power_output_analyzer','shield_module'] #8
+ templates=templates+['software_module','survival_gear','underpowered_survey_pad','unidentified_serum_vial','used_notebook','weak_droid_battery'] #6
+ return templates
+
+def itemChances():
+ chances=[3.125,3.125,3.125,3.125,3.125,3.125,3.125,3.125]
+ chances=chances+[3.125,3.125,3.125,3.125,3.125,3.125,3.125,3.125]
+ chances=chances+[3.125,3.125,3.125,3.125,3.125,3.125,3.125,3.125]
+ chances=chances+[3.125,3.125,3.125,3.125,3.125,3.125,3.125,3.125]
+ return chances #32
\ No newline at end of file
diff --git a/scripts/loot/lootPools/kraytpearl_lowq.py b/scripts/loot/lootPools/kraytpearl_lowq.py
new file mode 100644
index 00000000..4fe709c2
--- /dev/null
+++ b/scripts/loot/lootPools/kraytpearl_lowq.py
@@ -0,0 +1,8 @@
+
+def itemNames():
+
+ return ['kraytpearl_cracked','kraytpearl_scratched','kraytpearl_poor']
+
+def itemChances():
+
+ return [33,33,34]
\ No newline at end of file
diff --git a/scripts/loot/lootPools/kraytpearls_range.py b/scripts/loot/lootPools/kraytpearls_range.py
new file mode 100644
index 00000000..23477840
--- /dev/null
+++ b/scripts/loot/lootPools/kraytpearls_range.py
@@ -0,0 +1,6 @@
+
+def itemTemplates():
+ return ['kraytpearl_fair','kraytpearl_good','kraytpearl_quality','kraytpearl_select','kraytpearl_premium','kraytpearl_flawless']
+
+def itemChances():
+ return [10,20,30,34,5,1] #= 100%
\ No newline at end of file
diff --git a/scripts/loot/lootPools/powercrystals_hiq.py b/scripts/loot/lootPools/powercrystals_hiq.py
new file mode 100644
index 00000000..63d33a9b
--- /dev/null
+++ b/scripts/loot/lootPools/powercrystals_hiq.py
@@ -0,0 +1,6 @@
+
+def itemNames():
+ return ['powercrystal_premium','powercrystal_flawless','powercrystal_perfect']
+
+def itemChances():
+ return [94,5,1] #= 100%
\ No newline at end of file
diff --git a/scripts/loot/lootPools/random_loot_rifles.py b/scripts/loot/lootPools/random_loot_rifles.py
new file mode 100644
index 00000000..4992e807
--- /dev/null
+++ b/scripts/loot/lootPools/random_loot_rifles.py
@@ -0,0 +1,8 @@
+
+def itemNames():
+
+ return ['adjusted_cdef_rifle']
+
+def itemChances():
+ return [100]
+
\ No newline at end of file
diff --git a/scripts/loot/lootPools/rareloot.py b/scripts/loot/lootPools/rareloot.py
new file mode 100644
index 00000000..435ebfce
--- /dev/null
+++ b/scripts/loot/lootPools/rareloot.py
@@ -0,0 +1,9 @@
+
+
+def itemNames():
+
+ templates=['rarelootchest1','rarelootchest2']
+ return templates
+
+def itemChances():
+ return [70,30]
\ No newline at end of file
diff --git a/scripts/loot/lootPools/sithholocrons.py b/scripts/loot/lootPools/sithholocrons.py
new file mode 100644
index 00000000..e69de29b
diff --git a/scripts/loot/lootPools/tusken_clothing.py b/scripts/loot/lootPools/tusken_clothing.py
new file mode 100644
index 00000000..e69de29b
diff --git a/scripts/loot/lootPools/tusken_raider_clothing.py b/scripts/loot/lootPools/tusken_raider_clothing.py
new file mode 100644
index 00000000..72762d37
--- /dev/null
+++ b/scripts/loot/lootPools/tusken_raider_clothing.py
@@ -0,0 +1,6 @@
+
+def itemNames():
+ return ['tusken_raider_dress','tusken_raider_boots','tusken_raider_gloves','tusken_raider_helmet','tusken_raider_bandolier']
+
+def itemChances():
+ return [20,20,20,20,20] #= 100%
\ No newline at end of file
diff --git a/scripts/loot/rarelootchestcontents/exceptionaltable.py b/scripts/loot/rarelootchestcontents/exceptionaltable.py
new file mode 100644
index 00000000..b8c4ba4d
--- /dev/null
+++ b/scripts/loot/rarelootchestcontents/exceptionaltable.py
@@ -0,0 +1,12 @@
+
+def itemTemplates():
+ templates = ['Biological_Focus_Crystal','Synapse_Focus_Crystal','Concentrated_Bacta_Tank','DNA_Storage_Device_Kowakian']
+ templates = templates + ['Dug_Costume_Instructions','Dusk_in_Kachirho','Mercenaries_Despair','Mercenaries_Lament','Nightsister_Melee_Armguard']
+ templates = templates + ['Rare_Painting','Sunriders_Destiny']
+ return templates
+
+def itemChances():
+ chances = [9,9,9,9]
+ chances = chances+[9,9,9,9,9]
+ chances = chances+[9,9] #= 100%
+ return chances
\ No newline at end of file
diff --git a/scripts/loot/rarelootchestcontents/legendarytable.py b/scripts/loot/rarelootchestcontents/legendarytable.py
new file mode 100644
index 00000000..d372b968
--- /dev/null
+++ b/scripts/loot/rarelootchestcontents/legendarytable.py
@@ -0,0 +1,8 @@
+
+def itemNames():
+
+ return ['colorCrystal']
+
+def itemChances():
+
+ return [70]
\ No newline at end of file
diff --git a/scripts/loot/rarelootchestcontents/raretable.py b/scripts/loot/rarelootchestcontents/raretable.py
new file mode 100644
index 00000000..e69de29b
diff --git a/scripts/mobiles/canon/jedi_master.py b/scripts/mobiles/canon/jedi_master.py
new file mode 100644
index 00000000..afc80223
--- /dev/null
+++ b/scripts/mobiles/canon/jedi_master.py
@@ -0,0 +1,41 @@
+import sys
+from services.spawn import MobileTemplate
+from services.spawn import WeaponTemplate
+from java.util import Vector
+
+def addTemplate(core):
+ mobileTemplate = MobileTemplate()
+
+ mobileTemplate.setCreatureName('eow_dark_jedi_sentinel_uber')
+ mobileTemplate.setLevel(90)
+ mobileTemplate.setDifficulty(2)
+ mobileTemplate.setAttackRange(6)
+ mobileTemplate.setAttackSpeed(1.0)
+ mobileTemplate.setWeaponType(9)
+
+ templates = Vector()
+ templates.add('object/mobile/shared_dressed_dark_jedi_master_female_twk_01.iff')
+ templates.add('object/mobile/shared_dressed_dark_jedi_master_female_twk_02.iff')
+ templates.add('object/mobile/shared_dressed_dark_jedi_master_female_zab_01.iff')
+ templates.add('object/mobile/shared_dressed_dark_jedi_master_female_zab_02.iff')
+ templates.add('object/mobile/shared_dressed_dark_jedi_master_male_human_01.iff')
+ templates.add('object/mobile/shared_dressed_dark_jedi_master_male_human_04.iff')
+ templates.add('object/mobile/shared_dressed_dark_jedi_master_male_human_05.iff')
+ templates.add('object/mobile/shared_dressed_dark_jedi_master_male_human_06.iff')
+ mobileTemplate.setTemplates(templates)
+
+ weaponTemplates = Vector()
+ weapontemplate = WeaponTemplate('object/weapon/melee/sword/crafted_saber/shared_sword_lightsaber_one_handed_gen5.iff', 9, 1.0)
+ weaponTemplates.add(weapontemplate)
+ weapontemplate = WeaponTemplate('object/weapon/melee/2h_sword/crafted_saber/shared_sword_lightsaber_two_handed_gen5.iff', 10, 1.0)
+ weaponTemplates.add(weapontemplate)
+ weapontemplate = WeaponTemplate('object/weapon/melee/polearm/crafted_saber/shared_sword_lightsaber_polearm_gen5.iff', 11, 1.0)
+ weaponTemplates.add(weapontemplate)
+ mobileTemplate.setWeaponTemplateVector(weaponTemplates)
+
+ attacks = Vector()
+ mobileTemplate.setDefaultAttack('saberHit')
+ mobileTemplate.setAttacks(attacks)
+
+ core.spawnService.addMobileTemplate('jedi_master', mobileTemplate)
+
\ No newline at end of file
diff --git a/scripts/mobiles/canon/stormtrooper.py b/scripts/mobiles/canon/stormtrooper.py
new file mode 100644
index 00000000..a7a49123
--- /dev/null
+++ b/scripts/mobiles/canon/stormtrooper.py
@@ -0,0 +1,33 @@
+import sys
+from services.spawn import MobileTemplate
+from services.spawn import WeaponTemplate
+from java.util import Vector
+
+def addTemplate(core):
+ mobileTemplate = MobileTemplate()
+
+ mobileTemplate.setCreatureName('stormtrooper')
+ mobileTemplate.setLevel(90)
+ mobileTemplate.setDifficulty(0)
+ mobileTemplate.setAttackRange(24)
+ mobileTemplate.setAttackSpeed(1.0)
+ mobileTemplate.setWeaponType(0)
+
+ templates = Vector()
+ templates.add('object/mobile/shared_dressed_stormtrooper_m.iff')
+ mobileTemplate.setTemplates(templates)
+
+ weaponTemplates = Vector()
+ weapontemplate = WeaponTemplate('object/weapon/ranged/rifle/shared_rifle_e11.iff', 0, 1.0)
+ weaponTemplates.add(weapontemplate)
+ weapontemplate = WeaponTemplate('object/weapon/ranged/rifle/shared_rifle_t21.iff', 0, 1.0)
+ weaponTemplates.add(weapontemplate)
+ mobileTemplate.setWeaponTemplateVector(weaponTemplates)
+
+
+ attacks = Vector()
+ mobileTemplate.setDefaultAttack('rangedShot')
+ mobileTemplate.setAttacks(attacks)
+
+ core.spawnService.addMobileTemplate('stormtrooper', mobileTemplate)
+
\ No newline at end of file
diff --git a/scripts/mobiles/lairgroups/naboo_starter.py b/scripts/mobiles/lairgroups/naboo_starter.py
new file mode 100644
index 00000000..a046b63e
--- /dev/null
+++ b/scripts/mobiles/lairgroups/naboo_starter.py
@@ -0,0 +1,11 @@
+import sys
+from services.spawn import LairSpawnTemplate
+from java.util import Vector
+
+def addLairGroup(core):
+ spawnTemplate1 = LairSpawnTemplate(-1, 'naboo_chuba_lair_neutral_small', 5, 20)
+
+ spawnTemplates = Vector()
+ spawnTemplates.add(spawnTemplate1)
+
+ core.spawnService.addLairGroup('naboo_starter', spawnTemplates)
\ No newline at end of file
diff --git a/scripts/mobiles/lairgroups/tatooine_starter.py b/scripts/mobiles/lairgroups/tatooine_starter.py
index 63eda38c..55242c03 100644
--- a/scripts/mobiles/lairgroups/tatooine_starter.py
+++ b/scripts/mobiles/lairgroups/tatooine_starter.py
@@ -3,7 +3,11 @@ from services.spawn import LairSpawnTemplate
from java.util import Vector
def addLairGroup(core):
- spawnTemplate = LairSpawnTemplate(-1, 'tatooine_kreetle_lair_neutral_small', 5, 20)
+ spawnTemplate1 = LairSpawnTemplate(-1, 'tatooine_kreetle_lair_neutral_small', 5, 20)
+ spawnTemplate2 = LairSpawnTemplate(-1, 'tatooine_womprat_lair_neutral_small', 5, 15)
+
spawnTemplates = Vector()
- spawnTemplates.add(spawnTemplate)
+ #spawnTemplates.add(spawnTemplate1)
+ spawnTemplates.add(spawnTemplate2)
+
core.spawnService.addLairGroup('tatooine_starter', spawnTemplates)
\ No newline at end of file
diff --git a/scripts/mobiles/lairs/naboo_chuba_lair_neutral_small.py b/scripts/mobiles/lairs/naboo_chuba_lair_neutral_small.py
new file mode 100644
index 00000000..ac408bdb
--- /dev/null
+++ b/scripts/mobiles/lairs/naboo_chuba_lair_neutral_small.py
@@ -0,0 +1,4 @@
+import sys
+
+def addTemplate(core):
+ core.spawnService.addLairTemplate('naboo_chuba_lair_neutral_small', 'chuba', 15, 'object/tangible/lair/base/shared_poi_all_lair_brambles_small.iff')
\ No newline at end of file
diff --git a/scripts/mobiles/lairs/tatooine_womprat_lair_neutral_small.py b/scripts/mobiles/lairs/tatooine_womprat_lair_neutral_small.py
new file mode 100644
index 00000000..60400598
--- /dev/null
+++ b/scripts/mobiles/lairs/tatooine_womprat_lair_neutral_small.py
@@ -0,0 +1,4 @@
+import sys
+
+def addTemplate(core):
+ core.spawnService.addLairTemplate('tatooine_womprat_lair_neutral_small', 'womprat', 15, 'object/tangible/lair/base/shared_poi_all_lair_brambles_small.iff')
\ No newline at end of file
diff --git a/scripts/mobiles/naboo/chuba.py b/scripts/mobiles/naboo/chuba.py
new file mode 100644
index 00000000..085d9e77
--- /dev/null
+++ b/scripts/mobiles/naboo/chuba.py
@@ -0,0 +1,16 @@
+import sys
+from services.spawn import MobileTemplate
+from java.util import Vector
+
+def addTemplate(core):
+ mobileTemplate = MobileTemplate()
+ templates = Vector()
+ templates.add('object/mobile/shared_chuba_hue.iff')
+ mobileTemplate.setCreatureName('chuba')
+ mobileTemplate.setTemplates(templates)
+ mobileTemplate.setLevel(5)
+ attacks = Vector()
+ mobileTemplate.setDefaultAttack('creatureMeleeAttack')
+ mobileTemplate.setAttacks(attacks)
+ core.spawnService.addMobileTemplate('chuba', mobileTemplate)
+
\ No newline at end of file
diff --git a/scripts/mobiles/naboo/kaadu.py b/scripts/mobiles/naboo/kaadu.py
new file mode 100644
index 00000000..d4e27c91
--- /dev/null
+++ b/scripts/mobiles/naboo/kaadu.py
@@ -0,0 +1,15 @@
+import sys
+from services.spawn import MobileTemplate
+from java.util import Vector
+
+def addTemplate(core):
+ mobileTemplate = MobileTemplate()
+ templates = Vector()
+ templates.add('object/mobile/shared_kaadu_hue.iff')
+ mobileTemplate.setCreatureName('kaadu')
+ mobileTemplate.setTemplates(templates)
+ mobileTemplate.setLevel(14)
+ attacks = Vector()
+ mobileTemplate.setDefaultAttack('creatureMeleeAttack')
+ mobileTemplate.setAttacks(attacks)
+ core.spawnService.addMobileTemplate('kaadu', mobileTemplate)
\ No newline at end of file
diff --git a/scripts/mobiles/spawnareas/keren_lair.py b/scripts/mobiles/spawnareas/keren_lair.py
new file mode 100644
index 00000000..8723ee3f
--- /dev/null
+++ b/scripts/mobiles/spawnareas/keren_lair.py
@@ -0,0 +1,6 @@
+import sys
+
+def addSpawnArea(core):
+ core.spawnService.addLairSpawnArea('naboo_starter', 1685, 2620, 1360, 'naboo')
+
+
diff --git a/scripts/mobiles/tatooine/krayt_dragon.py b/scripts/mobiles/tatooine/krayt_dragon.py
new file mode 100644
index 00000000..aded5429
--- /dev/null
+++ b/scripts/mobiles/tatooine/krayt_dragon.py
@@ -0,0 +1,19 @@
+import sys
+from services.spawn import MobileTemplate
+from java.util import Vector
+
+def addTemplate(core):
+ mobileTemplate = MobileTemplate()
+ templates = Vector()
+ templates.add('object/mobile/shared_krayt_dragon.iff')
+ mobileTemplate.setTemplates(templates)
+ mobileTemplate.setLevel(10)
+ mobileTemplate.setDifficulty(2)
+ attacks = Vector()
+ mobileTemplate.setDefaultAttack('creatureMeleeAttack')
+ mobileTemplate.setAttacks(attacks)
+ mobileTemplate.setCreatureName('krayt_dragon')
+ mobileTemplate.setScale(2)
+ mobileTemplate.setAttackRange(12)
+ core.spawnService.addMobileTemplate('krayt_dragon', mobileTemplate)
+
\ No newline at end of file
diff --git a/scripts/mobiles/tatooine/krayt_dragon_ancient.py b/scripts/mobiles/tatooine/krayt_dragon_ancient.py
new file mode 100644
index 00000000..a65f6786
--- /dev/null
+++ b/scripts/mobiles/tatooine/krayt_dragon_ancient.py
@@ -0,0 +1,19 @@
+import sys
+from services.spawn import MobileTemplate
+from java.util import Vector
+
+def addTemplate(core):
+ mobileTemplate = MobileTemplate()
+ templates = Vector()
+ templates.add('object/mobile/shared_krayt_dragon.iff')
+ mobileTemplate.setTemplates(templates)
+ mobileTemplate.setLevel(90)
+ mobileTemplate.setDifficulty(2)
+ attacks = Vector()
+ mobileTemplate.setDefaultAttack('creatureMeleeAttack')
+ mobileTemplate.setAttacks(attacks)
+ mobileTemplate.setCreatureName('krayt_dragon_ancient')
+ mobileTemplate.setScale(2)
+ mobileTemplate.setAttackRange(12)
+ core.spawnService.addMobileTemplate('krayt_dragon_ancient', mobileTemplate)
+
\ No newline at end of file
diff --git a/scripts/mobiles/tatooine/kreetle.py b/scripts/mobiles/tatooine/kreetle.py
new file mode 100644
index 00000000..ec037bd4
--- /dev/null
+++ b/scripts/mobiles/tatooine/kreetle.py
@@ -0,0 +1,16 @@
+import sys
+from services.spawn import MobileTemplate
+from java.util import Vector
+
+def addTemplate(core):
+ mobileTemplate = MobileTemplate()
+ templates = Vector()
+ templates.add('object/mobile/shared_kreetle.iff')
+ mobileTemplate.setCreatureName('kreetle')
+ mobileTemplate.setTemplates(templates)
+ mobileTemplate.setLevel(5)
+ attacks = Vector()
+ mobileTemplate.setDefaultAttack('creatureMeleeAttack')
+ mobileTemplate.setAttacks(attacks)
+ core.spawnService.addMobileTemplate('kreetle', mobileTemplate)
+
\ No newline at end of file
diff --git a/scripts/mobiles/tatooine/tusken_raider.py b/scripts/mobiles/tatooine/tusken_raider.py
new file mode 100644
index 00000000..41542293
--- /dev/null
+++ b/scripts/mobiles/tatooine/tusken_raider.py
@@ -0,0 +1,28 @@
+import sys
+from services.spawn import MobileTemplate
+from services.spawn import WeaponTemplate
+from java.util import Vector
+
+def addTemplate(core):
+ mobileTemplate = MobileTemplate()
+
+ mobileTemplate.setCreatureName('tusken_raider')
+ mobileTemplate.setLevel(10)
+ mobileTemplate.setDifficulty(1)
+ mobileTemplate.setAttackRange(24)
+
+ templates = Vector()
+ templates.add('object/mobile/shared_tusken_raider.iff')
+ mobileTemplate.setTemplates(templates)
+
+ weaponTemplates = Vector()
+ weapontemplate = WeaponTemplate('object/weapon/ranged/rifle/shared_rifle_tusken.iff', 0, 1.0)
+ weaponTemplates.add(weapontemplate)
+ mobileTemplate.setWeaponTemplateVector(weaponTemplates)
+
+ attacks = Vector()
+ mobileTemplate.setDefaultAttack('rangedShot')
+ mobileTemplate.setAttacks(attacks)
+
+ core.spawnService.addMobileTemplate('tusken_raider', mobileTemplate)
+
\ No newline at end of file
diff --git a/scripts/mobiles/tatooine/womprat.py b/scripts/mobiles/tatooine/womprat.py
new file mode 100644
index 00000000..836d9922
--- /dev/null
+++ b/scripts/mobiles/tatooine/womprat.py
@@ -0,0 +1,16 @@
+import sys
+from services.spawn import MobileTemplate
+from java.util import Vector
+
+def addTemplate(core):
+ mobileTemplate = MobileTemplate()
+ templates = Vector()
+ templates.add('object/mobile/shared_womp_rat.iff')
+ mobileTemplate.setCreatureName('womprat')
+ mobileTemplate.setTemplates(templates)
+ mobileTemplate.setLevel(5)
+ attacks = Vector()
+ mobileTemplate.setDefaultAttack('creatureMeleeAttack')
+ mobileTemplate.setAttacks(attacks)
+ core.spawnService.addMobileTemplate('womprat', mobileTemplate)
+
\ No newline at end of file
diff --git a/scripts/object/building/military/outpost_cloning_facility.py b/scripts/object/building/military/outpost_cloning_facility.py
index c3d8cb98..e9fd684a 100644
--- a/scripts/object/building/military/outpost_cloning_facility.py
+++ b/scripts/object/building/military/outpost_cloning_facility.py
@@ -4,10 +4,10 @@ from resources.common import SpawnPoint
def setup(core, object):
objSvc = core.objectService
- objSvc.createChildObject(object, 'object/tangible/terminal/shared_terminal_cloning.iff', float(0.0387871), float(0.125265), float(-6), float(-0.0595427), float(0.998226), 3)
+ objSvc.createChildObject(object, 'object/tangible/terminal/shared_terminal_cloning.iff', float(0.04), float(0.16), float(-6), float(-0.06), float(0.99), 3)
spawnPoints = Vector()
- spawnPoints.add(SpawnPoint(3.2408, 0.125266, -3.59732, 0.707641, -0.706572, 5))
+ spawnPoints.add(SpawnPoint(3.24, 0.16, -3.60, 0.71, -0.71, 5))
object.setAttachment('spawnPoints', spawnPoints)
diff --git a/scripts/object/building/military/outpost_cloning_facility_s02.py b/scripts/object/building/military/outpost_cloning_facility_s02.py
index b77dca9b..bcea9348 100644
--- a/scripts/object/building/military/outpost_cloning_facility_s02.py
+++ b/scripts/object/building/military/outpost_cloning_facility_s02.py
@@ -4,12 +4,12 @@ from resources.common import SpawnPoint
def setup(core, object):
objSvc = core.objectService
- objSvc.createChildObject(object, 'object/tangible/terminal/shared_terminal_cloning.iff', float(-5.5), float(0.125265), float(-3.43841), float(0.699512), float(0.714621), 6)
+ objSvc.createChildObject(object, 'object/tangible/terminal/shared_terminal_cloning.iff', float(-5.5), float(0.13), float(-3.44), float(0.70), float(0.71), 6)
spawnPoints = Vector()
- spawnPoints.add(SpawnPoint(4.44727, 0.125266, -3.80136, -0.706468, 0.707745, 5))
- spawnPoints.add(SpawnPoint(4.65395, 0.125266, 1.49466, 0.714548, -0.699587, 4))
- spawnPoints.add(SpawnPoint(-3.99569, 0.125266, -3.51553, 0.70407, 0.710131, 6))
+ spawnPoints.add(SpawnPoint(4.45, 0.13, -3.80, -0.71, 0.71, 5))
+ spawnPoints.add(SpawnPoint(4.65, 0.13, 1.50, 0.71, -0.70, 4))
+ spawnPoints.add(SpawnPoint(-3.99, 0.13, -3.52, 0.70, 0.71, 6))
object.setAttachment('spawnPoints', spawnPoints)
diff --git a/scripts/object/building/military/outpost_starport.py b/scripts/object/building/military/outpost_starport.py
index 22ca3e75..b0e8b915 100644
--- a/scripts/object/building/military/outpost_starport.py
+++ b/scripts/object/building/military/outpost_starport.py
@@ -2,9 +2,9 @@ import sys
def setup(core, object):
objSvc = core.objectService
- objSvc.createChildObject(object, 'object/creature/npc/theme_park/shared_player_transport.iff', 0, 7, 0, 0.707107, 0.707107)
+ objSvc.createChildObject(object, 'object/creature/npc/theme_park/shared_player_transport.iff', 0, 7, 0, 0.71, 0.71)
objSvc.createChildObject(object, 'object/tangible/travel/ticket_collector/shared_ticket_collector.iff', 1, 0, -10, 0, 1)
- objSvc.createChildObject(object, 'object/tangible/terminal/shared_terminal_travel.iff', float(-3.12), float(0.14659503), float(-17.57), float(0.707107), float(-0.707107), 1)
+ objSvc.createChildObject(object, 'object/tangible/terminal/shared_terminal_travel.iff', float(-3.12), float(0.15), float(-17.57), float(0.71), float(-0.71), 1)
core.mapService.addLocation(object.getPlanet(), 'Starport', object.getPosition().x, object.getPosition().z, 15, 0, 0)
return
\ No newline at end of file
diff --git a/scripts/object/building/naboo/cloning_facility_naboo.py b/scripts/object/building/naboo/cloning_facility_naboo.py
index 76288df2..91cb87d3 100644
--- a/scripts/object/building/naboo/cloning_facility_naboo.py
+++ b/scripts/object/building/naboo/cloning_facility_naboo.py
@@ -8,13 +8,13 @@ def setup(core, object):
objSvc.createChildObject(object, 'object/tangible/terminal/shared_terminal_cloning.iff', float(1), float(-0.05), float(-1.35), float(1), float(0), 2)
spawnPoints = Vector()
- spawnPoints.add(SpawnPoint(-16.6514, -4.29167, -10.4976, 0.709453, 0.704753, 4))
- spawnPoints.add(SpawnPoint(-16.5965, -4.29167, -14.1652, 0.721346, 0.692575, 4))
- spawnPoints.add(SpawnPoint(16.5771, -4.29167, -14.2091, 0.71195, -0.702231, 4))
- spawnPoints.add(SpawnPoint(16.6876, -4.29167, -10.5391, -0.6972, 0.716877, 4))
- spawnPoints.add(SpawnPoint(6.32992, -4.79167, 0.613332, 0.999992, 0.00405023, 4))
- spawnPoints.add(SpawnPoint(1.58067, -4.79167, 0.582775, 0.989691, 0.0143216, 4))
- spawnPoints.add(SpawnPoint(-2.84125, -4.79167, 0.657588, -0.0356012, 0.999366, 4))
+ spawnPoints.add(SpawnPoint(-16.66, -4.29, -10.50, 0.71, 0.70, 4))
+ spawnPoints.add(SpawnPoint(-16.60, -4.29, -14.17, 0.72, 0.69, 4))
+ spawnPoints.add(SpawnPoint(16.58, -4.29, -14.21, 0.71, -0.70, 4))
+ spawnPoints.add(SpawnPoint(16.69, -4.29, -10.54, -0.70, 0.72, 4))
+ spawnPoints.add(SpawnPoint(6.33, -4.79, 0.61, 0.99, 0.01, 4))
+ spawnPoints.add(SpawnPoint(1.58, -4.79, 0.58, 0.99, 0.01, 4))
+ spawnPoints.add(SpawnPoint(-2.84, -4.79, 0.66, -0.04, 0.99, 4))
object.setAttachment('spawnPoints', spawnPoints)
diff --git a/scripts/object/building/naboo/hangar_naboo_theed.py b/scripts/object/building/naboo/hangar_naboo_theed.py
index 41cc6f5c..79a247e9 100644
--- a/scripts/object/building/naboo/hangar_naboo_theed.py
+++ b/scripts/object/building/naboo/hangar_naboo_theed.py
@@ -3,12 +3,12 @@ import sys
def setup(core, object):
objSvc = core.objectService
- objSvc.createChildObject(object, 'object/tangible/terminal/shared_terminal_travel.iff', float(-26.94), float(0.749), float(-67.14), float(1), float(0), 3)
- objSvc.createChildObject(object, 'object/tangible/terminal/shared_terminal_travel.iff', float(26.94), float(0.749), float(-67.14), float(1), float(0), 4)
- objSvc.createChildObject(object, 'object/tangible/terminal/shared_terminal_travel.iff', float(-9.49), float(7.979), float(-45.2359), float(0), float(1), 5)
- objSvc.createChildObject(object, 'object/tangible/terminal/shared_terminal_travel.iff', float(9.49), float(7.979), float(-45.2359), float(0), float(1), 5)
- objSvc.createChildObject(object, 'object/tangible/travel/ticket_collector/shared_ticket_collector.iff', float(-10), float(7.979), float(10), float(-0.707107), float(0.707107), 5)
- objSvc.createChildObject(object, 'object/creature/npc/theme_park/shared_player_transport_theed_hangar.iff', float(0), float(7.979), float(0), float(1), float(1), 5)
+ objSvc.createChildObject(object, 'object/tangible/terminal/shared_terminal_travel.iff', float(-26.94), float(0.75), float(-67.14), float(1), float(0), 3)
+ objSvc.createChildObject(object, 'object/tangible/terminal/shared_terminal_travel.iff', float(26.94), float(0.75), float(-67.14), float(1), float(0), 4)
+ objSvc.createChildObject(object, 'object/tangible/terminal/shared_terminal_travel.iff', float(-9.49), float(7.98), float(-45.24), float(0), float(1), 5)
+ objSvc.createChildObject(object, 'object/tangible/terminal/shared_terminal_travel.iff', float(9.49), float(7.98), float(-45.24), float(0), float(1), 5)
+ objSvc.createChildObject(object, 'object/tangible/travel/ticket_collector/shared_ticket_collector.iff', float(-10), float(7.98), float(10), float(-0.71), float(0.71), 5)
+ objSvc.createChildObject(object, 'object/creature/npc/theme_park/shared_player_transport_theed_hangar.iff', float(0), float(7.98), float(0), float(1), float(1), 5)
core.mapService.addLocation(object.getPlanet(), 'Starport', object.getPosition().x, object.getPosition().z, 15, 0, 0)
diff --git a/scripts/object/building/naboo/starport_naboo.py b/scripts/object/building/naboo/starport_naboo.py
index bfb384c6..e66e8bf2 100644
--- a/scripts/object/building/naboo/starport_naboo.py
+++ b/scripts/object/building/naboo/starport_naboo.py
@@ -2,12 +2,12 @@ import sys
def setup(core, object):
objSvc = core.objectService
- objSvc.createChildObject(object, 'object/tangible/terminal/shared_terminal_travel.iff', float(11.5), float(0.6), float(51.3), float(0.195405), float(-0.980722), 4)
+ objSvc.createChildObject(object, 'object/tangible/terminal/shared_terminal_travel.iff', float(11.5), float(0.6), float(51.3), float(0.20), float(-0.98), 4)
objSvc.createChildObject(object, 'object/tangible/terminal/shared_terminal_travel.iff', float(3.1), float(0.6), float(49), float(0), float(1), 4)
objSvc.createChildObject(object, 'object/tangible/terminal/shared_terminal_travel.iff', float(-2.7), float(0.6), float(49), float(0), float(1), 4)
- objSvc.createChildObject(object, 'object/tangible/terminal/shared_terminal_travel.iff', float(-13.2), float(0.6), float(51.3), float(-0.195405), float(-0.980722), 4)
+ objSvc.createChildObject(object, 'object/tangible/terminal/shared_terminal_travel.iff', float(-13.2), float(0.6), float(51.3), float(-0.20), float(-0.98), 4)
objSvc.createChildObject(object, 'object/creature/npc/theme_park/shared_player_transport.iff', 0, 0, 0, 1, 0)
- objSvc.createChildObject(object, 'object/tangible/travel/ticket_collector/shared_ticket_collector.iff', 10, 0, -10, 0.707107, 0.707107)
+ objSvc.createChildObject(object, 'object/tangible/travel/ticket_collector/shared_ticket_collector.iff', 10, 0, -10, 0.71, 0.71)
core.mapService.addLocation(object.getPlanet(), 'Starport', object.getPosition().x, object.getPosition().z, 15, 0, 0)
return
\ No newline at end of file
diff --git a/scripts/object/building/player/player_house_corellia_small_style_01.py b/scripts/object/building/player/player_house_corellia_small_style_01.py
index ccad8904..6e0ae61d 100644
--- a/scripts/object/building/player/player_house_corellia_small_style_01.py
+++ b/scripts/object/building/player/player_house_corellia_small_style_01.py
@@ -1,4 +1,11 @@
import sys
def setup(core, object):
+ sign = core.objectService.createChildObject(object, 'object/tangible/sign/player/shared_house_address.iff', -7.39, 2.36, 2, -1, 0, -1)
+ print(sign)
+ object.setAttachment("structureSign", sign)
+
+ structureterminal = core.objectService.createChildObject(object, 'object/tangible/terminal/shared_terminal_player_structure.iff', -5, 0.74, -1.81, 0.707107, -0.707107, 1)
+ #structureterminal.setAttachment('radial_filename', 'structure_management_terminal')
+ structureterminal.setAttachment('housing_parentstruct', object)
return
\ No newline at end of file
diff --git a/scripts/object/building/player/player_house_corellia_small_style_01_floorplan_02.py b/scripts/object/building/player/player_house_corellia_small_style_01_floorplan_02.py
index ccad8904..6e0ae61d 100644
--- a/scripts/object/building/player/player_house_corellia_small_style_01_floorplan_02.py
+++ b/scripts/object/building/player/player_house_corellia_small_style_01_floorplan_02.py
@@ -1,4 +1,11 @@
import sys
def setup(core, object):
+ sign = core.objectService.createChildObject(object, 'object/tangible/sign/player/shared_house_address.iff', -7.39, 2.36, 2, -1, 0, -1)
+ print(sign)
+ object.setAttachment("structureSign", sign)
+
+ structureterminal = core.objectService.createChildObject(object, 'object/tangible/terminal/shared_terminal_player_structure.iff', -5, 0.74, -1.81, 0.707107, -0.707107, 1)
+ #structureterminal.setAttachment('radial_filename', 'structure_management_terminal')
+ structureterminal.setAttachment('housing_parentstruct', object)
return
\ No newline at end of file
diff --git a/scripts/object/building/player/player_house_corellia_small_style_02.py b/scripts/object/building/player/player_house_corellia_small_style_02.py
index ccad8904..d301f713 100644
--- a/scripts/object/building/player/player_house_corellia_small_style_02.py
+++ b/scripts/object/building/player/player_house_corellia_small_style_02.py
@@ -1,4 +1,11 @@
import sys
def setup(core, object):
+ sign = core.objectService.createChildObject(object, 'object/tangible/sign/player/shared_house_address.iff', -1.9, 2.86, 8.35, -1, 0, -1)
+ print(sign)
+ object.setAttachment("structureSign", sign)
+
+ structureterminal = core.objectService.createChildObject(object, 'object/tangible/terminal/shared_terminal_player_structure.iff', 6.5, 0.5, -3.8, 0.707108, -0.707108, 3)
+ #structureterminal.setAttachment('radial_filename', 'structure_management_terminal')
+ structureterminal.setAttachment('housing_parentstruct', object)
return
\ No newline at end of file
diff --git a/scripts/object/building/player/player_house_corellia_small_style_02_floorplan_02.py b/scripts/object/building/player/player_house_corellia_small_style_02_floorplan_02.py
index ccad8904..faba7813 100644
--- a/scripts/object/building/player/player_house_corellia_small_style_02_floorplan_02.py
+++ b/scripts/object/building/player/player_house_corellia_small_style_02_floorplan_02.py
@@ -1,4 +1,11 @@
import sys
def setup(core, object):
+ sign = core.objectService.createChildObject(object, 'object/tangible/sign/player/shared_house_address.iff', -1.9, 2.86, 8.35, -1, 0, -1)
+ print(sign)
+ object.setAttachment("structureSign", sign)
+
+ structureterminal = core.objectService.createChildObject(object, 'object/tangible/terminal/shared_terminal_player_structure.iff', 6.5, 0.5, -3.8, 0.707108, -0.707108, 2)
+ #structureterminal.setAttachment('radial_filename', 'structure_management_terminal')
+ structureterminal.setAttachment('housing_parentstruct', object)
return
\ No newline at end of file
diff --git a/scripts/object/building/player/player_house_generic_small_style_01.py b/scripts/object/building/player/player_house_generic_small_style_01.py
index ccad8904..aa9723bd 100644
--- a/scripts/object/building/player/player_house_generic_small_style_01.py
+++ b/scripts/object/building/player/player_house_generic_small_style_01.py
@@ -1,4 +1,11 @@
import sys
def setup(core, object):
+ sign = core.objectService.createChildObject(object, 'object/tangible/sign/player/shared_house_address.iff', -7.39, 2.36, 2, -1, 0, -1)
+ print(sign)
+ object.setAttachment("structureSign", sign)
+
+ structureterminal = core.objectService.createChildObject(object, 'object/tangible/terminal/shared_terminal_player_structure.iff', -5, 0.74, -1.81, 0.707107, -0.707107, 1)
+ #structureterminal.setAttachment('radial_filename', 'structure/structure_management_terminal')
+ structureterminal.setAttachment('housing_parentstruct', object)
return
\ No newline at end of file
diff --git a/scripts/object/building/player/player_house_generic_small_style_01_floorplan_02.py b/scripts/object/building/player/player_house_generic_small_style_01_floorplan_02.py
index ccad8904..6e0ae61d 100644
--- a/scripts/object/building/player/player_house_generic_small_style_01_floorplan_02.py
+++ b/scripts/object/building/player/player_house_generic_small_style_01_floorplan_02.py
@@ -1,4 +1,11 @@
import sys
def setup(core, object):
+ sign = core.objectService.createChildObject(object, 'object/tangible/sign/player/shared_house_address.iff', -7.39, 2.36, 2, -1, 0, -1)
+ print(sign)
+ object.setAttachment("structureSign", sign)
+
+ structureterminal = core.objectService.createChildObject(object, 'object/tangible/terminal/shared_terminal_player_structure.iff', -5, 0.74, -1.81, 0.707107, -0.707107, 1)
+ #structureterminal.setAttachment('radial_filename', 'structure_management_terminal')
+ structureterminal.setAttachment('housing_parentstruct', object)
return
\ No newline at end of file
diff --git a/scripts/object/building/player/player_house_generic_small_style_02.py b/scripts/object/building/player/player_house_generic_small_style_02.py
index ccad8904..d301f713 100644
--- a/scripts/object/building/player/player_house_generic_small_style_02.py
+++ b/scripts/object/building/player/player_house_generic_small_style_02.py
@@ -1,4 +1,11 @@
import sys
def setup(core, object):
+ sign = core.objectService.createChildObject(object, 'object/tangible/sign/player/shared_house_address.iff', -1.9, 2.86, 8.35, -1, 0, -1)
+ print(sign)
+ object.setAttachment("structureSign", sign)
+
+ structureterminal = core.objectService.createChildObject(object, 'object/tangible/terminal/shared_terminal_player_structure.iff', 6.5, 0.5, -3.8, 0.707108, -0.707108, 3)
+ #structureterminal.setAttachment('radial_filename', 'structure_management_terminal')
+ structureterminal.setAttachment('housing_parentstruct', object)
return
\ No newline at end of file
diff --git a/scripts/object/creature/player/bothan_female.py b/scripts/object/creature/player/bothan_female.py
index ccad8904..a77a99e7 100644
--- a/scripts/object/creature/player/bothan_female.py
+++ b/scripts/object/creature/player/bothan_female.py
@@ -1,4 +1,5 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'creature/player')
return
\ No newline at end of file
diff --git a/scripts/object/creature/player/bothan_male.py b/scripts/object/creature/player/bothan_male.py
index ccad8904..a77a99e7 100644
--- a/scripts/object/creature/player/bothan_male.py
+++ b/scripts/object/creature/player/bothan_male.py
@@ -1,4 +1,5 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'creature/player')
return
\ No newline at end of file
diff --git a/scripts/object/creature/player/human_female.py b/scripts/object/creature/player/human_female.py
index ccad8904..a77a99e7 100644
--- a/scripts/object/creature/player/human_female.py
+++ b/scripts/object/creature/player/human_female.py
@@ -1,4 +1,5 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'creature/player')
return
\ No newline at end of file
diff --git a/scripts/object/creature/player/human_male.py b/scripts/object/creature/player/human_male.py
index ccad8904..a77a99e7 100644
--- a/scripts/object/creature/player/human_male.py
+++ b/scripts/object/creature/player/human_male.py
@@ -1,4 +1,5 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'creature/player')
return
\ No newline at end of file
diff --git a/scripts/object/creature/player/ithorian_female.py b/scripts/object/creature/player/ithorian_female.py
index ccad8904..a77a99e7 100644
--- a/scripts/object/creature/player/ithorian_female.py
+++ b/scripts/object/creature/player/ithorian_female.py
@@ -1,4 +1,5 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'creature/player')
return
\ No newline at end of file
diff --git a/scripts/object/creature/player/ithorian_male.py b/scripts/object/creature/player/ithorian_male.py
index ccad8904..a77a99e7 100644
--- a/scripts/object/creature/player/ithorian_male.py
+++ b/scripts/object/creature/player/ithorian_male.py
@@ -1,4 +1,5 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'creature/player')
return
\ No newline at end of file
diff --git a/scripts/object/creature/player/moncal_female.py b/scripts/object/creature/player/moncal_female.py
index ccad8904..a77a99e7 100644
--- a/scripts/object/creature/player/moncal_female.py
+++ b/scripts/object/creature/player/moncal_female.py
@@ -1,4 +1,5 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'creature/player')
return
\ No newline at end of file
diff --git a/scripts/object/creature/player/moncal_male.py b/scripts/object/creature/player/moncal_male.py
index ccad8904..a77a99e7 100644
--- a/scripts/object/creature/player/moncal_male.py
+++ b/scripts/object/creature/player/moncal_male.py
@@ -1,4 +1,5 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'creature/player')
return
\ No newline at end of file
diff --git a/scripts/object/creature/player/rodian_female.py b/scripts/object/creature/player/rodian_female.py
index ccad8904..a77a99e7 100644
--- a/scripts/object/creature/player/rodian_female.py
+++ b/scripts/object/creature/player/rodian_female.py
@@ -1,4 +1,5 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'creature/player')
return
\ No newline at end of file
diff --git a/scripts/object/creature/player/rodian_male.py b/scripts/object/creature/player/rodian_male.py
index ccad8904..a77a99e7 100644
--- a/scripts/object/creature/player/rodian_male.py
+++ b/scripts/object/creature/player/rodian_male.py
@@ -1,4 +1,5 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'creature/player')
return
\ No newline at end of file
diff --git a/scripts/object/creature/player/sullustan_female.py b/scripts/object/creature/player/sullustan_female.py
index ccad8904..a77a99e7 100644
--- a/scripts/object/creature/player/sullustan_female.py
+++ b/scripts/object/creature/player/sullustan_female.py
@@ -1,4 +1,5 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'creature/player')
return
\ No newline at end of file
diff --git a/scripts/object/creature/player/sullustan_male.py b/scripts/object/creature/player/sullustan_male.py
index ccad8904..a77a99e7 100644
--- a/scripts/object/creature/player/sullustan_male.py
+++ b/scripts/object/creature/player/sullustan_male.py
@@ -1,4 +1,5 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'creature/player')
return
\ No newline at end of file
diff --git a/scripts/object/creature/player/trandoshan_female.py b/scripts/object/creature/player/trandoshan_female.py
index ccad8904..a77a99e7 100644
--- a/scripts/object/creature/player/trandoshan_female.py
+++ b/scripts/object/creature/player/trandoshan_female.py
@@ -1,4 +1,5 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'creature/player')
return
\ No newline at end of file
diff --git a/scripts/object/creature/player/trandoshan_male.py b/scripts/object/creature/player/trandoshan_male.py
index ccad8904..a77a99e7 100644
--- a/scripts/object/creature/player/trandoshan_male.py
+++ b/scripts/object/creature/player/trandoshan_male.py
@@ -1,4 +1,5 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'creature/player')
return
\ No newline at end of file
diff --git a/scripts/object/creature/player/twilek_female.py b/scripts/object/creature/player/twilek_female.py
index ccad8904..a77a99e7 100644
--- a/scripts/object/creature/player/twilek_female.py
+++ b/scripts/object/creature/player/twilek_female.py
@@ -1,4 +1,5 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'creature/player')
return
\ No newline at end of file
diff --git a/scripts/object/creature/player/twilek_male.py b/scripts/object/creature/player/twilek_male.py
index ccad8904..a77a99e7 100644
--- a/scripts/object/creature/player/twilek_male.py
+++ b/scripts/object/creature/player/twilek_male.py
@@ -1,4 +1,5 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'creature/player')
return
\ No newline at end of file
diff --git a/scripts/object/creature/player/wookiee_female.py b/scripts/object/creature/player/wookiee_female.py
index ccad8904..a77a99e7 100644
--- a/scripts/object/creature/player/wookiee_female.py
+++ b/scripts/object/creature/player/wookiee_female.py
@@ -1,4 +1,5 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'creature/player')
return
\ No newline at end of file
diff --git a/scripts/object/creature/player/wookiee_male.py b/scripts/object/creature/player/wookiee_male.py
index ccad8904..a77a99e7 100644
--- a/scripts/object/creature/player/wookiee_male.py
+++ b/scripts/object/creature/player/wookiee_male.py
@@ -1,4 +1,5 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'creature/player')
return
\ No newline at end of file
diff --git a/scripts/object/creature/player/zabrak_female.py b/scripts/object/creature/player/zabrak_female.py
index ccad8904..a77a99e7 100644
--- a/scripts/object/creature/player/zabrak_female.py
+++ b/scripts/object/creature/player/zabrak_female.py
@@ -1,4 +1,5 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'creature/player')
return
\ No newline at end of file
diff --git a/scripts/object/creature/player/zabrak_male.py b/scripts/object/creature/player/zabrak_male.py
index ccad8904..a77a99e7 100644
--- a/scripts/object/creature/player/zabrak_male.py
+++ b/scripts/object/creature/player/zabrak_male.py
@@ -1,4 +1,5 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'creature/player')
return
\ No newline at end of file
diff --git a/scripts/object/installation/generators/power_generator_fusion_style_1.py b/scripts/object/installation/generators/power_generator_fusion_style_1.py
index ccad8904..3b0b69aa 100644
--- a/scripts/object/installation/generators/power_generator_fusion_style_1.py
+++ b/scripts/object/installation/generators/power_generator_fusion_style_1.py
@@ -1,4 +1,8 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'structure/generator')
+ object.setHarvester_type(5)
+ object.setMaintenanceCost(30)
+ object.setGenerator(1)
return
\ No newline at end of file
diff --git a/scripts/object/installation/generators/power_generator_geothermal_style_1.py b/scripts/object/installation/generators/power_generator_geothermal_style_1.py
index ccad8904..3b0b69aa 100644
--- a/scripts/object/installation/generators/power_generator_geothermal_style_1.py
+++ b/scripts/object/installation/generators/power_generator_geothermal_style_1.py
@@ -1,4 +1,8 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'structure/generator')
+ object.setHarvester_type(5)
+ object.setMaintenanceCost(30)
+ object.setGenerator(1)
return
\ No newline at end of file
diff --git a/scripts/object/installation/generators/power_generator_photo_bio_style_1.py b/scripts/object/installation/generators/power_generator_photo_bio_style_1.py
index ccad8904..3b0b69aa 100644
--- a/scripts/object/installation/generators/power_generator_photo_bio_style_1.py
+++ b/scripts/object/installation/generators/power_generator_photo_bio_style_1.py
@@ -1,4 +1,8 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'structure/generator')
+ object.setHarvester_type(5)
+ object.setMaintenanceCost(30)
+ object.setGenerator(1)
return
\ No newline at end of file
diff --git a/scripts/object/installation/generators/power_generator_solar_style_1.py b/scripts/object/installation/generators/power_generator_solar_style_1.py
index ccad8904..3b0b69aa 100644
--- a/scripts/object/installation/generators/power_generator_solar_style_1.py
+++ b/scripts/object/installation/generators/power_generator_solar_style_1.py
@@ -1,4 +1,8 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'structure/generator')
+ object.setHarvester_type(5)
+ object.setMaintenanceCost(30)
+ object.setGenerator(1)
return
\ No newline at end of file
diff --git a/scripts/object/installation/generators/power_generator_wind_style_1.py b/scripts/object/installation/generators/power_generator_wind_style_1.py
index ccad8904..0c7bc05c 100644
--- a/scripts/object/installation/generators/power_generator_wind_style_1.py
+++ b/scripts/object/installation/generators/power_generator_wind_style_1.py
@@ -1,4 +1,8 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'structure/generator')
+ object.setHarvester_type(5)
+ object.setMaintenanceCost(20)
+ object.setGenerator(1)
return
\ No newline at end of file
diff --git a/scripts/object/installation/mining_gas/mining_gas_harvester_style_1.py b/scripts/object/installation/mining_gas/mining_gas_harvester_style_1.py
index ccad8904..6b49d930 100644
--- a/scripts/object/installation/mining_gas/mining_gas_harvester_style_1.py
+++ b/scripts/object/installation/mining_gas/mining_gas_harvester_style_1.py
@@ -1,4 +1,8 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'structure/harvester')
+ object.setHarvester_type(3)
+ object.setPowerCost(25);
+ object.setMaintenanceCost(16);
return
\ No newline at end of file
diff --git a/scripts/object/installation/mining_gas/mining_gas_harvester_style_2.py b/scripts/object/installation/mining_gas/mining_gas_harvester_style_2.py
index ccad8904..7a6f2b77 100644
--- a/scripts/object/installation/mining_gas/mining_gas_harvester_style_2.py
+++ b/scripts/object/installation/mining_gas/mining_gas_harvester_style_2.py
@@ -1,4 +1,8 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'structure/harvester')
+ object.setHarvester_type(3)
+ object.setPowerCost(60);
+ object.setMaintenanceCost(60);
return
\ No newline at end of file
diff --git a/scripts/object/installation/mining_gas/mining_gas_harvester_style_3.py b/scripts/object/installation/mining_gas/mining_gas_harvester_style_3.py
index ccad8904..36a2c41e 100644
--- a/scripts/object/installation/mining_gas/mining_gas_harvester_style_3.py
+++ b/scripts/object/installation/mining_gas/mining_gas_harvester_style_3.py
@@ -1,4 +1,8 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'structure/harvester')
+ object.setHarvester_type(3)
+ object.setPowerCost(75);
+ object.setMaintenanceCost(90);
return
\ No newline at end of file
diff --git a/scripts/object/installation/mining_gas/mining_gas_harvester_style_4.py b/scripts/object/installation/mining_gas/mining_gas_harvester_style_4.py
index ccad8904..93f4bfec 100644
--- a/scripts/object/installation/mining_gas/mining_gas_harvester_style_4.py
+++ b/scripts/object/installation/mining_gas/mining_gas_harvester_style_4.py
@@ -1,4 +1,8 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'structure/harvester')
+ object.setHarvester_type(3)
+ object.setPowerCost(100);
+ object.setMaintenanceCost(120);
return
\ No newline at end of file
diff --git a/scripts/object/installation/mining_liquid/mining_liquid_harvester_style_1.py b/scripts/object/installation/mining_liquid/mining_liquid_harvester_style_1.py
index ccad8904..f8ad23ca 100644
--- a/scripts/object/installation/mining_liquid/mining_liquid_harvester_style_1.py
+++ b/scripts/object/installation/mining_liquid/mining_liquid_harvester_style_1.py
@@ -1,4 +1,8 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'structure/harvester')
+ object.setHarvester_type(1)
+ object.setPowerCost(25);
+ object.setMaintenanceCost(16);
return
\ No newline at end of file
diff --git a/scripts/object/installation/mining_liquid/mining_liquid_harvester_style_2.py b/scripts/object/installation/mining_liquid/mining_liquid_harvester_style_2.py
index ccad8904..346183c1 100644
--- a/scripts/object/installation/mining_liquid/mining_liquid_harvester_style_2.py
+++ b/scripts/object/installation/mining_liquid/mining_liquid_harvester_style_2.py
@@ -1,4 +1,8 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'structure/harvester')
+ object.setHarvester_type(1)
+ object.setPowerCost(60);
+ object.setMaintenanceCost(60);
return
\ No newline at end of file
diff --git a/scripts/object/installation/mining_liquid/mining_liquid_harvester_style_3.py b/scripts/object/installation/mining_liquid/mining_liquid_harvester_style_3.py
index ccad8904..c1ad33db 100644
--- a/scripts/object/installation/mining_liquid/mining_liquid_harvester_style_3.py
+++ b/scripts/object/installation/mining_liquid/mining_liquid_harvester_style_3.py
@@ -1,4 +1,8 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'structure/harvester')
+ object.setHarvester_type(1)
+ object.setPowerCost(75);
+ object.setMaintenanceCost(90);
return
\ No newline at end of file
diff --git a/scripts/object/installation/mining_liquid/mining_liquid_harvester_style_4.py b/scripts/object/installation/mining_liquid/mining_liquid_harvester_style_4.py
index ccad8904..a394e5ce 100644
--- a/scripts/object/installation/mining_liquid/mining_liquid_harvester_style_4.py
+++ b/scripts/object/installation/mining_liquid/mining_liquid_harvester_style_4.py
@@ -1,4 +1,8 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'structure/harvester')
+ object.setHarvester_type(1)
+ object.setPowerCost(100);
+ object.setMaintenanceCost(120);
return
\ No newline at end of file
diff --git a/scripts/object/installation/mining_liquid/mining_liquid_moisture_harvester.py b/scripts/object/installation/mining_liquid/mining_liquid_moisture_harvester.py
index ccad8904..3905b4c0 100644
--- a/scripts/object/installation/mining_liquid/mining_liquid_moisture_harvester.py
+++ b/scripts/object/installation/mining_liquid/mining_liquid_moisture_harvester.py
@@ -1,4 +1,8 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'structure/harvester')
+ object.setHarvester_type(4)
+ object.setPowerCost(25);
+ object.setMaintenanceCost(16);
return
\ No newline at end of file
diff --git a/scripts/object/installation/mining_liquid/mining_liquid_moisture_harvester_elite.py b/scripts/object/installation/mining_liquid/mining_liquid_moisture_harvester_elite.py
index ccad8904..ae69d03d 100644
--- a/scripts/object/installation/mining_liquid/mining_liquid_moisture_harvester_elite.py
+++ b/scripts/object/installation/mining_liquid/mining_liquid_moisture_harvester_elite.py
@@ -1,4 +1,8 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'structure/harvester')
+ object.setHarvester_type(4)
+ object.setPowerCost(100);
+ object.setMaintenanceCost(120);
return
\ No newline at end of file
diff --git a/scripts/object/installation/mining_liquid/mining_liquid_moisture_harvester_heavy.py b/scripts/object/installation/mining_liquid/mining_liquid_moisture_harvester_heavy.py
index ccad8904..499bd036 100644
--- a/scripts/object/installation/mining_liquid/mining_liquid_moisture_harvester_heavy.py
+++ b/scripts/object/installation/mining_liquid/mining_liquid_moisture_harvester_heavy.py
@@ -1,4 +1,8 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'structure/harvester')
+ object.setHarvester_type(4)
+ object.setPowerCost(75);
+ object.setMaintenanceCost(90);
return
\ No newline at end of file
diff --git a/scripts/object/installation/mining_liquid/mining_liquid_moisture_harvester_medium.py b/scripts/object/installation/mining_liquid/mining_liquid_moisture_harvester_medium.py
index ccad8904..4962e477 100644
--- a/scripts/object/installation/mining_liquid/mining_liquid_moisture_harvester_medium.py
+++ b/scripts/object/installation/mining_liquid/mining_liquid_moisture_harvester_medium.py
@@ -1,4 +1,8 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'structure/harvester')
+ object.setHarvester_type(4)
+ object.setPowerCost(60);
+ object.setMaintenanceCost(60);
return
\ No newline at end of file
diff --git a/scripts/object/installation/mining_ore/mining_ore_harvester_elite.py b/scripts/object/installation/mining_ore/mining_ore_harvester_elite.py
index ccad8904..daafe847 100644
--- a/scripts/object/installation/mining_ore/mining_ore_harvester_elite.py
+++ b/scripts/object/installation/mining_ore/mining_ore_harvester_elite.py
@@ -1,4 +1,8 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'structure/harvester')
+ object.setHarvester_type(0)
+ object.setPowerCost(100);
+ object.setMaintenanceCost(120);
return
\ No newline at end of file
diff --git a/scripts/object/installation/mining_ore/mining_ore_harvester_heavy.py b/scripts/object/installation/mining_ore/mining_ore_harvester_heavy.py
index ccad8904..02cad7c2 100644
--- a/scripts/object/installation/mining_ore/mining_ore_harvester_heavy.py
+++ b/scripts/object/installation/mining_ore/mining_ore_harvester_heavy.py
@@ -1,4 +1,8 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'structure/harvester')
+ object.setHarvester_type(0)
+ object.setPowerCost(75);
+ object.setMaintenanceCost(90);
return
\ No newline at end of file
diff --git a/scripts/object/installation/mining_ore/mining_ore_harvester_style_1.py b/scripts/object/installation/mining_ore/mining_ore_harvester_style_1.py
index ccad8904..7a6fdae5 100644
--- a/scripts/object/installation/mining_ore/mining_ore_harvester_style_1.py
+++ b/scripts/object/installation/mining_ore/mining_ore_harvester_style_1.py
@@ -1,4 +1,8 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'structure/harvester')
+ object.setHarvester_type(0)
+ object.setPowerCost(25);
+ object.setMaintenanceCost(16);
return
\ No newline at end of file
diff --git a/scripts/object/installation/mining_ore/mining_ore_harvester_style_2.py b/scripts/object/installation/mining_ore/mining_ore_harvester_style_2.py
index ccad8904..76358940 100644
--- a/scripts/object/installation/mining_ore/mining_ore_harvester_style_2.py
+++ b/scripts/object/installation/mining_ore/mining_ore_harvester_style_2.py
@@ -1,4 +1,8 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'structure/harvester')
+ object.setHarvester_type(0)
+ object.setPowerCost(60);
+ object.setMaintenanceCost(60);
return
\ No newline at end of file
diff --git a/scripts/object/installation/mining_organic/mining_organic_flora_farm.py b/scripts/object/installation/mining_organic/mining_organic_flora_farm.py
index ccad8904..714ccd97 100644
--- a/scripts/object/installation/mining_organic/mining_organic_flora_farm.py
+++ b/scripts/object/installation/mining_organic/mining_organic_flora_farm.py
@@ -1,4 +1,8 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'structure/harvester')
+ object.setHarvester_type(2)
+ object.setPowerCost(25);
+ object.setMaintenanceCost(16);
return
\ No newline at end of file
diff --git a/scripts/object/installation/mining_organic/mining_organic_flora_farm_elite.py b/scripts/object/installation/mining_organic/mining_organic_flora_farm_elite.py
index ccad8904..71580f57 100644
--- a/scripts/object/installation/mining_organic/mining_organic_flora_farm_elite.py
+++ b/scripts/object/installation/mining_organic/mining_organic_flora_farm_elite.py
@@ -1,4 +1,8 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'structure/harvester')
+ object.setHarvester_type(2)
+ object.setPowerCost(100);
+ object.setMaintenanceCost(120);
return
\ No newline at end of file
diff --git a/scripts/object/installation/mining_organic/mining_organic_flora_farm_heavy.py b/scripts/object/installation/mining_organic/mining_organic_flora_farm_heavy.py
index ccad8904..dbd32ee3 100644
--- a/scripts/object/installation/mining_organic/mining_organic_flora_farm_heavy.py
+++ b/scripts/object/installation/mining_organic/mining_organic_flora_farm_heavy.py
@@ -1,4 +1,8 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'structure/harvester')
+ object.setHarvester_type(2)
+ object.setPowerCost(60);
+ object.setMaintenanceCost(60);
return
\ No newline at end of file
diff --git a/scripts/object/installation/mining_organic/mining_organic_flora_farm_medium.py b/scripts/object/installation/mining_organic/mining_organic_flora_farm_medium.py
index ccad8904..dbd32ee3 100644
--- a/scripts/object/installation/mining_organic/mining_organic_flora_farm_medium.py
+++ b/scripts/object/installation/mining_organic/mining_organic_flora_farm_medium.py
@@ -1,4 +1,8 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'structure/harvester')
+ object.setHarvester_type(2)
+ object.setPowerCost(60);
+ object.setMaintenanceCost(60);
return
\ No newline at end of file
diff --git a/scripts/object/intangible/vehicle/barc_speeder_pcd.py b/scripts/object/intangible/vehicle/barc_speeder_pcd.py
index ccad8904..e9fa1234 100644
--- a/scripts/object/intangible/vehicle/barc_speeder_pcd.py
+++ b/scripts/object/intangible/vehicle/barc_speeder_pcd.py
@@ -1,4 +1,15 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'vehicle_pcd')
+ return
+
+def use(core, actor, object):
+ if object and actor.getAttachment('activeVehicleID') == None:
+ barc = core.objectService.createObject('object/mobile/vehicle/shared_barc_speeder.iff', 0, actor.getPlanet(), actor.getPosition(), actor.getOrientation())
+
+ barc.setOwnerId(actor.getObjectID())
+ actor.setAttachment('activeVehicleID', barc.getObjectID())
+
+ core.simulationService.add(barc, barc.getPosition().x, barc.getPosition().z, True)
return
\ No newline at end of file
diff --git a/scripts/object/intangible/vehicle/landspeeder_tantive4_pcd.py b/scripts/object/intangible/vehicle/landspeeder_tantive4_pcd.py
index ccad8904..ff8849f4 100644
--- a/scripts/object/intangible/vehicle/landspeeder_tantive4_pcd.py
+++ b/scripts/object/intangible/vehicle/landspeeder_tantive4_pcd.py
@@ -1,4 +1,15 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'vehicle_pcd')
+ return
+
+def use(core, actor, object):
+ if object and actor.getAttachment('activeVehicleID') == None:
+ tantive4 = core.objectService.createObject('object/mobile/vehicle/shared_landspeeder_tantive4.iff', 0, actor.getPlanet(), actor.getPosition(), actor.getOrientation())
+
+ tantive4.setOwnerId(actor.getObjectID())
+ actor.setAttachment('activeVehicleID', tantive4.getObjectID())
+
+ core.simulationService.add(tantive4, tantive4.getPosition().x, tantive4.getPosition().z, True)
return
\ No newline at end of file
diff --git a/scripts/object/intangible/vehicle/speederbike_swoop_pcd.py b/scripts/object/intangible/vehicle/speederbike_swoop_pcd.py
index 94a561f7..d7c3f4a1 100644
--- a/scripts/object/intangible/vehicle/speederbike_swoop_pcd.py
+++ b/scripts/object/intangible/vehicle/speederbike_swoop_pcd.py
@@ -1,23 +1,5 @@
import sys
def setup(core, object):
- object.setAttachment('vehicleId', core.objectService.generateObjectID())
- object.setAttachment('radial_filename', 'item')
- return
-
-def use(core, actor, object):
- if object:
- vehicleId = object.getAttachment('vehicleId')
-
- if not vehicleId:
- return
-
- vehicle = core.objectService.getObject(vehicleId)
-
- if vehicle:
- core.objectService.destroyObject(vehicle)
- else:
- core.objectService.createObject('object/mobile/vehicles/shared_speederbike_swoop.iff', vehicleId, actor.getPlanet(), actor.getPosition(), actor.getOrientation())
- core.simulationService.add(vehicle, vehicle.getPosition().x, vehicle.getPosition().z, True)
-
+ object.setAttachment('radial_filename', 'datapad/vehicle_pcd')
return
\ No newline at end of file
diff --git a/scripts/object/mobile/dressed_dark_jedi_master_female_twk_01.py b/scripts/object/mobile/dressed_dark_jedi_master_female_twk_01.py
index ccad8904..58245dfb 100644
--- a/scripts/object/mobile/dressed_dark_jedi_master_female_twk_01.py
+++ b/scripts/object/mobile/dressed_dark_jedi_master_female_twk_01.py
@@ -1,4 +1,15 @@
import sys
def setup(core, object):
- return
\ No newline at end of file
+
+ lootPoolNames_1 = ['Junk']
+ lootPoolChances_1 = [100]
+ lootGroupChance_1 = 65
+ object.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1)
+
+ lootPoolNames_2 = ['powercrystals_hiq']
+ lootPoolChances_2 = [100]
+ lootGroupChance_2 = 85
+ object.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2)
+
+ return
\ No newline at end of file
diff --git a/scripts/object/mobile/dressed_dark_jedi_master_female_twk_02.py b/scripts/object/mobile/dressed_dark_jedi_master_female_twk_02.py
index ccad8904..58245dfb 100644
--- a/scripts/object/mobile/dressed_dark_jedi_master_female_twk_02.py
+++ b/scripts/object/mobile/dressed_dark_jedi_master_female_twk_02.py
@@ -1,4 +1,15 @@
import sys
def setup(core, object):
- return
\ No newline at end of file
+
+ lootPoolNames_1 = ['Junk']
+ lootPoolChances_1 = [100]
+ lootGroupChance_1 = 65
+ object.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1)
+
+ lootPoolNames_2 = ['powercrystals_hiq']
+ lootPoolChances_2 = [100]
+ lootGroupChance_2 = 85
+ object.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2)
+
+ return
\ No newline at end of file
diff --git a/scripts/object/mobile/dressed_dark_jedi_master_female_zab_01.py b/scripts/object/mobile/dressed_dark_jedi_master_female_zab_01.py
index ccad8904..58245dfb 100644
--- a/scripts/object/mobile/dressed_dark_jedi_master_female_zab_01.py
+++ b/scripts/object/mobile/dressed_dark_jedi_master_female_zab_01.py
@@ -1,4 +1,15 @@
import sys
def setup(core, object):
- return
\ No newline at end of file
+
+ lootPoolNames_1 = ['Junk']
+ lootPoolChances_1 = [100]
+ lootGroupChance_1 = 65
+ object.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1)
+
+ lootPoolNames_2 = ['powercrystals_hiq']
+ lootPoolChances_2 = [100]
+ lootGroupChance_2 = 85
+ object.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2)
+
+ return
\ No newline at end of file
diff --git a/scripts/object/mobile/dressed_dark_jedi_master_female_zab_02.py b/scripts/object/mobile/dressed_dark_jedi_master_female_zab_02.py
index ccad8904..58245dfb 100644
--- a/scripts/object/mobile/dressed_dark_jedi_master_female_zab_02.py
+++ b/scripts/object/mobile/dressed_dark_jedi_master_female_zab_02.py
@@ -1,4 +1,15 @@
import sys
def setup(core, object):
- return
\ No newline at end of file
+
+ lootPoolNames_1 = ['Junk']
+ lootPoolChances_1 = [100]
+ lootGroupChance_1 = 65
+ object.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1)
+
+ lootPoolNames_2 = ['powercrystals_hiq']
+ lootPoolChances_2 = [100]
+ lootGroupChance_2 = 85
+ object.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2)
+
+ return
\ No newline at end of file
diff --git a/scripts/object/mobile/dressed_dark_jedi_master_male_human_01.py b/scripts/object/mobile/dressed_dark_jedi_master_male_human_01.py
index ccad8904..58245dfb 100644
--- a/scripts/object/mobile/dressed_dark_jedi_master_male_human_01.py
+++ b/scripts/object/mobile/dressed_dark_jedi_master_male_human_01.py
@@ -1,4 +1,15 @@
import sys
def setup(core, object):
- return
\ No newline at end of file
+
+ lootPoolNames_1 = ['Junk']
+ lootPoolChances_1 = [100]
+ lootGroupChance_1 = 65
+ object.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1)
+
+ lootPoolNames_2 = ['powercrystals_hiq']
+ lootPoolChances_2 = [100]
+ lootGroupChance_2 = 85
+ object.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2)
+
+ return
\ No newline at end of file
diff --git a/scripts/object/mobile/dressed_dark_jedi_master_male_human_02.py b/scripts/object/mobile/dressed_dark_jedi_master_male_human_02.py
index ccad8904..58245dfb 100644
--- a/scripts/object/mobile/dressed_dark_jedi_master_male_human_02.py
+++ b/scripts/object/mobile/dressed_dark_jedi_master_male_human_02.py
@@ -1,4 +1,15 @@
import sys
def setup(core, object):
- return
\ No newline at end of file
+
+ lootPoolNames_1 = ['Junk']
+ lootPoolChances_1 = [100]
+ lootGroupChance_1 = 65
+ object.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1)
+
+ lootPoolNames_2 = ['powercrystals_hiq']
+ lootPoolChances_2 = [100]
+ lootGroupChance_2 = 85
+ object.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2)
+
+ return
\ No newline at end of file
diff --git a/scripts/object/mobile/dressed_dark_jedi_master_male_human_03.py b/scripts/object/mobile/dressed_dark_jedi_master_male_human_03.py
index ccad8904..58245dfb 100644
--- a/scripts/object/mobile/dressed_dark_jedi_master_male_human_03.py
+++ b/scripts/object/mobile/dressed_dark_jedi_master_male_human_03.py
@@ -1,4 +1,15 @@
import sys
def setup(core, object):
- return
\ No newline at end of file
+
+ lootPoolNames_1 = ['Junk']
+ lootPoolChances_1 = [100]
+ lootGroupChance_1 = 65
+ object.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1)
+
+ lootPoolNames_2 = ['powercrystals_hiq']
+ lootPoolChances_2 = [100]
+ lootGroupChance_2 = 85
+ object.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2)
+
+ return
\ No newline at end of file
diff --git a/scripts/object/mobile/dressed_dark_jedi_master_male_human_04.py b/scripts/object/mobile/dressed_dark_jedi_master_male_human_04.py
index ccad8904..58245dfb 100644
--- a/scripts/object/mobile/dressed_dark_jedi_master_male_human_04.py
+++ b/scripts/object/mobile/dressed_dark_jedi_master_male_human_04.py
@@ -1,4 +1,15 @@
import sys
def setup(core, object):
- return
\ No newline at end of file
+
+ lootPoolNames_1 = ['Junk']
+ lootPoolChances_1 = [100]
+ lootGroupChance_1 = 65
+ object.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1)
+
+ lootPoolNames_2 = ['powercrystals_hiq']
+ lootPoolChances_2 = [100]
+ lootGroupChance_2 = 85
+ object.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2)
+
+ return
\ No newline at end of file
diff --git a/scripts/object/mobile/dressed_dark_jedi_master_male_human_05.py b/scripts/object/mobile/dressed_dark_jedi_master_male_human_05.py
index ccad8904..58245dfb 100644
--- a/scripts/object/mobile/dressed_dark_jedi_master_male_human_05.py
+++ b/scripts/object/mobile/dressed_dark_jedi_master_male_human_05.py
@@ -1,4 +1,15 @@
import sys
def setup(core, object):
- return
\ No newline at end of file
+
+ lootPoolNames_1 = ['Junk']
+ lootPoolChances_1 = [100]
+ lootGroupChance_1 = 65
+ object.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1)
+
+ lootPoolNames_2 = ['powercrystals_hiq']
+ lootPoolChances_2 = [100]
+ lootGroupChance_2 = 85
+ object.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2)
+
+ return
\ No newline at end of file
diff --git a/scripts/object/mobile/dressed_dark_jedi_master_male_human_06.py b/scripts/object/mobile/dressed_dark_jedi_master_male_human_06.py
index ccad8904..58245dfb 100644
--- a/scripts/object/mobile/dressed_dark_jedi_master_male_human_06.py
+++ b/scripts/object/mobile/dressed_dark_jedi_master_male_human_06.py
@@ -1,4 +1,15 @@
import sys
def setup(core, object):
- return
\ No newline at end of file
+
+ lootPoolNames_1 = ['Junk']
+ lootPoolChances_1 = [100]
+ lootGroupChance_1 = 65
+ object.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1)
+
+ lootPoolNames_2 = ['powercrystals_hiq']
+ lootPoolChances_2 = [100]
+ lootGroupChance_2 = 85
+ object.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2)
+
+ return
\ No newline at end of file
diff --git a/scripts/object/mobile/dressed_stormtrooper_m.py b/scripts/object/mobile/dressed_stormtrooper_m.py
index ccad8904..6e1e28ee 100644
--- a/scripts/object/mobile/dressed_stormtrooper_m.py
+++ b/scripts/object/mobile/dressed_stormtrooper_m.py
@@ -1,4 +1,20 @@
import sys
def setup(core, object):
- return
\ No newline at end of file
+
+ lootPoolNames_1 = ['Junk']
+ lootPoolChances_1 = [100]
+ lootGroupChance_1 = 90
+ object.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1)
+
+ lootPoolNames_2 = ['composite_armor','random_loot_rifles']
+ lootPoolChances_2 = [50,50]
+ lootGroupChance_2 = 20
+ object.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2)
+
+ lootPoolNames_3 = ['Colorcrystals']
+ lootPoolChances_3 = [100]
+ lootGroupChance_3 = 6
+ object.addToLootGroups(lootPoolNames_3,lootPoolChances_3,lootGroupChance_3)
+
+ return
\ No newline at end of file
diff --git a/scripts/object/mobile/krayt_dragon.py b/scripts/object/mobile/krayt_dragon.py
index ccad8904..e023f206 100644
--- a/scripts/object/mobile/krayt_dragon.py
+++ b/scripts/object/mobile/krayt_dragon.py
@@ -1,4 +1,15 @@
import sys
def setup(core, object):
- return
\ No newline at end of file
+
+ lootPoolNames_1 = ['Junk']
+ lootPoolChances_1 = [100]
+ lootGroupChance_1 = 65
+ object.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1)
+
+ lootPoolNames_2 = ['kraytpearl_lowq']
+ lootPoolChances_2 = [100]
+ lootGroupChance_2 = 85
+ object.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2)
+
+ return
\ No newline at end of file
diff --git a/scripts/object/mobile/respec_seller_f_1.py b/scripts/object/mobile/respec_seller_f_1.py
index ccad8904..c7327815 100644
--- a/scripts/object/mobile/respec_seller_f_1.py
+++ b/scripts/object/mobile/respec_seller_f_1.py
@@ -1,4 +1,7 @@
import sys
+from resources.datatables import Options
def setup(core, object):
+ object.setAttachment('radial_filename', 'object/conversation')
+ object.setAttachment('conversationFile', 'respec')
return
\ No newline at end of file
diff --git a/scripts/object/mobile/tusken_raider.py b/scripts/object/mobile/tusken_raider.py
index ccad8904..2d06ec85 100644
--- a/scripts/object/mobile/tusken_raider.py
+++ b/scripts/object/mobile/tusken_raider.py
@@ -1,4 +1,25 @@
import sys
def setup(core, object):
- return
\ No newline at end of file
+
+ lootPoolNames_1 = ['Junk']
+ lootPoolChances_1 = [100]
+ lootGroupChance_1 = 90
+ object.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1)
+
+ lootPoolNames_2 = ['batons','random_loot_rifles',]
+ lootPoolChances_2 = [60,40]
+ lootGroupChance_2 = 20
+ object.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2)
+
+ lootPoolNames_3 = ['tusken_raider_clothing']
+ lootPoolChances_3 = [100]
+ lootGroupChance_3 = 10
+ object.addToLootGroups(lootPoolNames_3,lootPoolChances_3,lootGroupChance_3)
+
+ lootPoolNames_4 = ['Colorcrystals']
+ lootPoolChances_4 = [100]
+ lootGroupChance_4 = 6
+ object.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4)
+
+ return
\ No newline at end of file
diff --git a/scripts/object/mobile/vehicle/barc_speeder.py b/scripts/object/mobile/vehicle/barc_speeder.py
index ccad8904..4626c764 100644
--- a/scripts/object/mobile/vehicle/barc_speeder.py
+++ b/scripts/object/mobile/vehicle/barc_speeder.py
@@ -1,4 +1,16 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'vehicle')
+ return
+
+def use(core, actor, object):
+ vehicle = actor.getContainer()
+
+ if vehicle:
+ if vehicle.getObjectID() == object.getObjectID():
+ vehicle.remove(actor)
+ else:
+ vehicle.add(actor)
+
return
\ No newline at end of file
diff --git a/scripts/object/mobile/vehicle/landspeeder_tantive4.py b/scripts/object/mobile/vehicle/landspeeder_tantive4.py
index ccad8904..1e2994c6 100644
--- a/scripts/object/mobile/vehicle/landspeeder_tantive4.py
+++ b/scripts/object/mobile/vehicle/landspeeder_tantive4.py
@@ -1,4 +1,20 @@
import sys
+def setup(core, object):
+ object.setAttachment('radial_filename', 'vehicle')
+ return
+
+def use(core, actor, object):
+ vehicle = actor.getContainer()
+
+ if vehicle:
+ if vehicle.getObjectID() == object.getObjectID():
+ vehicle.remove(actor)
+ else:
+ vehicle.add(actor)
+
+ return
+import sys
+
def setup(core, object):
return
\ No newline at end of file
diff --git a/scripts/object/mobile/vehicle/speederbike_swoop.py b/scripts/object/mobile/vehicle/speederbike_swoop.py
index 4626c764..0f6896cd 100644
--- a/scripts/object/mobile/vehicle/speederbike_swoop.py
+++ b/scripts/object/mobile/vehicle/speederbike_swoop.py
@@ -1,16 +1,6 @@
import sys
def setup(core, object):
- object.setAttachment('radial_filename', 'vehicle')
- return
-
-def use(core, actor, object):
- vehicle = actor.getContainer()
-
- if vehicle:
- if vehicle.getObjectID() == object.getObjectID():
- vehicle.remove(actor)
- else:
- vehicle.add(actor)
-
+ object.setAttachment('radial_filename', 'creature/vehicle')
+ object.setAttachment('passengers', 0)
return
\ No newline at end of file
diff --git a/scripts/object/tangible/component/weapon/lightsaber/item_krayt_pearl_04_01.py b/scripts/object/tangible/component/weapon/lightsaber/item_krayt_pearl_04_01.py
new file mode 100644
index 00000000..49c8246d
--- /dev/null
+++ b/scripts/object/tangible/component/weapon/lightsaber/item_krayt_pearl_04_01.py
@@ -0,0 +1,6 @@
+import sys
+
+def setup(core, object):
+ object.setStringAttribute('crystal_owner', '\#FFFF00UNTUNED')
+ object.setStringAttribute('quality', 'Poor')
+ return
\ No newline at end of file
diff --git a/scripts/object/tangible/deed/harvester_deed/harvester_flora_deed.py b/scripts/object/tangible/deed/harvester_deed/harvester_flora_deed.py
index ccad8904..bc69c878 100644
--- a/scripts/object/tangible/deed/harvester_deed/harvester_flora_deed.py
+++ b/scripts/object/tangible/deed/harvester_deed/harvester_flora_deed.py
@@ -1,4 +1,9 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'deeds/harvesterDeed')
+ object.setConstructorTemplate('object/installation/mining_ore/construction/shared_construction_mining_ore_harvester_style_1.iff')
+ object.setStructureTemplate('object/installation/mining_organic/shared_mining_organic_flora_farm.iff')
+ object.setLotRequirement(1)
+ object.setBMR(16)
return
\ No newline at end of file
diff --git a/scripts/object/tangible/deed/harvester_deed/harvester_flora_deed_elite.py b/scripts/object/tangible/deed/harvester_deed/harvester_flora_deed_elite.py
index ccad8904..3bda16b3 100644
--- a/scripts/object/tangible/deed/harvester_deed/harvester_flora_deed_elite.py
+++ b/scripts/object/tangible/deed/harvester_deed/harvester_flora_deed_elite.py
@@ -1,4 +1,9 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'deeds/harvesterDeed')
+ object.setConstructorTemplate('object/installation/mining_ore/construction/shared_construction_mining_ore_harvester_style_heavy.iff')
+ object.setStructureTemplate('object/installation/mining_organic/shared_mining_organic_flora_farm_elite.iff')
+ object.setLotRequirement(3)
+ object.setBMR(120)
return
\ No newline at end of file
diff --git a/scripts/object/tangible/deed/harvester_deed/harvester_flora_deed_heavy.py b/scripts/object/tangible/deed/harvester_deed/harvester_flora_deed_heavy.py
index ccad8904..419f60f5 100644
--- a/scripts/object/tangible/deed/harvester_deed/harvester_flora_deed_heavy.py
+++ b/scripts/object/tangible/deed/harvester_deed/harvester_flora_deed_heavy.py
@@ -1,4 +1,9 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'deeds/harvesterDeed')
+ object.setConstructorTemplate('object/installation/mining_ore/construction/shared_construction_mining_ore_harvester_style_heavy.iff')
+ object.setStructureTemplate('object/installation/mining_organic/shared_mining_organic_flora_farm_heavy.iff')
+ object.setLotRequirement(1)
+ object.setBMR(90)
return
\ No newline at end of file
diff --git a/scripts/object/tangible/deed/harvester_deed/harvester_flora_deed_medium.py b/scripts/object/tangible/deed/harvester_deed/harvester_flora_deed_medium.py
index ccad8904..9eb27e8b 100644
--- a/scripts/object/tangible/deed/harvester_deed/harvester_flora_deed_medium.py
+++ b/scripts/object/tangible/deed/harvester_deed/harvester_flora_deed_medium.py
@@ -1,4 +1,9 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'deeds/harvesterDeed')
+ object.setConstructorTemplate('object/installation/mining_ore/construction/shared_construction_mining_ore_harvester_style_2.iff')
+ object.setStructureTemplate('object/installation/mining_organic/shared_mining_organic_flora_farm_medium.iff')
+ object.setLotRequirement(1)
+ object.setBMR(60)
return
\ No newline at end of file
diff --git a/scripts/object/tangible/deed/harvester_deed/harvester_gas_deed.py b/scripts/object/tangible/deed/harvester_deed/harvester_gas_deed.py
index ccad8904..5a4a2404 100644
--- a/scripts/object/tangible/deed/harvester_deed/harvester_gas_deed.py
+++ b/scripts/object/tangible/deed/harvester_deed/harvester_gas_deed.py
@@ -1,4 +1,9 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'deeds/harvesterDeed')
+ object.setConstructorTemplate('object/installation/mining_ore/construction/shared_construction_mining_ore_harvester_style_1.iff')
+ object.setStructureTemplate('object/installation/mining_gas/shared_mining_gas_harvester_style_1.iff')
+ object.setLotRequirement(1)
+ object.setBMR(16)
return
\ No newline at end of file
diff --git a/scripts/object/tangible/deed/harvester_deed/harvester_gas_deed_elite.py b/scripts/object/tangible/deed/harvester_deed/harvester_gas_deed_elite.py
index ccad8904..f560acdf 100644
--- a/scripts/object/tangible/deed/harvester_deed/harvester_gas_deed_elite.py
+++ b/scripts/object/tangible/deed/harvester_deed/harvester_gas_deed_elite.py
@@ -1,4 +1,9 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'deeds/harvesterDeed')
+ object.setConstructorTemplate('object/installation/mining_ore/construction/shared_construction_mining_ore_harvester_style_heavy.iff')
+ object.setStructureTemplate('object/installation/mining_gas/shared_mining_gas_harvester_style_4.iff')
+ object.setLotRequirement(3)
+ object.setBMR(120)
return
\ No newline at end of file
diff --git a/scripts/object/tangible/deed/harvester_deed/harvester_gas_deed_heavy.py b/scripts/object/tangible/deed/harvester_deed/harvester_gas_deed_heavy.py
index ccad8904..c9bbd64b 100644
--- a/scripts/object/tangible/deed/harvester_deed/harvester_gas_deed_heavy.py
+++ b/scripts/object/tangible/deed/harvester_deed/harvester_gas_deed_heavy.py
@@ -1,4 +1,9 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'deeds/harvesterDeed')
+ object.setConstructorTemplate('object/installation/mining_ore/construction/shared_construction_mining_ore_harvester_style_heavy.iff')
+ object.setStructureTemplate('object/installation/mining_gas/shared_mining_gas_harvester_style_3.iff')
+ object.setLotRequirement(1)
+ object.setBMR(90)
return
\ No newline at end of file
diff --git a/scripts/object/tangible/deed/harvester_deed/harvester_gas_deed_medium.py b/scripts/object/tangible/deed/harvester_deed/harvester_gas_deed_medium.py
index ccad8904..10a7007a 100644
--- a/scripts/object/tangible/deed/harvester_deed/harvester_gas_deed_medium.py
+++ b/scripts/object/tangible/deed/harvester_deed/harvester_gas_deed_medium.py
@@ -1,4 +1,9 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'deeds/harvesterDeed')
+ object.setConstructorTemplate('object/installation/mining_ore/construction/shared_construction_mining_ore_harvester_style_2.iff')
+ object.setStructureTemplate('object/installation/mining_gas/shared_mining_gas_harvester_style_2.iff')
+ object.setLotRequirement(1)
+ object.setBMR(60)
return
\ No newline at end of file
diff --git a/scripts/object/tangible/deed/harvester_deed/harvester_liquid_deed.py b/scripts/object/tangible/deed/harvester_deed/harvester_liquid_deed.py
index ccad8904..b0455145 100644
--- a/scripts/object/tangible/deed/harvester_deed/harvester_liquid_deed.py
+++ b/scripts/object/tangible/deed/harvester_deed/harvester_liquid_deed.py
@@ -1,4 +1,9 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'deeds/harvesterDeed')
+ object.setConstructorTemplate('object/installation/mining_ore/construction/shared_construction_mining_ore_harvester_style_1.iff')
+ object.setStructureTemplate('object/installation/mining_liquid/shared_mining_liquid_harvester_style_1.iff')
+ object.setLotRequirement(1)
+ object.setBMR(16)
return
\ No newline at end of file
diff --git a/scripts/object/tangible/deed/harvester_deed/harvester_liquid_deed_elite.py b/scripts/object/tangible/deed/harvester_deed/harvester_liquid_deed_elite.py
index ccad8904..723f3eab 100644
--- a/scripts/object/tangible/deed/harvester_deed/harvester_liquid_deed_elite.py
+++ b/scripts/object/tangible/deed/harvester_deed/harvester_liquid_deed_elite.py
@@ -1,4 +1,9 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'deeds/harvesterDeed')
+ object.setConstructorTemplate('object/installation/mining_ore/construction/shared_construction_mining_ore_harvester_style_heavy.iff')
+ object.setStructureTemplate('object/installation/mining_liquid/shared_mining_liquid_harvester_style_4.iff')
+ object.setLotRequirement(3)
+ object.setBMR(120)
return
\ No newline at end of file
diff --git a/scripts/object/tangible/deed/harvester_deed/harvester_liquid_deed_heavy.py b/scripts/object/tangible/deed/harvester_deed/harvester_liquid_deed_heavy.py
index ccad8904..773e722d 100644
--- a/scripts/object/tangible/deed/harvester_deed/harvester_liquid_deed_heavy.py
+++ b/scripts/object/tangible/deed/harvester_deed/harvester_liquid_deed_heavy.py
@@ -1,4 +1,9 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'deeds/harvesterDeed')
+ object.setConstructorTemplate('object/installation/mining_ore/construction/shared_construction_mining_ore_harvester_style_heavy.iff')
+ object.setStructureTemplate('object/installation/mining_liquid/shared_mining_liquid_harvester_style_3.iff')
+ object.setLotRequirement(1)
+ object.setBMR(90)
return
\ No newline at end of file
diff --git a/scripts/object/tangible/deed/harvester_deed/harvester_liquid_deed_medium.py b/scripts/object/tangible/deed/harvester_deed/harvester_liquid_deed_medium.py
index ccad8904..1f40b563 100644
--- a/scripts/object/tangible/deed/harvester_deed/harvester_liquid_deed_medium.py
+++ b/scripts/object/tangible/deed/harvester_deed/harvester_liquid_deed_medium.py
@@ -1,4 +1,9 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'deeds/harvesterDeed')
+ object.setConstructorTemplate('object/installation/mining_ore/construction/shared_construction_mining_ore_harvester_style_2.iff')
+ object.setStructureTemplate('object/installation/mining_liquid/shared_mining_liquid_harvester_style_2.iff')
+ object.setLotRequirement(1)
+ object.setBMR(60)
return
\ No newline at end of file
diff --git a/scripts/object/tangible/deed/harvester_deed/harvester_moisture_deed.py b/scripts/object/tangible/deed/harvester_deed/harvester_moisture_deed.py
index ccad8904..0241a524 100644
--- a/scripts/object/tangible/deed/harvester_deed/harvester_moisture_deed.py
+++ b/scripts/object/tangible/deed/harvester_deed/harvester_moisture_deed.py
@@ -1,4 +1,9 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'deeds/harvesterDeed')
+ object.setConstructorTemplate('object/installation/mining_ore/construction/shared_construction_mining_ore_harvester_style_1.iff')
+ object.setStructureTemplate('object/installation/mining_liquid/shared_mining_liquid_moisture_harvester.iff')
+ object.setLotRequirement(1)
+ object.setBMR(16)
return
\ No newline at end of file
diff --git a/scripts/object/tangible/deed/harvester_deed/harvester_moisture_deed_elite.py b/scripts/object/tangible/deed/harvester_deed/harvester_moisture_deed_elite.py
index ccad8904..e008e004 100644
--- a/scripts/object/tangible/deed/harvester_deed/harvester_moisture_deed_elite.py
+++ b/scripts/object/tangible/deed/harvester_deed/harvester_moisture_deed_elite.py
@@ -1,4 +1,9 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'deeds/harvesterDeed')
+ object.setConstructorTemplate('object/installation/mining_ore/construction/shared_construction_mining_ore_harvester_style_heavy.iff')
+ object.setStructureTemplate('object/installation/mining_liquid/shared_mining_liquid_moisture_harvester_elite.iff')
+ object.setLotRequirement(3)
+ object.setBMR(120)
return
\ No newline at end of file
diff --git a/scripts/object/tangible/deed/harvester_deed/harvester_moisture_deed_heavy.py b/scripts/object/tangible/deed/harvester_deed/harvester_moisture_deed_heavy.py
index ccad8904..e9206a11 100644
--- a/scripts/object/tangible/deed/harvester_deed/harvester_moisture_deed_heavy.py
+++ b/scripts/object/tangible/deed/harvester_deed/harvester_moisture_deed_heavy.py
@@ -1,4 +1,9 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'deeds/harvesterDeed')
+ object.setConstructorTemplate('object/installation/mining_ore/construction/shared_construction_mining_ore_harvester_style_heavy.iff')
+ object.setStructureTemplate('object/installation/mining_liquid/shared_mining_liquid_moisture_harvester_heavy.iff')
+ object.setLotRequirement(1)
+ object.setBMR(90)
return
\ No newline at end of file
diff --git a/scripts/object/tangible/deed/harvester_deed/harvester_moisture_deed_medium.py b/scripts/object/tangible/deed/harvester_deed/harvester_moisture_deed_medium.py
index ccad8904..2d1b24d2 100644
--- a/scripts/object/tangible/deed/harvester_deed/harvester_moisture_deed_medium.py
+++ b/scripts/object/tangible/deed/harvester_deed/harvester_moisture_deed_medium.py
@@ -1,4 +1,9 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'deeds/harvesterDeed')
+ object.setConstructorTemplate('object/installation/mining_ore/construction/shared_construction_mining_ore_harvester_style_2.iff')
+ object.setStructureTemplate('object/installation/mining_liquid/shared_mining_liquid_moisture_harvester_medium.iff')
+ object.setLotRequirement(1)
+ object.setBMR(60)
return
\ No newline at end of file
diff --git a/scripts/object/tangible/deed/harvester_deed/harvester_ore_deed_elite.py b/scripts/object/tangible/deed/harvester_deed/harvester_ore_deed_elite.py
index ccad8904..b8f86d6e 100644
--- a/scripts/object/tangible/deed/harvester_deed/harvester_ore_deed_elite.py
+++ b/scripts/object/tangible/deed/harvester_deed/harvester_ore_deed_elite.py
@@ -1,4 +1,9 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'deeds/harvesterDeed')
+ object.setConstructorTemplate('object/installation/mining_ore/construction/shared_construction_mining_ore_harvester_style_heavy.iff')
+ object.setStructureTemplate('object/installation/mining_ore/shared_mining_ore_harvester_elite.iff')
+ object.setLotRequirement(3)
+ object.setBMR(120)
return
\ No newline at end of file
diff --git a/scripts/object/tangible/deed/harvester_deed/harvester_ore_heavy_deed.py b/scripts/object/tangible/deed/harvester_deed/harvester_ore_heavy_deed.py
index ccad8904..28978e9c 100644
--- a/scripts/object/tangible/deed/harvester_deed/harvester_ore_heavy_deed.py
+++ b/scripts/object/tangible/deed/harvester_deed/harvester_ore_heavy_deed.py
@@ -1,4 +1,9 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'deeds/harvesterDeed')
+ object.setConstructorTemplate('object/installation/mining_ore/construction/shared_construction_mining_ore_harvester_style_heavy.iff')
+ object.setStructureTemplate('object/installation/mining_ore/shared_mining_ore_harvester_heavy.iff')
+ object.setLotRequirement(1)
+ object.setBMR(90)
return
\ No newline at end of file
diff --git a/scripts/object/tangible/deed/harvester_deed/harvester_ore_s1_deed.py b/scripts/object/tangible/deed/harvester_deed/harvester_ore_s1_deed.py
index ccad8904..ca897eb7 100644
--- a/scripts/object/tangible/deed/harvester_deed/harvester_ore_s1_deed.py
+++ b/scripts/object/tangible/deed/harvester_deed/harvester_ore_s1_deed.py
@@ -1,4 +1,9 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'deeds/harvesterDeed')
+ object.setConstructorTemplate('object/installation/mining_ore/construction/shared_construction_mining_ore_harvester_style_1.iff')
+ object.setStructureTemplate('object/installation/mining_ore/shared_mining_ore_harvester_style_1.iff')
+ object.setLotRequirement(1)
+ object.setBMR(16)
return
\ No newline at end of file
diff --git a/scripts/object/tangible/deed/harvester_deed/harvester_ore_s2_deed.py b/scripts/object/tangible/deed/harvester_deed/harvester_ore_s2_deed.py
index ccad8904..97ca86a7 100644
--- a/scripts/object/tangible/deed/harvester_deed/harvester_ore_s2_deed.py
+++ b/scripts/object/tangible/deed/harvester_deed/harvester_ore_s2_deed.py
@@ -1,4 +1,9 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'deeds/harvesterDeed')
+ object.setConstructorTemplate('object/installation/mining_ore/construction/shared_construction_mining_ore_harvester_style_2.iff')
+ object.setStructureTemplate('object/installation/mining_ore/shared_mining_ore_harvester_style_2.iff')
+ object.setLotRequirement(1)
+ object.setBMR(60)
return
\ No newline at end of file
diff --git a/scripts/object/tangible/deed/player_house_deed/corellia_house_small_deed.py b/scripts/object/tangible/deed/player_house_deed/corellia_house_small_deed.py
index ccad8904..a49b0675 100644
--- a/scripts/object/tangible/deed/player_house_deed/corellia_house_small_deed.py
+++ b/scripts/object/tangible/deed/player_house_deed/corellia_house_small_deed.py
@@ -1,4 +1,12 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'structureDeed')
+ object.setConstructorTemplate('object/building/player/construction/shared_construction_player_house_corellia_small_style_01.iff')
+ object.setStructureTemplate('object/tangible/deed/player_house_deed/shared_corellia_house_small_deed.iff')
+ object.setLotRequirement(1)
+ object.setBMR(15)
+ return
+
+def use(core, actor, object):
return
\ No newline at end of file
diff --git a/scripts/object/tangible/deed/player_house_deed/corellia_house_small_floor_02_deed.py b/scripts/object/tangible/deed/player_house_deed/corellia_house_small_floor_02_deed.py
index ccad8904..000b6dcf 100644
--- a/scripts/object/tangible/deed/player_house_deed/corellia_house_small_floor_02_deed.py
+++ b/scripts/object/tangible/deed/player_house_deed/corellia_house_small_floor_02_deed.py
@@ -1,4 +1,12 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'structureDeed')
+ object.setConstructorTemplate('object/building/player/construction/shared_construction_player_house_corellia_small_style_01.iff')
+ object.setStructureTemplate('object/tangible/deed/player_house_deed/shared_corellia_house_small_floor_02_deed.iff')
+ object.setLotRequirement(1)
+ object.setBMR(15)
+ return
+
+def use(core, actor, object):
return
\ No newline at end of file
diff --git a/scripts/object/tangible/deed/player_house_deed/corellia_house_small_style_02_deed.py b/scripts/object/tangible/deed/player_house_deed/corellia_house_small_style_02_deed.py
index ccad8904..9819f244 100644
--- a/scripts/object/tangible/deed/player_house_deed/corellia_house_small_style_02_deed.py
+++ b/scripts/object/tangible/deed/player_house_deed/corellia_house_small_style_02_deed.py
@@ -1,4 +1,12 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'structureDeed')
+ object.setConstructorTemplate('object/building/player/construction/shared_construction_player_house_corellia_small_style_02.iff')
+ object.setStructureTemplate('object/tangible/deed/player_house_deed/shared_corellia_house_small_style_02_deed.iff')
+ object.setLotRequirement(1)
+ object.setBMR(15)
+ return
+
+def use(core, actor, object):
return
\ No newline at end of file
diff --git a/scripts/object/tangible/deed/player_house_deed/corellia_house_small_style_02_floor_02_deed.py b/scripts/object/tangible/deed/player_house_deed/corellia_house_small_style_02_floor_02_deed.py
index ccad8904..f35ca172 100644
--- a/scripts/object/tangible/deed/player_house_deed/corellia_house_small_style_02_floor_02_deed.py
+++ b/scripts/object/tangible/deed/player_house_deed/corellia_house_small_style_02_floor_02_deed.py
@@ -1,4 +1,12 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'structureDeed')
+ object.setConstructorTemplate('object/building/player/construction/shared_construction_player_house_corellia_small_style_02.iff')
+ object.setStructureTemplate('object/tangible/deed/player_house_deed/shared_corellia_house_small_style_02_floor_02_deed.iff')
+ object.setLotRequirement(1)
+ object.setBMR(15)
+ return
+
+def use(core, actor, object):
return
\ No newline at end of file
diff --git a/scripts/object/tangible/deed/player_house_deed/generic_house_small_deed.py b/scripts/object/tangible/deed/player_house_deed/generic_house_small_deed.py
index ccad8904..f59934aa 100644
--- a/scripts/object/tangible/deed/player_house_deed/generic_house_small_deed.py
+++ b/scripts/object/tangible/deed/player_house_deed/generic_house_small_deed.py
@@ -1,4 +1,12 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'deeds/structureDeed')
+ object.setConstructorTemplate('object/building/player/construction/shared_construction_player_house_corellia_small_style_01.iff')
+ object.setStructureTemplate('object/tangible/deed/player_house_deed/shared_generic_house_small_deed.iff')
+ object.setLotRequirement(1)
+ object.setBMR(15)
+ return
+
+def use(core, actor, object):
return
\ No newline at end of file
diff --git a/scripts/object/tangible/deed/player_house_deed/generic_house_small_floor_02_deed.py b/scripts/object/tangible/deed/player_house_deed/generic_house_small_floor_02_deed.py
index ccad8904..51a196dc 100644
--- a/scripts/object/tangible/deed/player_house_deed/generic_house_small_floor_02_deed.py
+++ b/scripts/object/tangible/deed/player_house_deed/generic_house_small_floor_02_deed.py
@@ -1,4 +1,9 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'structureDeed')
+ object.setConstructorTemplate('object/building/player/construction/shared_construction_player_house_generic_small_style_02.iff')
+ object.setStructureTemplate('object/tangible/deed/player_house_deed/shared_generic_house_small_floor_02_deed.iff')
+ object.setLotRequirement(1)
+ object.setBMR(15)
return
\ No newline at end of file
diff --git a/scripts/object/tangible/deed/player_house_deed/generic_house_small_style_02_deed.py b/scripts/object/tangible/deed/player_house_deed/generic_house_small_style_02_deed.py
index ccad8904..0f343705 100644
--- a/scripts/object/tangible/deed/player_house_deed/generic_house_small_style_02_deed.py
+++ b/scripts/object/tangible/deed/player_house_deed/generic_house_small_style_02_deed.py
@@ -1,4 +1,9 @@
import sys
def setup(core, object):
- return
\ No newline at end of file
+ object.setAttachment('radial_filename', 'structureDeed')
+ object.setConstructorTemplate('object/building/player/construction/shared_construction_player_house_generic_small_style_02.iff')
+ object.setStructureTemplate('object/tangible/deed/player_house_deed/shared_generic_house_small_style_02_deed.iff')
+ object.setLotRequirement(1)
+ object.setBMR(15)
+ return
diff --git a/scripts/object/tangible/deed/vehicle_deed/barc_speeder_deed.py b/scripts/object/tangible/deed/vehicle_deed/barc_speeder_deed.py
index ccad8904..af21fb67 100644
--- a/scripts/object/tangible/deed/vehicle_deed/barc_speeder_deed.py
+++ b/scripts/object/tangible/deed/vehicle_deed/barc_speeder_deed.py
@@ -1,4 +1,24 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'vehicleDeed')
+ return
+
+def use(core, actor, object):
+ datapad = actor.getSlottedObject('datapad')
+ pcd = core.objectService.createObject('object/intangible/vehicle/shared_barc_speeder_pcd.iff', actor.getPlanet(), actor.getPosition().x, actor.getPosition().z,actor.getPosition().y)
+
+ if datapad and pcd:
+
+ datapad.add(pcd)
+ core.objectService.destroyObject(object)
+
+ vehicleId = actor.getAttachment('activeVehicleID')
+
+ if vehicleId == None:
+ vehicle = core.objectService.createObject('object/mobile/vehicle/shared_barc_speeder.iff', actor.getPlanet(), actor.getPosition().x, actor.getPosition().z,actor.getPosition().y)
+ vehicle.setOwnerId(actor.getObjectID())
+ core.simulationService.add(vehicle, vehicle.getPosition().x, vehicle.getPosition().z, True)
+ actor.setAttachment('activeVehicleID', vehicle.getObjectID())
+
return
\ No newline at end of file
diff --git a/scripts/object/tangible/deed/vehicle_deed/landspeeder_tantive4_deed.py b/scripts/object/tangible/deed/vehicle_deed/landspeeder_tantive4_deed.py
index ccad8904..92a45a9d 100644
--- a/scripts/object/tangible/deed/vehicle_deed/landspeeder_tantive4_deed.py
+++ b/scripts/object/tangible/deed/vehicle_deed/landspeeder_tantive4_deed.py
@@ -1,4 +1,24 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'vehicleDeed')
+ return
+
+def use(core, actor, object):
+ datapad = actor.getSlottedObject('datapad')
+ pcd = core.objectService.createObject('object/intangible/vehicle/shared_landspeeder_tantive4_pcd.iff', actor.getPlanet(), actor.getPosition().x, actor.getPosition().z,actor.getPosition().y)
+
+ if datapad and pcd:
+
+ datapad.add(pcd)
+ core.objectService.destroyObject(object)
+
+ vehicleId = actor.getAttachment('activeVehicleID')
+
+ if vehicleId == None:
+ vehicle = core.objectService.createObject('object/mobile/vehicle/shared_landspeeder_tantive4.iff', actor.getPlanet(), actor.getPosition().x, actor.getPosition().z,actor.getPosition().y)
+ vehicle.setOwnerId(actor.getObjectID())
+ core.simulationService.add(vehicle, vehicle.getPosition().x, vehicle.getPosition().z, True)
+ actor.setAttachment('activeVehicleID', vehicle.getObjectID())
+
return
\ No newline at end of file
diff --git a/scripts/object/tangible/deed/vehicle_deed/speederbike_swoop_deed.py b/scripts/object/tangible/deed/vehicle_deed/speederbike_swoop_deed.py
index eb077d1f..48f0518e 100644
--- a/scripts/object/tangible/deed/vehicle_deed/speederbike_swoop_deed.py
+++ b/scripts/object/tangible/deed/vehicle_deed/speederbike_swoop_deed.py
@@ -1,19 +1,9 @@
import sys
def setup(core, object):
- object.setAttachment('radial_filename', 'vehicleDeed')
+ object.setAttachment('radial_filename', 'deeds/vehicleDeed')
return
def use(core, actor, object):
- datapad = actor.getSlottedObject('datapad')
-
- pcd = core.objectService.createObject('object/intangible/vehicle/shared_speederbike_swoop_pcd.iff', actor.getPlanet(), actor.getPosition())
-
- if datapad and pcd:
- datapad.add(pcd)
- core.objectService.destroyObject(object)
- vehicle = createObject('object/mobile/vehicle/shared_speederbike_swoop.iff', pcd.getAttachment('vehicleId'), actor.getPlanet(), actor.getPosition(), actor.getOrientation())
- vehicle.setOwnerId(actor.getObjectID())
- core.simulationService.add(vehicle, vehicle.getPosition().x, vehicle.getPosition().z, True)
-
+ core.mountService.generateVehicle(actor, object, 'object/mobile/vehicle/shared_speederbike_swoop.iff', 'object/intangible/vehicle/shared_speederbike_swoop_pcd.iff')
return
\ No newline at end of file
diff --git a/scripts/object/tangible/door/shared_thm_kash_zonegate_door_simple.py b/scripts/object/tangible/door/shared_thm_kash_zonegate_door_simple.py
new file mode 100644
index 00000000..4bd7f23d
--- /dev/null
+++ b/scripts/object/tangible/door/shared_thm_kash_zonegate_door_simple.py
@@ -0,0 +1,19 @@
+import sys
+
+from engine.resources.scene import Point3D
+from engine.resources.scene import Quaternion
+
+def setup(core, object):
+ object.setAttachment('radial_filename', 'a_gate_door')
+ return
+
+#TODO: Solve problem with displayed ObjectID from buildout not being proper unsigned int.
+#-56576470324869753 rryatt
+#-56576470324869754 blackscale
+#-56576470324869755 ettyy
+#kkowir exit coord -746 18 256
+
+def use(core, actor, object):
+ if object.getObjectID() == long(-56576470324869752):
+ core.simulationService.transferToPlanet(actor, core.terrainService.getPlanetByName('kashyyyk_dead_forest'), Point3D(float(86.9), float(29.4), float(-473)), Quaternion(float(0), float(0), float(0), float(1)), None)
+ return
\ No newline at end of file
diff --git a/scripts/object/tangible/holiday/life_day/main_lifeday_tree.py b/scripts/object/tangible/holiday/life_day/main_lifeday_tree.py
index ed6e638b..f98db1aa 100644
--- a/scripts/object/tangible/holiday/life_day/main_lifeday_tree.py
+++ b/scripts/object/tangible/holiday/life_day/main_lifeday_tree.py
@@ -1,5 +1,5 @@
import sys
def setup(core, object):
- object.setAttachment('radial_filename', 'main_lifeday_tree')
+ object.setAttachment('radial_filename', 'holidays/lifeday/main_lifeday_tree')
return
diff --git a/scripts/object/tangible/item/rare_loot_chest_1.py b/scripts/object/tangible/item/rare_loot_chest_1.py
index ccad8904..4b7795de 100644
--- a/scripts/object/tangible/item/rare_loot_chest_1.py
+++ b/scripts/object/tangible/item/rare_loot_chest_1.py
@@ -1,4 +1,5 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'item/lootchest')
return
\ No newline at end of file
diff --git a/scripts/object/tangible/item/rare_loot_chest_2.py b/scripts/object/tangible/item/rare_loot_chest_2.py
index ccad8904..4b7795de 100644
--- a/scripts/object/tangible/item/rare_loot_chest_2.py
+++ b/scripts/object/tangible/item/rare_loot_chest_2.py
@@ -1,4 +1,5 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'item/lootchest')
return
\ No newline at end of file
diff --git a/scripts/object/tangible/item/rare_loot_chest_3.py b/scripts/object/tangible/item/rare_loot_chest_3.py
index ccad8904..4b7795de 100644
--- a/scripts/object/tangible/item/rare_loot_chest_3.py
+++ b/scripts/object/tangible/item/rare_loot_chest_3.py
@@ -1,4 +1,5 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'item/lootchest')
return
\ No newline at end of file
diff --git a/scripts/object/tangible/loot/creature_loot/collections/item_lifeday_gift_other_01_01.py b/scripts/object/tangible/loot/creature_loot/collections/item_lifeday_gift_other_01_01.py
index 3e649d7b..6f7c8887 100644
--- a/scripts/object/tangible/loot/creature_loot/collections/item_lifeday_gift_other_01_01.py
+++ b/scripts/object/tangible/loot/creature_loot/collections/item_lifeday_gift_other_01_01.py
@@ -6,5 +6,5 @@ def setup(core, object):
object.setCustomName('Life Day Gift Box For A Friend')
object.setIntAttribute('volume', 1)
object.setIntAttribute('tier', 2)
- object.setAttachment('radial_filename', 'lifeday_gift')
+ object.setAttachment('radial_filename', 'holidays/lifeday/lifeday_gift')
return
\ No newline at end of file
diff --git a/scripts/object/tangible/loot/creature_loot/collections/item_lifeday_gift_self_01_01.py b/scripts/object/tangible/loot/creature_loot/collections/item_lifeday_gift_self_01_01.py
index aef17bd8..273b89dc 100644
--- a/scripts/object/tangible/loot/creature_loot/collections/item_lifeday_gift_self_01_01.py
+++ b/scripts/object/tangible/loot/creature_loot/collections/item_lifeday_gift_self_01_01.py
@@ -7,5 +7,5 @@ def setup(core, object):
object.setIntAttribute('volume', 1)
object.setIntAttribute('no_trade', 1)
object.setIntAttribute('tier', 2)
- object.setAttachment('radial_filename', 'lifeday_gift')
+ object.setAttachment('radial_filename', 'holidays/lifeday/lifeday_gift')
return
\ No newline at end of file
diff --git a/scripts/object/tangible/loot/generic_usable/item_bounty_hunter_clicky_01_02.py b/scripts/object/tangible/loot/generic_usable/item_bounty_hunter_clicky_01_02.py
new file mode 100644
index 00000000..22d032c5
--- /dev/null
+++ b/scripts/object/tangible/loot/generic_usable/item_bounty_hunter_clicky_01_02.py
@@ -0,0 +1,9 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('item_bounty_hunter_clicky_01_02')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('item_bounty_hunter_clicky_01_02')
+ object.setStringAttribute('class_required', 'Bounty Hunter')
+ return
diff --git a/scripts/object/tangible/loot/generic_usable/item_commando_clicky_01_02.py b/scripts/object/tangible/loot/generic_usable/item_commando_clicky_01_02.py
new file mode 100644
index 00000000..5041ee3b
--- /dev/null
+++ b/scripts/object/tangible/loot/generic_usable/item_commando_clicky_01_02.py
@@ -0,0 +1,9 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('item_commando_clicky_01_02')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('item_commando_clicky_01_02')
+ object.setStringAttribute('class_required', 'Commando')
+ return
diff --git a/scripts/object/tangible/loot/generic_usable/item_force_sensitive_clicky_01_02.py b/scripts/object/tangible/loot/generic_usable/item_force_sensitive_clicky_01_02.py
new file mode 100644
index 00000000..e6745838
--- /dev/null
+++ b/scripts/object/tangible/loot/generic_usable/item_force_sensitive_clicky_01_02.py
@@ -0,0 +1,9 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('item_force_sensitive_clicky_01_02')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('item_force_sensitive_clicky_01_02')
+ object.setStringAttribute('class_required', 'Jedi')
+ return
diff --git a/scripts/object/tangible/loot/generic_usable/stim_syringe_generic.py b/scripts/object/tangible/loot/generic_usable/stim_syringe_generic.py
index ccad8904..786a488c 100644
--- a/scripts/object/tangible/loot/generic_usable/stim_syringe_generic.py
+++ b/scripts/object/tangible/loot/generic_usable/stim_syringe_generic.py
@@ -1,4 +1,5 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'object/usable')
return
\ No newline at end of file
diff --git a/scripts/object/tangible/quest/heroic/heroic_exar_kun_entrance.py b/scripts/object/tangible/quest/heroic/heroic_exar_kun_entrance.py
index ccad8904..7ca08004 100644
--- a/scripts/object/tangible/quest/heroic/heroic_exar_kun_entrance.py
+++ b/scripts/object/tangible/quest/heroic/heroic_exar_kun_entrance.py
@@ -1,4 +1,9 @@
import sys
def setup(core, object):
- return
\ No newline at end of file
+ object.setAttachment('radial_filename', 'instances/exar_kun/exar_kun_brazier')
+ return
+
+def use(core, actor, object):
+ if actor:
+ core.instanceService.queue('heroic_exar_kun', actor)
\ No newline at end of file
diff --git a/scripts/object/tangible/survey_tool/survey_tool_all.py b/scripts/object/tangible/survey_tool/survey_tool_all.py
index ccad8904..fa89b86c 100644
--- a/scripts/object/tangible/survey_tool/survey_tool_all.py
+++ b/scripts/object/tangible/survey_tool/survey_tool_all.py
@@ -1,4 +1,5 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'item/survey_tool')
return
\ No newline at end of file
diff --git a/scripts/object/tangible/survey_tool/survey_tool_gas.py b/scripts/object/tangible/survey_tool/survey_tool_gas.py
index ccad8904..fa89b86c 100644
--- a/scripts/object/tangible/survey_tool/survey_tool_gas.py
+++ b/scripts/object/tangible/survey_tool/survey_tool_gas.py
@@ -1,4 +1,5 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'item/survey_tool')
return
\ No newline at end of file
diff --git a/scripts/object/tangible/survey_tool/survey_tool_geo_thermal.py b/scripts/object/tangible/survey_tool/survey_tool_geo_thermal.py
index ccad8904..fa89b86c 100644
--- a/scripts/object/tangible/survey_tool/survey_tool_geo_thermal.py
+++ b/scripts/object/tangible/survey_tool/survey_tool_geo_thermal.py
@@ -1,4 +1,5 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'item/survey_tool')
return
\ No newline at end of file
diff --git a/scripts/object/tangible/survey_tool/survey_tool_inorganic.py b/scripts/object/tangible/survey_tool/survey_tool_inorganic.py
index ccad8904..fa89b86c 100644
--- a/scripts/object/tangible/survey_tool/survey_tool_inorganic.py
+++ b/scripts/object/tangible/survey_tool/survey_tool_inorganic.py
@@ -1,4 +1,5 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'item/survey_tool')
return
\ No newline at end of file
diff --git a/scripts/object/tangible/survey_tool/survey_tool_liquid.py b/scripts/object/tangible/survey_tool/survey_tool_liquid.py
index ccad8904..fa89b86c 100644
--- a/scripts/object/tangible/survey_tool/survey_tool_liquid.py
+++ b/scripts/object/tangible/survey_tool/survey_tool_liquid.py
@@ -1,4 +1,5 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'item/survey_tool')
return
\ No newline at end of file
diff --git a/scripts/object/tangible/survey_tool/survey_tool_lumber.py b/scripts/object/tangible/survey_tool/survey_tool_lumber.py
index ccad8904..fa89b86c 100644
--- a/scripts/object/tangible/survey_tool/survey_tool_lumber.py
+++ b/scripts/object/tangible/survey_tool/survey_tool_lumber.py
@@ -1,4 +1,5 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'item/survey_tool')
return
\ No newline at end of file
diff --git a/scripts/object/tangible/survey_tool/survey_tool_mineral.py b/scripts/object/tangible/survey_tool/survey_tool_mineral.py
index ccad8904..fa89b86c 100644
--- a/scripts/object/tangible/survey_tool/survey_tool_mineral.py
+++ b/scripts/object/tangible/survey_tool/survey_tool_mineral.py
@@ -1,4 +1,5 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'item/survey_tool')
return
\ No newline at end of file
diff --git a/scripts/object/tangible/survey_tool/survey_tool_moisture.py b/scripts/object/tangible/survey_tool/survey_tool_moisture.py
index ccad8904..fa89b86c 100644
--- a/scripts/object/tangible/survey_tool/survey_tool_moisture.py
+++ b/scripts/object/tangible/survey_tool/survey_tool_moisture.py
@@ -1,4 +1,5 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'item/survey_tool')
return
\ No newline at end of file
diff --git a/scripts/object/tangible/survey_tool/survey_tool_organic.py b/scripts/object/tangible/survey_tool/survey_tool_organic.py
index ccad8904..fa89b86c 100644
--- a/scripts/object/tangible/survey_tool/survey_tool_organic.py
+++ b/scripts/object/tangible/survey_tool/survey_tool_organic.py
@@ -1,4 +1,5 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'item/survey_tool')
return
\ No newline at end of file
diff --git a/scripts/object/tangible/survey_tool/survey_tool_solar.py b/scripts/object/tangible/survey_tool/survey_tool_solar.py
index ccad8904..fa89b86c 100644
--- a/scripts/object/tangible/survey_tool/survey_tool_solar.py
+++ b/scripts/object/tangible/survey_tool/survey_tool_solar.py
@@ -1,4 +1,5 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'item/survey_tool')
return
\ No newline at end of file
diff --git a/scripts/object/tangible/survey_tool/survey_tool_wind.py b/scripts/object/tangible/survey_tool/survey_tool_wind.py
index ccad8904..fa89b86c 100644
--- a/scripts/object/tangible/survey_tool/survey_tool_wind.py
+++ b/scripts/object/tangible/survey_tool/survey_tool_wind.py
@@ -1,4 +1,5 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'item/survey_tool')
return
\ No newline at end of file
diff --git a/scripts/object/tangible/terminal/terminal_bank.py b/scripts/object/tangible/terminal/terminal_bank.py
index 4f068472..64205c68 100644
--- a/scripts/object/tangible/terminal/terminal_bank.py
+++ b/scripts/object/tangible/terminal/terminal_bank.py
@@ -1,7 +1,7 @@
import sys
def setup(core, object):
- object.setAttachment('radial_filename', 'bank')
+ object.setAttachment('radial_filename', 'terminal/bank')
core.mapService.addLocation(object.getPlanet(), 'Bank Terminal', object.getPosition().x, object.getPosition().z, 41, 42, 0)
return
\ No newline at end of file
diff --git a/scripts/object/tangible/terminal/terminal_character_builder.py b/scripts/object/tangible/terminal/terminal_character_builder.py
index ccad8904..306a13df 100644
--- a/scripts/object/tangible/terminal/terminal_character_builder.py
+++ b/scripts/object/tangible/terminal/terminal_character_builder.py
@@ -1,4 +1,9 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'object/usable')
+ return
+
+def use(core, owner, target):
+ core.devService.sendCharacterBuilderSUI(owner, 0);
return
\ No newline at end of file
diff --git a/scripts/object/tangible/terminal/terminal_cloning.py b/scripts/object/tangible/terminal/terminal_cloning.py
index 91f80095..dc256f9a 100644
--- a/scripts/object/tangible/terminal/terminal_cloning.py
+++ b/scripts/object/tangible/terminal/terminal_cloning.py
@@ -1,6 +1,6 @@
import sys
def setup(core, object):
- object.setAttachment('radial_filename', 'cloning_terminal')
+ object.setAttachment('radial_filename', 'terminal/cloning_terminal')
return
\ No newline at end of file
diff --git a/scripts/object/tangible/terminal/terminal_player_structure.py b/scripts/object/tangible/terminal/terminal_player_structure.py
index ccad8904..dd5b18cd 100644
--- a/scripts/object/tangible/terminal/terminal_player_structure.py
+++ b/scripts/object/tangible/terminal/terminal_player_structure.py
@@ -1,4 +1,5 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'structure/structure_management_terminal')
return
\ No newline at end of file
diff --git a/scripts/object/tangible/terminal/terminal_player_structure_new.py b/scripts/object/tangible/terminal/terminal_player_structure_new.py
index ccad8904..dd5b18cd 100644
--- a/scripts/object/tangible/terminal/terminal_player_structure_new.py
+++ b/scripts/object/tangible/terminal/terminal_player_structure_new.py
@@ -1,4 +1,5 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'structure/structure_management_terminal')
return
\ No newline at end of file
diff --git a/scripts/object/tangible/terminal/terminal_player_structure_nosnap.py b/scripts/object/tangible/terminal/terminal_player_structure_nosnap.py
index ccad8904..dd5b18cd 100644
--- a/scripts/object/tangible/terminal/terminal_player_structure_nosnap.py
+++ b/scripts/object/tangible/terminal/terminal_player_structure_nosnap.py
@@ -1,4 +1,5 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'structure/structure_management_terminal')
return
\ No newline at end of file
diff --git a/scripts/object/tangible/terminal/terminal_player_structure_nosnap_mini.py b/scripts/object/tangible/terminal/terminal_player_structure_nosnap_mini.py
index ccad8904..dd5b18cd 100644
--- a/scripts/object/tangible/terminal/terminal_player_structure_nosnap_mini.py
+++ b/scripts/object/tangible/terminal/terminal_player_structure_nosnap_mini.py
@@ -1,4 +1,5 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'structure/structure_management_terminal')
return
\ No newline at end of file
diff --git a/scripts/object/tangible/terminal/terminal_travel.py b/scripts/object/tangible/terminal/terminal_travel.py
index 160aac1c..07222fe6 100644
--- a/scripts/object/tangible/terminal/terminal_travel.py
+++ b/scripts/object/tangible/terminal/terminal_travel.py
@@ -1,5 +1,5 @@
import sys
def setup(core, object):
- object.setAttachment('radial_filename', 'travel_terminal')
+ object.setAttachment('radial_filename', 'terminal/travel_terminal')
return
\ No newline at end of file
diff --git a/scripts/object/tangible/travel/ticket_collector/ticket_collector.py b/scripts/object/tangible/travel/ticket_collector/ticket_collector.py
index d243308d..a4dcc12f 100644
--- a/scripts/object/tangible/travel/ticket_collector/ticket_collector.py
+++ b/scripts/object/tangible/travel/ticket_collector/ticket_collector.py
@@ -1,5 +1,5 @@
import sys
def setup(core, object):
- object.setAttachment('radial_filename', 'npc_ticket_collector')
+ object.setAttachment('radial_filename', 'npc/npc_ticket_collector')
return
\ No newline at end of file
diff --git a/scripts/object/tangible/travel/travel_ticket/base/base_travel_ticket.py b/scripts/object/tangible/travel/travel_ticket/base/base_travel_ticket.py
index 77e1b16d..446e9f9f 100644
--- a/scripts/object/tangible/travel/travel_ticket/base/base_travel_ticket.py
+++ b/scripts/object/tangible/travel/travel_ticket/base/base_travel_ticket.py
@@ -1,5 +1,5 @@
import sys
def setup(core, object):
- object.setAttachment('radial_filename', 'travel_ticket')
+ object.setAttachment('radial_filename', 'item/travel_ticket')
return
\ No newline at end of file
diff --git a/scripts/object/tangible/wearables/armor/composite/armor_bounty_hunter_roadmap_bicep_l_02_01.py b/scripts/object/tangible/wearables/armor/composite/armor_bounty_hunter_roadmap_bicep_l_02_01.py
new file mode 100644
index 00000000..9fa443b7
--- /dev/null
+++ b/scripts/object/tangible/wearables/armor/composite/armor_bounty_hunter_roadmap_bicep_l_02_01.py
@@ -0,0 +1,17 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('armor_bounty_hunter_roadmap_bicep_l_02_01')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('armor_bounty_hunter_roadmap_bicep_l_02_01')
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3)
+ object.setStringAttribute('class_required', 'Bounty Hunter')
+ object.setStringAttribute('armor_category', 'Assault')
+ object.setIntAttribute('cat_armor_standard_protection.kinetic', 2640)
+ object.setIntAttribute('cat_armor_standard_protection.energy', 640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640)
+ return
diff --git a/scripts/object/tangible/wearables/armor/composite/armor_bounty_hunter_roadmap_bicep_r_02_01.py b/scripts/object/tangible/wearables/armor/composite/armor_bounty_hunter_roadmap_bicep_r_02_01.py
new file mode 100644
index 00000000..f8e88597
--- /dev/null
+++ b/scripts/object/tangible/wearables/armor/composite/armor_bounty_hunter_roadmap_bicep_r_02_01.py
@@ -0,0 +1,17 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('armor_bounty_hunter_roadmap_bicep_r_02_01')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('armor_bounty_hunter_roadmap_bicep_r_02_01')
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3)
+ object.setStringAttribute('class_required', 'Bounty Hunter')
+ object.setStringAttribute('armor_category', 'Assault')
+ object.setIntAttribute('cat_armor_standard_protection.kinetic', 2640)
+ object.setIntAttribute('cat_armor_standard_protection.energy', 640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640)
+ return
diff --git a/scripts/object/tangible/wearables/armor/composite/armor_bounty_hunter_roadmap_boots_02_01.py b/scripts/object/tangible/wearables/armor/composite/armor_bounty_hunter_roadmap_boots_02_01.py
new file mode 100644
index 00000000..dcbb349e
--- /dev/null
+++ b/scripts/object/tangible/wearables/armor/composite/armor_bounty_hunter_roadmap_boots_02_01.py
@@ -0,0 +1,10 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('armor_bounty_hunter_roadmap_boots_02_01')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('armor_bounty_hunter_roadmap_boots_02_01')
+ object.setStringAttribute('class_required', 'Bounty Hunter')
+ object.setStringAttribute('armor_category', 'Assault')
+ return
diff --git a/scripts/object/tangible/wearables/armor/composite/armor_bounty_hunter_roadmap_bracer_l_02_01.py b/scripts/object/tangible/wearables/armor/composite/armor_bounty_hunter_roadmap_bracer_l_02_01.py
new file mode 100644
index 00000000..5ca4b024
--- /dev/null
+++ b/scripts/object/tangible/wearables/armor/composite/armor_bounty_hunter_roadmap_bracer_l_02_01.py
@@ -0,0 +1,17 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('armor_bounty_hunter_roadmap_bracer_l_02_01')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('armor_bounty_hunter_roadmap_bracer_l_02_01')
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3)
+ object.setStringAttribute('class_required', 'Bounty Hunter')
+ object.setStringAttribute('armor_category', 'Assault')
+ object.setIntAttribute('cat_armor_standard_protection.kinetic', 2640)
+ object.setIntAttribute('cat_armor_standard_protection.energy', 640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640)
+ return
diff --git a/scripts/object/tangible/wearables/armor/composite/armor_bounty_hunter_roadmap_bracer_r_02_01.py b/scripts/object/tangible/wearables/armor/composite/armor_bounty_hunter_roadmap_bracer_r_02_01.py
new file mode 100644
index 00000000..83bf330b
--- /dev/null
+++ b/scripts/object/tangible/wearables/armor/composite/armor_bounty_hunter_roadmap_bracer_r_02_01.py
@@ -0,0 +1,17 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('armor_bounty_hunter_roadmap_bracer_r_02_01')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('armor_bounty_hunter_roadmap_bracer_r_02_01')
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3)
+ object.setStringAttribute('class_required', 'Bounty Hunter')
+ object.setStringAttribute('armor_category', 'Assault')
+ object.setIntAttribute('cat_armor_standard_protection.kinetic', 2640)
+ object.setIntAttribute('cat_armor_standard_protection.energy', 640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640)
+ return
diff --git a/scripts/object/tangible/wearables/armor/composite/armor_bounty_hunter_roadmap_chest_02_01.py b/scripts/object/tangible/wearables/armor/composite/armor_bounty_hunter_roadmap_chest_02_01.py
new file mode 100644
index 00000000..815a1640
--- /dev/null
+++ b/scripts/object/tangible/wearables/armor/composite/armor_bounty_hunter_roadmap_chest_02_01.py
@@ -0,0 +1,17 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('armor_bounty_hunter_roadmap_chest_02_01')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('armor_bounty_hunter_roadmap_chest_02_01')
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3)
+ object.setStringAttribute('class_required', 'Bounty Hunter')
+ object.setStringAttribute('armor_category', 'Assault')
+ object.setIntAttribute('cat_armor_standard_protection.kinetic', 2640)
+ object.setIntAttribute('cat_armor_standard_protection.energy', 640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640)
+ return
diff --git a/scripts/object/tangible/wearables/armor/composite/armor_bounty_hunter_roadmap_gloves_02_01.py b/scripts/object/tangible/wearables/armor/composite/armor_bounty_hunter_roadmap_gloves_02_01.py
new file mode 100644
index 00000000..0edc69cc
--- /dev/null
+++ b/scripts/object/tangible/wearables/armor/composite/armor_bounty_hunter_roadmap_gloves_02_01.py
@@ -0,0 +1,10 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('armor_bounty_hunter_roadmap_gloves_02_01')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('armor_bounty_hunter_roadmap_gloves_02_01')
+ object.setStringAttribute('class_required', 'Bounty Hunter')
+ object.setStringAttribute('armor_category', 'Assault')
+ return
diff --git a/scripts/object/tangible/wearables/armor/composite/armor_bounty_hunter_roadmap_helmet_02_01.py b/scripts/object/tangible/wearables/armor/composite/armor_bounty_hunter_roadmap_helmet_02_01.py
new file mode 100644
index 00000000..f798283c
--- /dev/null
+++ b/scripts/object/tangible/wearables/armor/composite/armor_bounty_hunter_roadmap_helmet_02_01.py
@@ -0,0 +1,17 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('armor_bounty_hunter_roadmap_helmet_02_01')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('armor_bounty_hunter_roadmap_helmet_02_01')
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3)
+ object.setStringAttribute('class_required', 'Bounty Hunter')
+ object.setStringAttribute('armor_category', 'Assault')
+ object.setIntAttribute('cat_armor_standard_protection.kinetic', 2640)
+ object.setIntAttribute('cat_armor_standard_protection.energy', 640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640)
+ return
diff --git a/scripts/object/tangible/wearables/armor/composite/armor_bounty_hunter_roadmap_leggings_02_01.py b/scripts/object/tangible/wearables/armor/composite/armor_bounty_hunter_roadmap_leggings_02_01.py
new file mode 100644
index 00000000..6ad62c58
--- /dev/null
+++ b/scripts/object/tangible/wearables/armor/composite/armor_bounty_hunter_roadmap_leggings_02_01.py
@@ -0,0 +1,17 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('armor_bounty_hunter_roadmap_leggings_02_01')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('armor_bounty_hunter_roadmap_leggings_02_01')
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3)
+ object.setStringAttribute('class_required', 'Bounty Hunter')
+ object.setStringAttribute('armor_category', 'Assault')
+ object.setIntAttribute('cat_armor_standard_protection.kinetic', 2640)
+ object.setIntAttribute('cat_armor_standard_protection.energy', 640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640)
+ return
diff --git a/scripts/object/tangible/wearables/armor/composite/armor_commando_roadmap_bicep_l_02_01.py b/scripts/object/tangible/wearables/armor/composite/armor_commando_roadmap_bicep_l_02_01.py
new file mode 100644
index 00000000..725b9056
--- /dev/null
+++ b/scripts/object/tangible/wearables/armor/composite/armor_commando_roadmap_bicep_l_02_01.py
@@ -0,0 +1,17 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('armor_commando_roadmap_bicep_l_02_01')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('armor_commando_roadmap_bicep_l_02_01')
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3)
+ object.setStringAttribute('class_required', 'Commando')
+ object.setStringAttribute('armor_category', 'Assault')
+ object.setIntAttribute('cat_armor_standard_protection.kinetic', 2640)
+ object.setIntAttribute('cat_armor_standard_protection.energy', 640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640)
+ return
diff --git a/scripts/object/tangible/wearables/armor/composite/armor_commando_roadmap_bicep_r_02_01.py b/scripts/object/tangible/wearables/armor/composite/armor_commando_roadmap_bicep_r_02_01.py
new file mode 100644
index 00000000..a0c37a28
--- /dev/null
+++ b/scripts/object/tangible/wearables/armor/composite/armor_commando_roadmap_bicep_r_02_01.py
@@ -0,0 +1,17 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('armor_commando_roadmap_bicep_r_02_01')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('armor_commando_roadmap_bicep_r_02_01')
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3)
+ object.setStringAttribute('class_required', 'Commando')
+ object.setStringAttribute('armor_category', 'Assault')
+ object.setIntAttribute('cat_armor_standard_protection.kinetic', 2640)
+ object.setIntAttribute('cat_armor_standard_protection.energy', 640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640)
+ return
diff --git a/scripts/object/tangible/wearables/armor/composite/armor_commando_roadmap_boots_02_01.py b/scripts/object/tangible/wearables/armor/composite/armor_commando_roadmap_boots_02_01.py
new file mode 100644
index 00000000..16df82a0
--- /dev/null
+++ b/scripts/object/tangible/wearables/armor/composite/armor_commando_roadmap_boots_02_01.py
@@ -0,0 +1,10 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('armor_commando_roadmap_boots_02_01')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('armor_commando_roadmap_boots_02_01')
+ object.setStringAttribute('class_required', 'Commando')
+ object.setStringAttribute('armor_category', 'Assault')
+ return
diff --git a/scripts/object/tangible/wearables/armor/composite/armor_commando_roadmap_bracer_l_02_01.py b/scripts/object/tangible/wearables/armor/composite/armor_commando_roadmap_bracer_l_02_01.py
new file mode 100644
index 00000000..0cdc5e97
--- /dev/null
+++ b/scripts/object/tangible/wearables/armor/composite/armor_commando_roadmap_bracer_l_02_01.py
@@ -0,0 +1,17 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('armor_commando_roadmap_bracer_l_02_01')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('armor_commando_roadmap_bracer_l_02_01')
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3)
+ object.setStringAttribute('class_required', 'Commando')
+ object.setStringAttribute('armor_category', 'Assault')
+ object.setIntAttribute('cat_armor_standard_protection.kinetic', 2640)
+ object.setIntAttribute('cat_armor_standard_protection.energy', 640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640)
+ return
diff --git a/scripts/object/tangible/wearables/armor/composite/armor_commando_roadmap_bracer_r_02_01.py b/scripts/object/tangible/wearables/armor/composite/armor_commando_roadmap_bracer_r_02_01.py
new file mode 100644
index 00000000..c4e221c2
--- /dev/null
+++ b/scripts/object/tangible/wearables/armor/composite/armor_commando_roadmap_bracer_r_02_01.py
@@ -0,0 +1,17 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('armor_commando_roadmap_bracer_r_02_01')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('armor_commando_roadmap_bracer_r_02_01')
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3)
+ object.setStringAttribute('class_required', 'Commando')
+ object.setStringAttribute('armor_category', 'Assault')
+ object.setIntAttribute('cat_armor_standard_protection.kinetic', 2640)
+ object.setIntAttribute('cat_armor_standard_protection.energy', 640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640)
+ return
diff --git a/scripts/object/tangible/wearables/armor/composite/armor_commando_roadmap_chest_02_01.py b/scripts/object/tangible/wearables/armor/composite/armor_commando_roadmap_chest_02_01.py
new file mode 100644
index 00000000..af0fa26f
--- /dev/null
+++ b/scripts/object/tangible/wearables/armor/composite/armor_commando_roadmap_chest_02_01.py
@@ -0,0 +1,17 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('armor_commando_roadmap_chest_02_01')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('armor_commando_roadmap_chest_02_01')
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3)
+ object.setStringAttribute('class_required', 'Commando')
+ object.setStringAttribute('armor_category', 'Assault')
+ object.setIntAttribute('cat_armor_standard_protection.kinetic', 2640)
+ object.setIntAttribute('cat_armor_standard_protection.energy', 640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640)
+ return
diff --git a/scripts/object/tangible/wearables/armor/composite/armor_commando_roadmap_gloves_02_01.py b/scripts/object/tangible/wearables/armor/composite/armor_commando_roadmap_gloves_02_01.py
new file mode 100644
index 00000000..17ee0ecd
--- /dev/null
+++ b/scripts/object/tangible/wearables/armor/composite/armor_commando_roadmap_gloves_02_01.py
@@ -0,0 +1,10 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('armor_commando_roadmap_gloves_02_01')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('armor_commando_roadmap_gloves_02_01')
+ object.setStringAttribute('class_required', 'Commando')
+ object.setStringAttribute('armor_category', 'Assault')
+ return
diff --git a/scripts/object/tangible/wearables/armor/composite/armor_commando_roadmap_helmet_02_01.py b/scripts/object/tangible/wearables/armor/composite/armor_commando_roadmap_helmet_02_01.py
new file mode 100644
index 00000000..1d8a8c05
--- /dev/null
+++ b/scripts/object/tangible/wearables/armor/composite/armor_commando_roadmap_helmet_02_01.py
@@ -0,0 +1,17 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('armor_commando_roadmap_helmet_02_01')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('armor_commando_roadmap_helmet_02_01')
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3)
+ object.setStringAttribute('class_required', 'Commando')
+ object.setStringAttribute('armor_category', 'Assault')
+ object.setIntAttribute('cat_armor_standard_protection.kinetic', 2640)
+ object.setIntAttribute('cat_armor_standard_protection.energy', 640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640)
+ return
diff --git a/scripts/object/tangible/wearables/armor/composite/armor_commando_roadmap_leggings_02_01.py b/scripts/object/tangible/wearables/armor/composite/armor_commando_roadmap_leggings_02_01.py
new file mode 100644
index 00000000..3ebce0ac
--- /dev/null
+++ b/scripts/object/tangible/wearables/armor/composite/armor_commando_roadmap_leggings_02_01.py
@@ -0,0 +1,17 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('armor_commando_roadmap_leggings_02_01')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('armor_commando_roadmap_leggings_02_01')
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3)
+ object.setStringAttribute('class_required', 'Commando')
+ object.setStringAttribute('armor_category', 'Assault')
+ object.setIntAttribute('cat_armor_standard_protection.kinetic', 2640)
+ object.setIntAttribute('cat_armor_standard_protection.energy', 640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640)
+ return
diff --git a/scripts/object/tangible/wearables/armor/ithorian_sentinel/armor_ithorian_roadmap_bicep_l_02_03.py b/scripts/object/tangible/wearables/armor/ithorian_sentinel/armor_ithorian_roadmap_bicep_l_02_03.py
new file mode 100644
index 00000000..67da6ef4
--- /dev/null
+++ b/scripts/object/tangible/wearables/armor/ithorian_sentinel/armor_ithorian_roadmap_bicep_l_02_03.py
@@ -0,0 +1,17 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('armor_ithorian_roadmap_bicep_l_02_03')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('armor_ithorian_roadmap_bicep_l_02_03')
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3)
+ object.setStringAttribute('class_required', 'Bounty Hunter')
+ object.setStringAttribute('armor_category', 'Assault')
+ object.setIntAttribute('cat_armor_standard_protection.kinetic', 2640)
+ object.setIntAttribute('cat_armor_standard_protection.energy', 640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640)
+ return
diff --git a/scripts/object/tangible/wearables/armor/ithorian_sentinel/armor_ithorian_roadmap_bicep_r_02_03.py b/scripts/object/tangible/wearables/armor/ithorian_sentinel/armor_ithorian_roadmap_bicep_r_02_03.py
new file mode 100644
index 00000000..53f0fb21
--- /dev/null
+++ b/scripts/object/tangible/wearables/armor/ithorian_sentinel/armor_ithorian_roadmap_bicep_r_02_03.py
@@ -0,0 +1,17 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('armor_ithorian_roadmap_bicep_r_02_03')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('armor_ithorian_roadmap_bicep_r_02_03')
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3)
+ object.setStringAttribute('class_required', 'Bounty Hunter')
+ object.setStringAttribute('armor_category', 'Assault')
+ object.setIntAttribute('cat_armor_standard_protection.kinetic', 2640)
+ object.setIntAttribute('cat_armor_standard_protection.energy', 640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640)
+ return
diff --git a/scripts/object/tangible/wearables/armor/ithorian_sentinel/armor_ithorian_roadmap_boots_02_03.py b/scripts/object/tangible/wearables/armor/ithorian_sentinel/armor_ithorian_roadmap_boots_02_03.py
new file mode 100644
index 00000000..5822a2dc
--- /dev/null
+++ b/scripts/object/tangible/wearables/armor/ithorian_sentinel/armor_ithorian_roadmap_boots_02_03.py
@@ -0,0 +1,10 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('armor_ithorian_roadmap_boots_02_03')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('armor_ithorian_roadmap_boots_02_03')
+ object.setStringAttribute('class_required', 'Bounty Hunter')
+ object.setStringAttribute('armor_category', 'Assault')
+ return
diff --git a/scripts/object/tangible/wearables/armor/ithorian_sentinel/armor_ithorian_roadmap_bracer_l_02_03.py b/scripts/object/tangible/wearables/armor/ithorian_sentinel/armor_ithorian_roadmap_bracer_l_02_03.py
new file mode 100644
index 00000000..2c96e2dd
--- /dev/null
+++ b/scripts/object/tangible/wearables/armor/ithorian_sentinel/armor_ithorian_roadmap_bracer_l_02_03.py
@@ -0,0 +1,17 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('armor_ithorian_roadmap_bracer_l_02_03')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('armor_ithorian_roadmap_bracer_l_02_03')
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3)
+ object.setStringAttribute('class_required', 'Bounty Hunter')
+ object.setStringAttribute('armor_category', 'Assault')
+ object.setIntAttribute('cat_armor_standard_protection.kinetic', 2640)
+ object.setIntAttribute('cat_armor_standard_protection.energy', 640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640)
+ return
diff --git a/scripts/object/tangible/wearables/armor/ithorian_sentinel/armor_ithorian_roadmap_bracer_r_02_03.py b/scripts/object/tangible/wearables/armor/ithorian_sentinel/armor_ithorian_roadmap_bracer_r_02_03.py
new file mode 100644
index 00000000..1fee94a5
--- /dev/null
+++ b/scripts/object/tangible/wearables/armor/ithorian_sentinel/armor_ithorian_roadmap_bracer_r_02_03.py
@@ -0,0 +1,17 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('armor_ithorian_roadmap_bracer_r_02_03')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('armor_ithorian_roadmap_bracer_r_02_03')
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3)
+ object.setStringAttribute('class_required', 'Bounty Hunter')
+ object.setStringAttribute('armor_category', 'Assault')
+ object.setIntAttribute('cat_armor_standard_protection.kinetic', 2640)
+ object.setIntAttribute('cat_armor_standard_protection.energy', 640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640)
+ return
diff --git a/scripts/object/tangible/wearables/armor/ithorian_sentinel/armor_ithorian_roadmap_chest_02_03.py b/scripts/object/tangible/wearables/armor/ithorian_sentinel/armor_ithorian_roadmap_chest_02_03.py
new file mode 100644
index 00000000..b17b98cc
--- /dev/null
+++ b/scripts/object/tangible/wearables/armor/ithorian_sentinel/armor_ithorian_roadmap_chest_02_03.py
@@ -0,0 +1,17 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('armor_ithorian_roadmap_chest_02_03')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('armor_ithorian_roadmap_chest_02_03')
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3)
+ object.setStringAttribute('class_required', 'Bounty Hunter')
+ object.setStringAttribute('armor_category', 'Assault')
+ object.setIntAttribute('cat_armor_standard_protection.kinetic', 2640)
+ object.setIntAttribute('cat_armor_standard_protection.energy', 640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640)
+ return
diff --git a/scripts/object/tangible/wearables/armor/ithorian_sentinel/armor_ithorian_roadmap_gloves_02_03.py b/scripts/object/tangible/wearables/armor/ithorian_sentinel/armor_ithorian_roadmap_gloves_02_03.py
new file mode 100644
index 00000000..54aab0ca
--- /dev/null
+++ b/scripts/object/tangible/wearables/armor/ithorian_sentinel/armor_ithorian_roadmap_gloves_02_03.py
@@ -0,0 +1,10 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('armor_ithorian_roadmap_gloves_02_03')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('armor_ithorian_roadmap_gloves_02_03')
+ object.setStringAttribute('class_required', 'Bounty Hunter')
+ object.setStringAttribute('armor_category', 'Assault')
+ return
diff --git a/scripts/object/tangible/wearables/armor/ithorian_sentinel/armor_ithorian_roadmap_helmet_02_03.py b/scripts/object/tangible/wearables/armor/ithorian_sentinel/armor_ithorian_roadmap_helmet_02_03.py
new file mode 100644
index 00000000..91f77a60
--- /dev/null
+++ b/scripts/object/tangible/wearables/armor/ithorian_sentinel/armor_ithorian_roadmap_helmet_02_03.py
@@ -0,0 +1,17 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('armor_ithorian_roadmap_helmet_02_03')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('armor_ithorian_roadmap_helmet_02_03')
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3)
+ object.setStringAttribute('class_required', 'Bounty Hunter')
+ object.setStringAttribute('armor_category', 'Assault')
+ object.setIntAttribute('cat_armor_standard_protection.kinetic', 2640)
+ object.setIntAttribute('cat_armor_standard_protection.energy', 640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640)
+ return
diff --git a/scripts/object/tangible/wearables/armor/ithorian_sentinel/armor_ithorian_roadmap_leggings_02_03.py b/scripts/object/tangible/wearables/armor/ithorian_sentinel/armor_ithorian_roadmap_leggings_02_03.py
new file mode 100644
index 00000000..e77eef3a
--- /dev/null
+++ b/scripts/object/tangible/wearables/armor/ithorian_sentinel/armor_ithorian_roadmap_leggings_02_03.py
@@ -0,0 +1,17 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('armor_ithorian_roadmap_leggings_02_03')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('armor_ithorian_roadmap_leggings_02_03')
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3)
+ object.setStringAttribute('class_required', 'Bounty Hunter')
+ object.setStringAttribute('armor_category', 'Assault')
+ object.setIntAttribute('cat_armor_standard_protection.kinetic', 2640)
+ object.setIntAttribute('cat_armor_standard_protection.energy', 640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640)
+ return
diff --git a/scripts/object/tangible/wearables/armor/kashyyykian_hunting/armor_wookiee_roadmap_bicep_l_02_03.py b/scripts/object/tangible/wearables/armor/kashyyykian_hunting/armor_wookiee_roadmap_bicep_l_02_03.py
new file mode 100644
index 00000000..765a3379
--- /dev/null
+++ b/scripts/object/tangible/wearables/armor/kashyyykian_hunting/armor_wookiee_roadmap_bicep_l_02_03.py
@@ -0,0 +1,17 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('armor_wookiee_roadmap_bicep_l_02_03')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('armor_wookiee_roadmap_bicep_l_02_03')
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3)
+ object.setStringAttribute('class_required', 'Bounty Hunter')
+ object.setStringAttribute('armor_category', 'Assault')
+ object.setIntAttribute('cat_armor_standard_protection.kinetic', 2640)
+ object.setIntAttribute('cat_armor_standard_protection.energy', 640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640)
+ return
diff --git a/scripts/object/tangible/wearables/armor/kashyyykian_hunting/armor_wookiee_roadmap_bicep_r_02_03.py b/scripts/object/tangible/wearables/armor/kashyyykian_hunting/armor_wookiee_roadmap_bicep_r_02_03.py
new file mode 100644
index 00000000..f25225df
--- /dev/null
+++ b/scripts/object/tangible/wearables/armor/kashyyykian_hunting/armor_wookiee_roadmap_bicep_r_02_03.py
@@ -0,0 +1,17 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('armor_wookiee_roadmap_bicep_r_02_03')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('armor_wookiee_roadmap_bicep_r_02_03')
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3)
+ object.setStringAttribute('class_required', 'Bounty Hunter')
+ object.setStringAttribute('armor_category', 'Assault')
+ object.setIntAttribute('cat_armor_standard_protection.kinetic', 2640)
+ object.setIntAttribute('cat_armor_standard_protection.energy', 640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640)
+ return
diff --git a/scripts/object/tangible/wearables/armor/kashyyykian_hunting/armor_wookiee_roadmap_bracer_l_02_03.py b/scripts/object/tangible/wearables/armor/kashyyykian_hunting/armor_wookiee_roadmap_bracer_l_02_03.py
new file mode 100644
index 00000000..808e135d
--- /dev/null
+++ b/scripts/object/tangible/wearables/armor/kashyyykian_hunting/armor_wookiee_roadmap_bracer_l_02_03.py
@@ -0,0 +1,17 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('armor_wookiee_roadmap_bracer_l_02_03')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('armor_wookiee_roadmap_bracer_l_02_03')
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3)
+ object.setStringAttribute('class_required', 'Bounty Hunter')
+ object.setStringAttribute('armor_category', 'Assault')
+ object.setIntAttribute('cat_armor_standard_protection.kinetic', 2640)
+ object.setIntAttribute('cat_armor_standard_protection.energy', 640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640)
+ return
diff --git a/scripts/object/tangible/wearables/armor/kashyyykian_hunting/armor_wookiee_roadmap_bracer_r_02_03.py b/scripts/object/tangible/wearables/armor/kashyyykian_hunting/armor_wookiee_roadmap_bracer_r_02_03.py
new file mode 100644
index 00000000..a2b95572
--- /dev/null
+++ b/scripts/object/tangible/wearables/armor/kashyyykian_hunting/armor_wookiee_roadmap_bracer_r_02_03.py
@@ -0,0 +1,17 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('armor_wookiee_roadmap_bracer_r_02_03')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('armor_wookiee_roadmap_bracer_r_02_03')
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3)
+ object.setStringAttribute('class_required', 'Bounty Hunter')
+ object.setStringAttribute('armor_category', 'Assault')
+ object.setIntAttribute('cat_armor_standard_protection.kinetic', 2640)
+ object.setIntAttribute('cat_armor_standard_protection.energy', 640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640)
+ return
diff --git a/scripts/object/tangible/wearables/armor/kashyyykian_hunting/armor_wookiee_roadmap_chest_02_03.py b/scripts/object/tangible/wearables/armor/kashyyykian_hunting/armor_wookiee_roadmap_chest_02_03.py
new file mode 100644
index 00000000..15500015
--- /dev/null
+++ b/scripts/object/tangible/wearables/armor/kashyyykian_hunting/armor_wookiee_roadmap_chest_02_03.py
@@ -0,0 +1,17 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('armor_wookiee_roadmap_chest_02_03')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('armor_wookiee_roadmap_chest_02_03')
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3)
+ object.setStringAttribute('class_required', 'Bounty Hunter')
+ object.setStringAttribute('armor_category', 'Assault')
+ object.setIntAttribute('cat_armor_standard_protection.kinetic', 2640)
+ object.setIntAttribute('cat_armor_standard_protection.energy', 640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640)
+ return
diff --git a/scripts/object/tangible/wearables/armor/kashyyykian_hunting/armor_wookiee_roadmap_leggings_02_03.py b/scripts/object/tangible/wearables/armor/kashyyykian_hunting/armor_wookiee_roadmap_leggings_02_03.py
new file mode 100644
index 00000000..ca4b2cfa
--- /dev/null
+++ b/scripts/object/tangible/wearables/armor/kashyyykian_hunting/armor_wookiee_roadmap_leggings_02_03.py
@@ -0,0 +1,17 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('armor_wookiee_roadmap_leggings_02_03')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('armor_wookiee_roadmap_leggings_02_03')
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3)
+ object.setStringAttribute('class_required', 'Bounty Hunter')
+ object.setStringAttribute('armor_category', 'Assault')
+ object.setIntAttribute('cat_armor_standard_protection.kinetic', 2640)
+ object.setIntAttribute('cat_armor_standard_protection.energy', 640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640)
+ object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640)
+ return
diff --git a/scripts/object/tangible/wearables/armor/zam/item_roadmap_belt_bounty_hunter_01_02.py b/scripts/object/tangible/wearables/armor/zam/item_roadmap_belt_bounty_hunter_01_02.py
new file mode 100644
index 00000000..c845f9fb
--- /dev/null
+++ b/scripts/object/tangible/wearables/armor/zam/item_roadmap_belt_bounty_hunter_01_02.py
@@ -0,0 +1,13 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('item_roadmap_belt_bounty_hunter_01_02')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('item_roadmap_belt_bounty_hunter_01_02')
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 15)
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 20)
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 15)
+ object.setStringAttribute('class_required', 'Bounty Hunter')
+ object.setIntAttribute('required_combat_level', 90)
+ return
diff --git a/scripts/object/tangible/wearables/armor/zam/item_roadmap_belt_commando_01_02.py b/scripts/object/tangible/wearables/armor/zam/item_roadmap_belt_commando_01_02.py
new file mode 100644
index 00000000..03d3b4ae
--- /dev/null
+++ b/scripts/object/tangible/wearables/armor/zam/item_roadmap_belt_commando_01_02.py
@@ -0,0 +1,13 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('item_roadmap_belt_commando_01_02')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('item_roadmap_belt_commando_01_02')
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 15)
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 20)
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 15)
+ object.setStringAttribute('class_required', 'Commando')
+ object.setIntAttribute('required_combat_level', 90)
+ return
diff --git a/scripts/object/tangible/wearables/armor/zam/item_roadmap_belt_force_sensitive_01_02.py b/scripts/object/tangible/wearables/armor/zam/item_roadmap_belt_force_sensitive_01_02.py
new file mode 100644
index 00000000..e383382b
--- /dev/null
+++ b/scripts/object/tangible/wearables/armor/zam/item_roadmap_belt_force_sensitive_01_02.py
@@ -0,0 +1,13 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('item_roadmap_belt_force_sensitive_01_02')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('item_roadmap_belt_force_sensitive_01_02')
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 15)
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 20)
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:strength_modified', 15)
+ object.setStringAttribute('class_required', 'Jedi')
+ object.setIntAttribute('required_combat_level', 90)
+ return
diff --git a/scripts/object/tangible/wearables/backpack/fannypack_s01.py b/scripts/object/tangible/wearables/backpack/fannypack_s01.py
index ccad8904..b0e3e3ee 100644
--- a/scripts/object/tangible/wearables/backpack/fannypack_s01.py
+++ b/scripts/object/tangible/wearables/backpack/fannypack_s01.py
@@ -1,4 +1,16 @@
import sys
def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('item_fannypack_04_01')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('item_fannypack_04_01')
+
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 50)
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:luck_modified', 50)
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 50)
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:strength_modified', 50)
+
+ object.setStringAttribute('@set_bonus:piece_bonus_count_2', '@set_bonus:set_bonus_jedi_robe_1')
+ object.setAttachment('setBonus', 'set_bonus_jedi_robe')
return
\ No newline at end of file
diff --git a/scripts/object/tangible/wearables/backpack/item_bounty_hunter_backpack_01_02.py b/scripts/object/tangible/wearables/backpack/item_bounty_hunter_backpack_01_02.py
new file mode 100644
index 00000000..b1bdc206
--- /dev/null
+++ b/scripts/object/tangible/wearables/backpack/item_bounty_hunter_backpack_01_02.py
@@ -0,0 +1,11 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('item_bounty_hunter_backpack_01_02')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('item_bounty_hunter_backpack_01_02')
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 5)
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 5)
+ object.setStringAttribute('class_required', 'Bounty Hunter')
+ return
diff --git a/scripts/object/tangible/wearables/backpack/item_commando_backpack_01_02.py b/scripts/object/tangible/wearables/backpack/item_commando_backpack_01_02.py
new file mode 100644
index 00000000..ffc76111
--- /dev/null
+++ b/scripts/object/tangible/wearables/backpack/item_commando_backpack_01_02.py
@@ -0,0 +1,11 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('item_commando_backpack_01_02')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('item_commando_backpack_01_02')
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 5)
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 5)
+ object.setStringAttribute('class_required', 'Commando')
+ return
diff --git a/scripts/object/tangible/wearables/boots/item_smuggler_boots_02_01.py b/scripts/object/tangible/wearables/boots/item_smuggler_boots_02_01.py
new file mode 100644
index 00000000..e589fa8e
--- /dev/null
+++ b/scripts/object/tangible/wearables/boots/item_smuggler_boots_02_01.py
@@ -0,0 +1,10 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('item_smuggler_boots_02_01')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('item_smuggler_boots_02_01')
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 3)
+ object.setStringAttribute('class_required', 'Smuggler')
+ return
\ No newline at end of file
diff --git a/scripts/object/tangible/wearables/boots/item_spy_boots_02_01.py b/scripts/object/tangible/wearables/boots/item_spy_boots_02_01.py
new file mode 100644
index 00000000..caa1f917
--- /dev/null
+++ b/scripts/object/tangible/wearables/boots/item_spy_boots_02_01.py
@@ -0,0 +1,10 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('item_spy_boots_02_01')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('item_spy_boots_02_01')
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 3)
+ object.setStringAttribute('class_required', 'Spy')
+ return
\ No newline at end of file
diff --git a/scripts/object/tangible/wearables/bracelet/item_bracelet_l_set_bh_utility_b_01_01.py b/scripts/object/tangible/wearables/bracelet/item_bracelet_l_set_bh_utility_b_01_01.py
new file mode 100644
index 00000000..ddd2ac6f
--- /dev/null
+++ b/scripts/object/tangible/wearables/bracelet/item_bracelet_l_set_bh_utility_b_01_01.py
@@ -0,0 +1,19 @@
+import sys
+
+def setup(core, object):
+ object.setAttachment('radial_filename', 'ring/unity')
+ object.setAttachment('objType', 'ring')
+ object.setStfFilename('static_item_n')
+ object.setStfName('item_bracelet_l_set_bh_utility_b_01_01')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('item_bracelet_l_set_bh_utility_b_01_01')
+ object.setStringAttribute('class_required', 'Bounty Hunter')
+ object.setIntAttribute('required_combat_level', 85)
+ object.setIntAttribute('cat_skill_mod_bonus.@stat_n:bh_dire_root', 1)
+ object.setIntAttribute('cat_skill_mod_bonus.@stat_n:bh_dire_snare', 1)
+ object.setIntAttribute('cat_skill_mod_bonus.@stat_n:fast_attack_line_dm_cc', 2)
+ object.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_bh_utility_b_1')
+ object.setStringAttribute('@set_bonus:piece_bonus_count_4', '@set_bonus:set_bonus_bh_utility_b_2')
+ object.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_bh_utility_b_3')
+ object.setAttachment('setBonus', 'set_bonus_bh_utility_b')
+ return
\ No newline at end of file
diff --git a/scripts/object/tangible/wearables/bracelet/item_bracelet_l_set_hero_01_01.py b/scripts/object/tangible/wearables/bracelet/item_bracelet_l_set_hero_01_01.py
new file mode 100644
index 00000000..3326feb5
--- /dev/null
+++ b/scripts/object/tangible/wearables/bracelet/item_bracelet_l_set_hero_01_01.py
@@ -0,0 +1,18 @@
+import sys
+
+def setup(core, object):
+ object.setAttachment('radial_filename', 'ring/unity')
+ object.setAttachment('objType', 'ring')
+ object.setStfFilename('static_item_n')
+ object.setStfName('item_bracelet_l_set_hero_01_01')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('item_bracelet_l_set_hero_01_01')
+ object.setIntAttribute('required_combat_level', 85)
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:strength_modified', 30)
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 30)
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:luck_modified', 30)
+ object.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_hero_1')
+ object.setStringAttribute('@set_bonus:piece_bonus_count_4', '@set_bonus:set_bonus_hero_2')
+ object.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_hero_3')
+ object.setAttachment('setBonus', 'set_bonus_hero')
+ return
\ No newline at end of file
diff --git a/scripts/object/tangible/wearables/bracelet/item_bracelet_r_set_bh_utility_b_01_01.py b/scripts/object/tangible/wearables/bracelet/item_bracelet_r_set_bh_utility_b_01_01.py
new file mode 100644
index 00000000..1d0aa2c9
--- /dev/null
+++ b/scripts/object/tangible/wearables/bracelet/item_bracelet_r_set_bh_utility_b_01_01.py
@@ -0,0 +1,19 @@
+import sys
+
+def setup(core, object):
+ object.setAttachment('radial_filename', 'ring/unity')
+ object.setAttachment('objType', 'ring')
+ object.setStfFilename('static_item_n')
+ object.setStfName('item_bracelet_r_set_bh_utility_b_01_01')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('item_bracelet_r_set_bh_utility_b_01_01')
+ object.setStringAttribute('class_required', 'Bounty Hunter')
+ object.setIntAttribute('required_combat_level', 85)
+ object.setIntAttribute('cat_skill_mod_bonus.@stat_n:bh_dire_root', 1)
+ object.setIntAttribute('cat_skill_mod_bonus.@stat_n:bh_dire_snare', 1)
+ object.setIntAttribute('cat_skill_mod_bonus.@stat_n:fast_attack_line_dm_cc', 2)
+ object.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_bh_utility_b_1')
+ object.setStringAttribute('@set_bonus:piece_bonus_count_4', '@set_bonus:set_bonus_bh_utility_b_2')
+ object.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_bh_utility_b_3')
+ object.setAttachment('setBonus', 'set_bonus_bh_utility_b')
+ return
\ No newline at end of file
diff --git a/scripts/object/tangible/wearables/bracelet/item_bracelet_r_set_hero_01_01.py b/scripts/object/tangible/wearables/bracelet/item_bracelet_r_set_hero_01_01.py
new file mode 100644
index 00000000..81be4417
--- /dev/null
+++ b/scripts/object/tangible/wearables/bracelet/item_bracelet_r_set_hero_01_01.py
@@ -0,0 +1,18 @@
+import sys
+
+def setup(core, object):
+ object.setAttachment('radial_filename', 'ring/unity')
+ object.setAttachment('objType', 'ring')
+ object.setStfFilename('static_item_n')
+ object.setStfName('item_bracelet_r_set_hero_01_01')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('item_bracelet_r_set_hero_01_01')
+ object.setIntAttribute('required_combat_level', 85)
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:strength_modified', 30)
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 30)
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:luck_modified', 30)
+ object.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_hero_1')
+ object.setStringAttribute('@set_bonus:piece_bonus_count_4', '@set_bonus:set_bonus_hero_2')
+ object.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_hero_3')
+ object.setAttachment('setBonus', 'set_bonus_hero')
+ return
\ No newline at end of file
diff --git a/scripts/object/tangible/wearables/gloves/item_spy_gloves_02_01.py b/scripts/object/tangible/wearables/gloves/item_spy_gloves_02_01.py
new file mode 100644
index 00000000..f5f06373
--- /dev/null
+++ b/scripts/object/tangible/wearables/gloves/item_spy_gloves_02_01.py
@@ -0,0 +1,10 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('item_spy_gloves_02_01')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('item_spy_gloves_02_01')
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 3)
+ object.setStringAttribute('class_required', 'Spy')
+ return
\ No newline at end of file
diff --git a/scripts/object/tangible/wearables/necklace/item_bounty_hunter_pendant_01_02.py b/scripts/object/tangible/wearables/necklace/item_bounty_hunter_pendant_01_02.py
new file mode 100644
index 00000000..46555e1f
--- /dev/null
+++ b/scripts/object/tangible/wearables/necklace/item_bounty_hunter_pendant_01_02.py
@@ -0,0 +1,11 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('item_bounty_hunter_pendant_01_02')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('item_bounty_hunter_pendant_01_02')
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 12)
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 12)
+ object.setStringAttribute('class_required', 'Bounty Hunter')
+ return
diff --git a/scripts/object/tangible/wearables/necklace/item_commando_pendant_01_02.py b/scripts/object/tangible/wearables/necklace/item_commando_pendant_01_02.py
new file mode 100644
index 00000000..716905e2
--- /dev/null
+++ b/scripts/object/tangible/wearables/necklace/item_commando_pendant_01_02.py
@@ -0,0 +1,11 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('item_commando_pendant_01_02')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('item_commando_pendant_01_02')
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 12)
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 12)
+ object.setStringAttribute('class_required', 'Commando')
+ return
diff --git a/scripts/object/tangible/wearables/necklace/item_force_sensitive_pendant_01_02.py b/scripts/object/tangible/wearables/necklace/item_force_sensitive_pendant_01_02.py
new file mode 100644
index 00000000..37735e50
--- /dev/null
+++ b/scripts/object/tangible/wearables/necklace/item_force_sensitive_pendant_01_02.py
@@ -0,0 +1,11 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('item_force_sensitive_pendant_01_02')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('item_force_sensitive_pendant_01_02')
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 12)
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:strength_modified', 12)
+ object.setStringAttribute('class_required', 'Jedi')
+ return
diff --git a/scripts/object/tangible/wearables/necklace/item_necklace_set_bh_utility_b_01_01.py b/scripts/object/tangible/wearables/necklace/item_necklace_set_bh_utility_b_01_01.py
new file mode 100644
index 00000000..7426c06e
--- /dev/null
+++ b/scripts/object/tangible/wearables/necklace/item_necklace_set_bh_utility_b_01_01.py
@@ -0,0 +1,17 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('item_necklace_set_bh_utility_b_01_01')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('item_necklace_set_bh_utility_b_01_01')
+ object.setStringAttribute('class_required', 'Bounty Hunter')
+ object.setIntAttribute('required_combat_level', 85)
+ object.setIntAttribute('cat_skill_mod_bonus.@stat_n:bh_dire_root', 1)
+ object.setIntAttribute('cat_skill_mod_bonus.@stat_n:bh_dire_snare', 1)
+ object.setIntAttribute('cat_skill_mod_bonus.@stat_n:fast_attack_line_dm_cc', 2)
+ object.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_bh_utility_b_1')
+ object.setStringAttribute('@set_bonus:piece_bonus_count_4', '@set_bonus:set_bonus_bh_utility_b_2')
+ object.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_bh_utility_b_3')
+ object.setAttachment('setBonus', 'set_bonus_bh_utility_b')
+ return
\ No newline at end of file
diff --git a/scripts/object/tangible/wearables/necklace/item_necklace_set_hero_01_01.py b/scripts/object/tangible/wearables/necklace/item_necklace_set_hero_01_01.py
new file mode 100644
index 00000000..efb1bc12
--- /dev/null
+++ b/scripts/object/tangible/wearables/necklace/item_necklace_set_hero_01_01.py
@@ -0,0 +1,16 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('item_necklace_set_hero_01_01')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('item_necklace_set_hero_01_01')
+ object.setIntAttribute('required_combat_level', 85)
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:strength_modified', 30)
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 30)
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:luck_modified', 30)
+ object.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_hero_1')
+ object.setStringAttribute('@set_bonus:piece_bonus_count_4', '@set_bonus:set_bonus_hero_2')
+ object.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_hero_3')
+ object.setAttachment('setBonus', 'set_bonus_hero')
+ return
\ No newline at end of file
diff --git a/scripts/object/tangible/wearables/pants/item_smuggler_pants_02_01.py b/scripts/object/tangible/wearables/pants/item_smuggler_pants_02_01.py
new file mode 100644
index 00000000..12b3bd30
--- /dev/null
+++ b/scripts/object/tangible/wearables/pants/item_smuggler_pants_02_01.py
@@ -0,0 +1,10 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('item_smuggler_pants_02_01')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('item_smuggler_pants_02_01')
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 3)
+ object.setStringAttribute('class_required', 'Smuggler')
+ return
\ No newline at end of file
diff --git a/scripts/object/tangible/wearables/pants/item_spy_pants_02_01.py b/scripts/object/tangible/wearables/pants/item_spy_pants_02_01.py
new file mode 100644
index 00000000..a1021bf4
--- /dev/null
+++ b/scripts/object/tangible/wearables/pants/item_spy_pants_02_01.py
@@ -0,0 +1,10 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('item_spy_pants_02_01')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('item_spy_pants_02_01')
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 3)
+ object.setStringAttribute('class_required', 'Spy')
+ return
\ No newline at end of file
diff --git a/scripts/object/tangible/wearables/ring/aakuan_ring.py b/scripts/object/tangible/wearables/ring/aakuan_ring.py
index ccad8904..a7a9a10b 100644
--- a/scripts/object/tangible/wearables/ring/aakuan_ring.py
+++ b/scripts/object/tangible/wearables/ring/aakuan_ring.py
@@ -1,4 +1,6 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'ring/unity')
+ object.setAttachment('objType', 'ring')
return
\ No newline at end of file
diff --git a/scripts/object/tangible/wearables/ring/item_band_set_bh_utility_b_01_01.py b/scripts/object/tangible/wearables/ring/item_band_set_bh_utility_b_01_01.py
new file mode 100644
index 00000000..4ec469c0
--- /dev/null
+++ b/scripts/object/tangible/wearables/ring/item_band_set_bh_utility_b_01_01.py
@@ -0,0 +1,19 @@
+import sys
+
+def setup(core, object):
+ object.setAttachment('radial_filename', 'ring/unity')
+ object.setAttachment('objType', 'ring')
+ object.setStfFilename('static_item_n')
+ object.setStfName('item_band_set_bh_utility_b_01_01')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('item_band_set_bh_utility_b_01_01')
+ object.setStringAttribute('class_required', 'Bounty Hunter')
+ object.setIntAttribute('required_combat_level', 85)
+ object.setIntAttribute('cat_skill_mod_bonus.@stat_n:bh_dire_root', 1)
+ object.setIntAttribute('cat_skill_mod_bonus.@stat_n:bh_dire_snare', 1)
+ object.setIntAttribute('cat_skill_mod_bonus.@stat_n:fast_attack_line_dm_cc', 2)
+ object.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_bh_utility_b_1')
+ object.setStringAttribute('@set_bonus:piece_bonus_count_4', '@set_bonus:set_bonus_bh_utility_b_2')
+ object.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_bh_utility_b_3')
+ object.setAttachment('setBonus', 'set_bonus_bh_utility_b')
+ return
\ No newline at end of file
diff --git a/scripts/object/tangible/wearables/ring/item_band_set_hero_01_01.py b/scripts/object/tangible/wearables/ring/item_band_set_hero_01_01.py
new file mode 100644
index 00000000..73f173b9
--- /dev/null
+++ b/scripts/object/tangible/wearables/ring/item_band_set_hero_01_01.py
@@ -0,0 +1,18 @@
+import sys
+
+def setup(core, object):
+ object.setAttachment('radial_filename', 'ring/unity')
+ object.setAttachment('objType', 'ring')
+ object.setStfFilename('static_item_n')
+ object.setStfName('item_band_set_hero_01_01')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('item_band_set_hero_01_01')
+ object.setIntAttribute('required_combat_level', 85)
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:strength_modified', 30)
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 30)
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:luck_modified', 30)
+ object.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_hero_1')
+ object.setStringAttribute('@set_bonus:piece_bonus_count_4', '@set_bonus:set_bonus_hero_2')
+ object.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_hero_3')
+ object.setAttachment('setBonus', 'set_bonus_hero')
+ return
\ No newline at end of file
diff --git a/scripts/object/tangible/wearables/ring/item_bounty_hunter_ring_01_02.py b/scripts/object/tangible/wearables/ring/item_bounty_hunter_ring_01_02.py
new file mode 100644
index 00000000..110a5ec1
--- /dev/null
+++ b/scripts/object/tangible/wearables/ring/item_bounty_hunter_ring_01_02.py
@@ -0,0 +1,13 @@
+import sys
+
+def setup(core, object):
+ object.setAttachment('objType', 'ring')
+ object.setStfFilename('static_item_n')
+ object.setStfName('item_bounty_hunter_ring_01_02')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('item_bounty_hunter_ring_01_02')
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 6)
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 6)
+ object.setStringAttribute('class_required', 'Bounty Hunter')
+ object.setAttachment('radial_filename', 'ring/unity')
+ return
diff --git a/scripts/object/tangible/wearables/ring/item_commando_ring_01_02.py b/scripts/object/tangible/wearables/ring/item_commando_ring_01_02.py
new file mode 100644
index 00000000..5e4f73c1
--- /dev/null
+++ b/scripts/object/tangible/wearables/ring/item_commando_ring_01_02.py
@@ -0,0 +1,13 @@
+import sys
+
+def setup(core, object):
+ object.setAttachment('objType', 'ring')
+ object.setStfFilename('static_item_n')
+ object.setStfName('item_commando_ring_01_02')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('item_commando_ring_01_02')
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 6)
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 6)
+ object.setStringAttribute('class_required', 'Commando')
+ object.setAttachment('radial_filename', 'ring/unity')
+ return
diff --git a/scripts/object/tangible/wearables/ring/item_force_sensitive_ring_01_02.py b/scripts/object/tangible/wearables/ring/item_force_sensitive_ring_01_02.py
new file mode 100644
index 00000000..a22d7967
--- /dev/null
+++ b/scripts/object/tangible/wearables/ring/item_force_sensitive_ring_01_02.py
@@ -0,0 +1,13 @@
+import sys
+
+def setup(core, object):
+ object.setAttachment('objType', 'ring')
+ object.setStfFilename('static_item_n')
+ object.setStfName('item_force_sensitive_ring_01_02')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('item_force_sensitive_ring_01_02')
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 6)
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:strength_modified', 6)
+ object.setStringAttribute('class_required', 'Jedi')
+ object.setAttachment('radial_filename', 'ring/unity')
+ return
diff --git a/scripts/object/tangible/wearables/ring/item_force_sensitive_ring_02_01.py b/scripts/object/tangible/wearables/ring/item_force_sensitive_ring_02_01.py
new file mode 100644
index 00000000..01a05612
--- /dev/null
+++ b/scripts/object/tangible/wearables/ring/item_force_sensitive_ring_02_01.py
@@ -0,0 +1,13 @@
+import sys
+
+def setup(core, object):
+ object.setAttachment('objType', 'ring')
+ object.setStfFilename('static_item_n')
+ object.setStfName('item_force_sensitive_ring_02_01')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('item_force_sensitive_ring_02_01')
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 5)
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:strength_modified', 5)
+ object.setStringAttribute('class_required', 'Jedi')
+ object.setAttachment('radial_filename', 'ring/unity')
+ return
diff --git a/scripts/object/tangible/wearables/ring/item_ring_set_bh_utility_b_01_01.py b/scripts/object/tangible/wearables/ring/item_ring_set_bh_utility_b_01_01.py
new file mode 100644
index 00000000..0d16a24a
--- /dev/null
+++ b/scripts/object/tangible/wearables/ring/item_ring_set_bh_utility_b_01_01.py
@@ -0,0 +1,19 @@
+import sys
+
+def setup(core, object):
+ object.setAttachment('radial_filename', 'ring/unity')
+ object.setAttachment('objType', 'ring')
+ object.setStfFilename('static_item_n')
+ object.setStfName('item_ring_set_bh_utility_b_01_01')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('item_ring_set_bh_utility_b_01_01')
+ object.setStringAttribute('class_required', 'Bounty Hunter')
+ object.setIntAttribute('required_combat_level', 85)
+ object.setIntAttribute('cat_skill_mod_bonus.@stat_n:bh_dire_root', 1)
+ object.setIntAttribute('cat_skill_mod_bonus.@stat_n:bh_dire_snare', 1)
+ object.setIntAttribute('cat_skill_mod_bonus.@stat_n:fast_attack_line_dm_cc', 2)
+ object.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_bh_utility_b_1')
+ object.setStringAttribute('@set_bonus:piece_bonus_count_4', '@set_bonus:set_bonus_bh_utility_b_2')
+ object.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_bh_utility_b_3')
+ object.setAttachment('setBonus', 'set_bonus_bh_utility_b')
+ return
\ No newline at end of file
diff --git a/scripts/object/tangible/wearables/ring/item_ring_set_hero_01_01.py b/scripts/object/tangible/wearables/ring/item_ring_set_hero_01_01.py
new file mode 100644
index 00000000..2a2d0124
--- /dev/null
+++ b/scripts/object/tangible/wearables/ring/item_ring_set_hero_01_01.py
@@ -0,0 +1,18 @@
+import sys
+
+def setup(core, object):
+ object.setAttachment('radial_filename', 'ring/unity')
+ object.setAttachment('objType', 'ring')
+ object.setStfFilename('static_item_n')
+ object.setStfName('item_ring_set_hero_01_01')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('item_ring_set_hero_01_01')
+ object.setIntAttribute('required_combat_level', 85)
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:strength_modified', 30)
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 30)
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:luck_modified', 30)
+ object.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_hero_1')
+ object.setStringAttribute('@set_bonus:piece_bonus_count_4', '@set_bonus:set_bonus_hero_2')
+ object.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_hero_3')
+ object.setAttachment('setBonus', 'set_bonus_hero')
+ return
\ No newline at end of file
diff --git a/scripts/object/tangible/wearables/ring/ring_base.py b/scripts/object/tangible/wearables/ring/ring_base.py
index ccad8904..21d2e709 100644
--- a/scripts/object/tangible/wearables/ring/ring_base.py
+++ b/scripts/object/tangible/wearables/ring/ring_base.py
@@ -1,4 +1,6 @@
import sys
def setup(core, object):
+ object.setAttachment('objType', 'ring')
+ object.setAttachment('radial_filename', 'ring/unity')
return
\ No newline at end of file
diff --git a/scripts/object/tangible/wearables/ring/ring_gcw_imperial.py b/scripts/object/tangible/wearables/ring/ring_gcw_imperial.py
index ccad8904..a7a9a10b 100644
--- a/scripts/object/tangible/wearables/ring/ring_gcw_imperial.py
+++ b/scripts/object/tangible/wearables/ring/ring_gcw_imperial.py
@@ -1,4 +1,6 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'ring/unity')
+ object.setAttachment('objType', 'ring')
return
\ No newline at end of file
diff --git a/scripts/object/tangible/wearables/ring/ring_gcw_rebel.py b/scripts/object/tangible/wearables/ring/ring_gcw_rebel.py
index ccad8904..a7a9a10b 100644
--- a/scripts/object/tangible/wearables/ring/ring_gcw_rebel.py
+++ b/scripts/object/tangible/wearables/ring/ring_gcw_rebel.py
@@ -1,4 +1,6 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'ring/unity')
+ object.setAttachment('objType', 'ring')
return
\ No newline at end of file
diff --git a/scripts/object/tangible/wearables/ring/ring_mark_hero.py b/scripts/object/tangible/wearables/ring/ring_mark_hero.py
index ccad8904..a7a9a10b 100644
--- a/scripts/object/tangible/wearables/ring/ring_mark_hero.py
+++ b/scripts/object/tangible/wearables/ring/ring_mark_hero.py
@@ -1,4 +1,6 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'ring/unity')
+ object.setAttachment('objType', 'ring')
return
\ No newline at end of file
diff --git a/scripts/object/tangible/wearables/ring/ring_nightsister.py b/scripts/object/tangible/wearables/ring/ring_nightsister.py
index ccad8904..a7a9a10b 100644
--- a/scripts/object/tangible/wearables/ring/ring_nightsister.py
+++ b/scripts/object/tangible/wearables/ring/ring_nightsister.py
@@ -1,4 +1,6 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'ring/unity')
+ object.setAttachment('objType', 'ring')
return
\ No newline at end of file
diff --git a/scripts/object/tangible/wearables/ring/ring_s01.py b/scripts/object/tangible/wearables/ring/ring_s01.py
index dc6ea0b1..f311265b 100644
--- a/scripts/object/tangible/wearables/ring/ring_s01.py
+++ b/scripts/object/tangible/wearables/ring/ring_s01.py
@@ -1,6 +1,8 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'ring/unity')
+ object.setAttachment('objType', 'ring')
return
def equip(core, actor, object):
diff --git a/scripts/object/tangible/wearables/ring/ring_s02.py b/scripts/object/tangible/wearables/ring/ring_s02.py
index 2ca3d3ca..467d8fb3 100644
--- a/scripts/object/tangible/wearables/ring/ring_s02.py
+++ b/scripts/object/tangible/wearables/ring/ring_s02.py
@@ -1,6 +1,8 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'ring/unity')
+ object.setAttachment('objType', 'ring')
return
def equip(core, actor, object):
diff --git a/scripts/object/tangible/wearables/ring/ring_s03.py b/scripts/object/tangible/wearables/ring/ring_s03.py
index 418b5aa4..52d2d1d2 100644
--- a/scripts/object/tangible/wearables/ring/ring_s03.py
+++ b/scripts/object/tangible/wearables/ring/ring_s03.py
@@ -1,6 +1,8 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'ring/unity')
+ object.setAttachment('objType', 'ring')
return
def equip(core, actor, object):
diff --git a/scripts/object/tangible/wearables/ring/ring_s03_quest.py b/scripts/object/tangible/wearables/ring/ring_s03_quest.py
index ccad8904..a7a9a10b 100644
--- a/scripts/object/tangible/wearables/ring/ring_s03_quest.py
+++ b/scripts/object/tangible/wearables/ring/ring_s03_quest.py
@@ -1,4 +1,6 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'ring/unity')
+ object.setAttachment('objType', 'ring')
return
\ No newline at end of file
diff --git a/scripts/object/tangible/wearables/ring/ring_s04.py b/scripts/object/tangible/wearables/ring/ring_s04.py
index 6410d76f..c00caed9 100644
--- a/scripts/object/tangible/wearables/ring/ring_s04.py
+++ b/scripts/object/tangible/wearables/ring/ring_s04.py
@@ -1,6 +1,8 @@
import sys
def setup(core, object):
+ object.setAttachment('radial_filename', 'ring/unity')
+ object.setAttachment('objType', 'ring')
return
def equip(core, actor, object):
diff --git a/scripts/object/tangible/wearables/robe/item_npe_fs_robe_02_01.py b/scripts/object/tangible/wearables/robe/item_npe_fs_robe_02_01.py
new file mode 100644
index 00000000..afb64a4b
--- /dev/null
+++ b/scripts/object/tangible/wearables/robe/item_npe_fs_robe_02_01.py
@@ -0,0 +1,11 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('item_npe_fs_robe_02_01')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('item_npe_fs_robe_02_01')
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 10)
+ object.setStringAttribute('class_required', 'Jedi')
+ object.setIntAttribute('required_combat_level', 1)
+ return
diff --git a/scripts/object/tangible/wearables/robe/item_npe_fs_robe_02_02.py b/scripts/object/tangible/wearables/robe/item_npe_fs_robe_02_02.py
index 74d6de38..d71c2f44 100644
--- a/scripts/object/tangible/wearables/robe/item_npe_fs_robe_02_02.py
+++ b/scripts/object/tangible/wearables/robe/item_npe_fs_robe_02_02.py
@@ -1,7 +1,6 @@
import sys
def setup(core, object):
-
object.setStfFilename('static_item_n')
object.setStfName('item_npe_fs_robe_02_02')
object.setDetailFilename('static_item_d')
diff --git a/scripts/object/tangible/wearables/robe/robe_jedi_dark_s01.py b/scripts/object/tangible/wearables/robe/robe_jedi_dark_s01.py
index 1d64fa57..6c8a9d3c 100644
--- a/scripts/object/tangible/wearables/robe/robe_jedi_dark_s01.py
+++ b/scripts/object/tangible/wearables/robe/robe_jedi_dark_s01.py
@@ -1,18 +1,15 @@
import sys
def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('item_jedi_robe_dark_03_01')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('item_jedi_robe_dark_03_01')
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 100)
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 100)
+ object.setStringAttribute('protection_level', 'Weak')
+ object.setStringAttribute('class_required', 'Jedi')
+ object.setIntAttribute('required_combat_level', 40)
+ object.setStringAttribute('@set_bonus:piece_bonus_count_2', '@set_bonus:set_bonus_jedi_robe_1')
+ object.setAttachment('type', 'jedi_robe')
return
-
-def equip(core, actor, target):
- core.skillModService.addSkillMod(actor, 'constitution_modified', 100)
- core.skillModService.addSkillMod(actor, 'precision_modified', 100)
-
- return
-
-def unequip(core, actor, target):
- core.skillModService.deductSkillMod(actor, 'constitution_modified', 100)
- core.skillModService.deductSkillMod(actor, 'precision_modified', 100)
-
-
- return
-
\ No newline at end of file
diff --git a/scripts/object/tangible/wearables/robe/robe_jedi_dark_s02.py b/scripts/object/tangible/wearables/robe/robe_jedi_dark_s02.py
index 0a02012a..ab11f14c 100644
--- a/scripts/object/tangible/wearables/robe/robe_jedi_dark_s02.py
+++ b/scripts/object/tangible/wearables/robe/robe_jedi_dark_s02.py
@@ -1,18 +1,15 @@
import sys
def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('item_jedi_robe_dark_03_02')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('item_jedi_robe_dark_03_02')
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 145)
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 145)
+ object.setStringAttribute('protection_level', 'Lucent')
+ object.setStringAttribute('class_required', 'Jedi')
+ object.setIntAttribute('required_combat_level', 60)
+ object.setAttachment('type', 'jedi_robe')
+ object.setStringAttribute('@set_bonus:piece_bonus_count_2', '@set_bonus:set_bonus_jedi_robe_1')
return
-
-def equip(core, actor, target):
- core.skillModService.addSkillMod(actor, 'constitution_modified', 145)
- core.skillModService.addSkillMod(actor, 'precision_modified', 145)
-
-
- return
-
-def unequip(core, actor, target):
- core.skillModService.deductSkillMod(actor, 'constitution_modified', 145)
- core.skillModService.deductSkillMod(actor, 'precision_modified', 145)
-
- return
-
\ No newline at end of file
diff --git a/scripts/object/tangible/wearables/robe/robe_jedi_dark_s03.py b/scripts/object/tangible/wearables/robe/robe_jedi_dark_s03.py
index 9a627b3b..101fa13f 100644
--- a/scripts/object/tangible/wearables/robe/robe_jedi_dark_s03.py
+++ b/scripts/object/tangible/wearables/robe/robe_jedi_dark_s03.py
@@ -1,19 +1,21 @@
import sys
def setup(core, object):
- return
+ object.setStfFilename('static_item_n')
+ object.setStfName('item_jedi_robe_dark_03_03')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('item_jedi_robe_dark_03_03')
-def equip(core, actor, target):
- core.skillModService.addSkillMod(actor, 'constitution_modified', 185)
- core.skillModService.addSkillMod(actor, 'precision_modified', 185)
- core.skillModService.addSkillMod(actor, 'luck_modified', 185)
+ object.setStringAttribute('protection_level', 'Luminous')
+ object.setStringAttribute('class_required', 'Jedi')
+ object.setIntAttribute('required_combat_level', 80)
- return
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 185)
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 185)
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:luck_modified', 185)
-def unequip(core, actor, target):
- core.skillModService.deductSkillMod(actor, 'constitution_modified', 185)
- core.skillModService.deductSkillMod(actor, 'precision_modified', 185)
- core.skillModService.deductSkillMod(actor, 'luck_modified', 185)
-
+ 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
-
\ No newline at end of file
diff --git a/scripts/object/tangible/wearables/robe/robe_jedi_dark_s04.py b/scripts/object/tangible/wearables/robe/robe_jedi_dark_s04.py
index 8c145ab4..5b1543e3 100644
--- a/scripts/object/tangible/wearables/robe/robe_jedi_dark_s04.py
+++ b/scripts/object/tangible/wearables/robe/robe_jedi_dark_s04.py
@@ -1,31 +1,22 @@
import sys
def setup(core, object):
- return
+ object.setStfFilename('static_item_n')
+ object.setStfName('item_jedi_robe_dark_04_04')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('item_jedi_robe_dark_04_04')
-def equip(core, actor, target):
- core.skillModService.addSkillMod(actor, 'constitution_modified', 250)
- core.skillModService.addSkillMod(actor, 'precision_modified', 250)
- core.skillModService.addSkillMod(actor, 'luck_modified', 250)
+ object.setStringAttribute('protection_level', 'Radiant')
+ object.setStringAttribute('class_required', 'Jedi')
+ object.setIntAttribute('required_combat_level', 80)
- Buff = actor.getBuffByName('proc_old_dark_jedi_gift')
- if actor.getBuffList().contains(Buff):
- core.buffService.removeBuffFromCreature(actor, Buff)
- return
-
- if actor:
- core.buffService.addBuffToCreature(actor, 'proc_old_dark_jedi_gift')
- return
- return
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 250)
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 250)
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:luck_modified', 250)
-def unequip(core, actor, target):
- core.skillModService.deductSkillMod(actor, 'constitution_modified', 250)
- core.skillModService.deductSkillMod(actor, 'precision_modified', 250)
- core.skillModService.deductSkillMod(actor, 'luck_modified', 250)
+ object.setStringAttribute('proc_name', '@ui_buff:proc_old_dark_jedi_gift')
+ object.setStringAttribute('@set_bonus:piece_bonus_count_2', '@set_bonus:set_bonus_jedi_robe_1')
- Buff = actor.getBuffByName('proc_old_dark_jedi_gift')
- if actor.getBuffList().contains(Buff):
- core.buffService.removeBuffFromCreature(actor, Buff)
- return
- return
-
\ No newline at end of file
+ object.setAttachment('type', 'jedi_robe')
+ object.setAttachment('setBonus', 'set_bonus_jedi_robe')
+ return
\ No newline at end of file
diff --git a/scripts/object/tangible/wearables/robe/robe_jedi_light_s01.py b/scripts/object/tangible/wearables/robe/robe_jedi_light_s01.py
index 639eac05..bc274ef4 100644
--- a/scripts/object/tangible/wearables/robe/robe_jedi_light_s01.py
+++ b/scripts/object/tangible/wearables/robe/robe_jedi_light_s01.py
@@ -1,18 +1,15 @@
import sys
def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('item_jedi_robe_light_03_01')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('item_jedi_robe_light_03_01')
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 100)
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:strength_modified', 100)
+ object.setStringAttribute('protection_level', 'Weak')
+ object.setStringAttribute('class_required', 'Jedi')
+ object.setIntAttribute('required_combat_level', 40)
+ object.setAttachment('type', 'jedi_robe')
+ object.setStringAttribute('@set_bonus:piece_bonus_count_2', '@set_bonus:set_bonus_jedi_robe_1')
return
-
-def equip(core, actor, target):
- core.skillModService.addSkillMod(actor, 'constitution_modified', 100)
- core.skillModService.addSkillMod(actor, 'strength_modified', 100)
-
- return
-
-def unequip(core, actor, target):
- core.skillModService.deductSkillMod(actor, 'constitution_modified', 100)
- core.skillModService.deductSkillMod(actor, 'strength_modified', 100)
-
-
- return
-
\ No newline at end of file
diff --git a/scripts/object/tangible/wearables/robe/robe_jedi_light_s02.py b/scripts/object/tangible/wearables/robe/robe_jedi_light_s02.py
index 9db15ef9..7e01e7ab 100644
--- a/scripts/object/tangible/wearables/robe/robe_jedi_light_s02.py
+++ b/scripts/object/tangible/wearables/robe/robe_jedi_light_s02.py
@@ -1,18 +1,15 @@
import sys
def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('item_jedi_robe_light_03_02')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('item_jedi_robe_light_03_02')
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 145)
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:strength_modified', 145)
+ object.setStringAttribute('protection_level', 'Lucent')
+ object.setStringAttribute('class_required', 'Jedi')
+ object.setIntAttribute('required_combat_level', 60)
+ object.setAttachment('type', 'jedi_robe')
+ object.setStringAttribute('@set_bonus:piece_bonus_count_2', '@set_bonus:set_bonus_jedi_robe_1')
return
-
-def equip(core, actor, target):
- core.skillModService.addSkillMod(actor, 'constitution_modified', 145)
- core.skillModService.addSkillMod(actor, 'strength_modified', 145)
-
- return
-
-def unequip(core, actor, target):
- core.skillModService.deductSkillMod(actor, 'constitution_modified', 145)
- core.skillModService.deductSkillMod(actor, 'strength_modified', 145)
-
-
- return
-
\ No newline at end of file
diff --git a/scripts/object/tangible/wearables/robe/robe_jedi_light_s03.py b/scripts/object/tangible/wearables/robe/robe_jedi_light_s03.py
index 6a546a09..904d0be2 100644
--- a/scripts/object/tangible/wearables/robe/robe_jedi_light_s03.py
+++ b/scripts/object/tangible/wearables/robe/robe_jedi_light_s03.py
@@ -1,19 +1,21 @@
import sys
def setup(core, object):
- return
+ object.setStfFilename('static_item_n')
+ object.setStfName('item_jedi_robe_light_03_03')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('item_jedi_robe_light_03_03')
-def equip(core, actor, target):
- core.skillModService.addSkillMod(actor, 'agility_modified', 185)
- core.skillModService.addSkillMod(actor, 'constitution_modified', 185)
- core.skillModService.addSkillMod(actor, 'strength_modified', 185)
+ object.setStringAttribute('protection_level', 'Luminous')
+ object.setStringAttribute('class_required', 'Jedi')
+ object.setIntAttribute('required_combat_level', 80)
- return
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 185)
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:strength_modified', 185)
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 185)
-def unequip(core, actor, target):
- core.skillModService.deductSkillMod(actor, 'agility_modified', 185)
- core.skillModService.deductSkillMod(actor, 'constitution_modified', 185)
- core.skillModService.deductSkillMod(actor, 'strength_modified', 185)
-
+ 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
-
\ No newline at end of file
diff --git a/scripts/object/tangible/wearables/robe/robe_jedi_light_s04.py b/scripts/object/tangible/wearables/robe/robe_jedi_light_s04.py
index be022790..c540ba74 100644
--- a/scripts/object/tangible/wearables/robe/robe_jedi_light_s04.py
+++ b/scripts/object/tangible/wearables/robe/robe_jedi_light_s04.py
@@ -1,31 +1,26 @@
import sys
def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('item_jedi_robe_light_04_04')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('item_jedi_robe_light_04_04')
+
+ object.setStringAttribute('protection_level', 'Radiant')
+ object.setStringAttribute('class_required', 'Jedi')
+ object.setIntAttribute('required_combat_level', 80)
+
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 250)
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:strength_modified', 250)
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 250)
+
+
+ object.setStringAttribute('proc_name', '@ui_buff:proc_old_light_jedi_gift')
+ 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
-
-def equip(core, actor, target):
- core.skillModService.addSkillMod(actor, 'agility_modified', 250)
- core.skillModService.addSkillMod(actor, 'constitution_modified', 250)
- core.skillModService.addSkillMod(actor, 'strength_modified', 250)
-
- Buff = actor.getBuffByName('proc_old_light_jedi_gift')
- if actor.getBuffList().contains(Buff):
- core.buffService.removeBuffFromCreature(actor, Buff)
- return
-
- if actor:
- core.buffService.addBuffToCreature(actor, 'proc_old_light_jedi_gift')
- return
- return
-
-def unequip(core, actor, target):
- core.skillModService.deductSkillMod(actor, 'agility_modified', 250)
- core.skillModService.deductSkillMod(actor, 'constitution_modified', 250)
- core.skillModService.deductSkillMod(actor, 'strength_modified', 250)
-
- Buff = actor.getBuffByName('proc_old_light_jedi_gift')
- if actor.getBuffList().contains(Buff):
- core.buffService.removeBuffFromCreature(actor, Buff)
- return
- return
+
\ No newline at end of file
diff --git a/scripts/object/tangible/wearables/shirt/item_smuggler_shirt_02_01.py b/scripts/object/tangible/wearables/shirt/item_smuggler_shirt_02_01.py
new file mode 100644
index 00000000..c331d0b1
--- /dev/null
+++ b/scripts/object/tangible/wearables/shirt/item_smuggler_shirt_02_01.py
@@ -0,0 +1,10 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('item_smuggler_shirt_02_01')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('item_smuggler_shirt_02_01')
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 3)
+ object.setStringAttribute('class_required', 'Smuggler')
+ return
\ No newline at end of file
diff --git a/scripts/object/tangible/wearables/shirt/item_spy_shirt_02_01.py b/scripts/object/tangible/wearables/shirt/item_spy_shirt_02_01.py
new file mode 100644
index 00000000..8bda143e
--- /dev/null
+++ b/scripts/object/tangible/wearables/shirt/item_spy_shirt_02_01.py
@@ -0,0 +1,10 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('item_spy_shirt_02_01')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('item_spy_shirt_02_01')
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 3)
+ object.setStringAttribute('class_required', 'Spy')
+ return
\ No newline at end of file
diff --git a/scripts/object/tangible/wearables/vest/item_smuggler_vest_02_01.py b/scripts/object/tangible/wearables/vest/item_smuggler_vest_02_01.py
new file mode 100644
index 00000000..35c0cd30
--- /dev/null
+++ b/scripts/object/tangible/wearables/vest/item_smuggler_vest_02_01.py
@@ -0,0 +1,10 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('item_smuggler_vest_02_01')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('item_smuggler_vest_02_01')
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 3)
+ object.setStringAttribute('class_required', 'Smuggler')
+ return
\ No newline at end of file
diff --git a/scripts/object/weapon/creature/creature_default_weapon.py b/scripts/object/weapon/creature/creature_default_weapon.py
index ccad8904..78eeaca8 100644
--- a/scripts/object/weapon/creature/creature_default_weapon.py
+++ b/scripts/object/weapon/creature/creature_default_weapon.py
@@ -1,4 +1,12 @@
import sys
+from resources.datatables import WeaponType
def setup(core, object):
+ object.setAttackSpeed(1)
+ object.setDamageType("kinetic")
+ object.setMinDamage(50)
+ object.setMaxDamage(100)
+ object.setMaxRange(5)
+ object.setWeaponType(WeaponType.UNARMED)
+
return
\ No newline at end of file
diff --git a/scripts/object/weapon/melee/polearm/weapon_polearm_02_03.py b/scripts/object/weapon/melee/polearm/weapon_polearm_02_03.py
new file mode 100644
index 00000000..a730dfbb
--- /dev/null
+++ b/scripts/object/weapon/melee/polearm/weapon_polearm_02_03.py
@@ -0,0 +1,16 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('weapon_polearm_02_03')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('weapon_polearm_02_03')
+ object.setIntAttribute('required_combat_level', 1)
+ object.setAttackSpeed(1);
+ object.setMaxRange(5);
+ object.setDamageType("kinetic");
+ object.setMinDamage(43);
+ object.setMaxDamage(75);
+ object.setWeaponType(7);
+ return
+ return
\ No newline at end of file
diff --git a/scripts/object/weapon/ranged/carbine/weapon_acidbeam_commando_roadmap_01_02.py b/scripts/object/weapon/ranged/carbine/weapon_acidbeam_commando_roadmap_01_02.py
new file mode 100644
index 00000000..8fd46b6d
--- /dev/null
+++ b/scripts/object/weapon/ranged/carbine/weapon_acidbeam_commando_roadmap_01_02.py
@@ -0,0 +1,17 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('weapon_acidbeam_commando_roadmap_01_02')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('weapon_acidbeam_commando_roadmap_01_02')
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 5)
+ object.setStringAttribute('class_required', 'Commando')
+ object.setIntAttribute('required_combat_level', 30)
+ object.setFloatAttribute('cat_wpn_damage.wpn_attack_speed', 0.6)
+ object.setStringAttribute('cat_wpn_damage.wpn_damage_type', 'Energy')
+ object.setStringAttribute('cat_wpn_damage.damage', '109-218')
+ object.setStringAttribute('cat_wpn_damage.wpn_range', '0-50m')
+ object.setStringAttribute('cat_wpn_damage.wpn_category', 'Carbine')
+ object.setIntAttribute('cat_wpn_damage.dps', object.getDamagePerSecond())
+ return
\ No newline at end of file
diff --git a/scripts/object/weapon/ranged/carbine/weapon_carbine_bh_roadmap_01_02.py b/scripts/object/weapon/ranged/carbine/weapon_carbine_bh_roadmap_01_02.py
new file mode 100644
index 00000000..eede7b59
--- /dev/null
+++ b/scripts/object/weapon/ranged/carbine/weapon_carbine_bh_roadmap_01_02.py
@@ -0,0 +1,17 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('weapon_carbine_bh_roadmap_01_02')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('weapon_carbine_bh_roadmap_01_02')
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 5)
+ object.setStringAttribute('class_required', 'Bounty Hunter')
+ object.setIntAttribute('required_combat_level', 30)
+ object.setFloatAttribute('cat_wpn_damage.wpn_attack_speed', 0.6)
+ object.setStringAttribute('cat_wpn_damage.wpn_damage_type', 'Energy')
+ object.setStringAttribute('cat_wpn_damage.damage', '109-218')
+ object.setStringAttribute('cat_wpn_damage.wpn_range', '0-55m')
+ object.setStringAttribute('cat_wpn_damage.wpn_category', 'Carbine')
+ object.setIntAttribute('cat_wpn_damage.dps', object.getDamagePerSecond())
+ return
\ No newline at end of file
diff --git a/scripts/object/weapon/ranged/carbine/weapon_npe_carbine_bh_03_01.py b/scripts/object/weapon/ranged/carbine/weapon_npe_carbine_bh_03_01.py
new file mode 100644
index 00000000..600a05a8
--- /dev/null
+++ b/scripts/object/weapon/ranged/carbine/weapon_npe_carbine_bh_03_01.py
@@ -0,0 +1,16 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('weapon_npe_carbine_bh_03_01')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('weapon_npe_carbine_bh_03_01')
+ object.setStringAttribute('class_required', 'Bounty Hunter')
+ object.setIntAttribute('required_combat_level', 1)
+ object.setAttackSpeed(0.6);
+ object.setMaxRange(35);
+ object.setDamageType("energy");
+ object.setMinDamage(17);
+ object.setMaxDamage(43);
+ object.setWeaponType(1);
+ return
\ No newline at end of file
diff --git a/scripts/object/weapon/ranged/carbine/weapon_npe_carbine_spy_03_01.py b/scripts/object/weapon/ranged/carbine/weapon_npe_carbine_spy_03_01.py
new file mode 100644
index 00000000..bb153176
--- /dev/null
+++ b/scripts/object/weapon/ranged/carbine/weapon_npe_carbine_spy_03_01.py
@@ -0,0 +1,16 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('weapon_npe_carbine_spy_03_01')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('weapon_npe_carbine_spy_03_01')
+ object.setStringAttribute('class_required', 'Spy')
+ object.setIntAttribute('required_combat_level', 1)
+ object.setAttackSpeed(0.6);
+ object.setMaxRange(35);
+ object.setDamageType("energy");
+ object.setMinDamage(17);
+ object.setMaxDamage(43);
+ object.setWeaponType(1);
+ return
\ No newline at end of file
diff --git a/scripts/object/weapon/ranged/carbine/weapon_npe_commando_carbine_03_01.py b/scripts/object/weapon/ranged/carbine/weapon_npe_commando_carbine_03_01.py
new file mode 100644
index 00000000..e707e4f4
--- /dev/null
+++ b/scripts/object/weapon/ranged/carbine/weapon_npe_commando_carbine_03_01.py
@@ -0,0 +1,16 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('weapon_npe_commando_carbine_03_01')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('weapon_npe_commando_carbine_03_01')
+ object.setStringAttribute('class_required', 'Commando')
+ object.setIntAttribute('required_combat_level', 1)
+ object.setAttackSpeed(0.6);
+ object.setMaxRange(35);
+ object.setDamageType("energy");
+ object.setMinDamage(20);
+ object.setMaxDamage(40);
+ object.setWeaponType(1);
+ return
\ No newline at end of file
diff --git a/scripts/object/weapon/ranged/pistol/item_npe_officer_sidearm.py b/scripts/object/weapon/ranged/pistol/item_npe_officer_sidearm.py
new file mode 100644
index 00000000..b1c7fa0f
--- /dev/null
+++ b/scripts/object/weapon/ranged/pistol/item_npe_officer_sidearm.py
@@ -0,0 +1,16 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('item_npe_officer_sidearm')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('item_npe_officer_sidearm')
+ object.setStringAttribute('class_required', 'Officer')
+ object.setIntAttribute('required_combat_level', 1)
+ object.setAttackSpeed(0.4);
+ object.setMaxRange(35);
+ object.setDamageType("energy");
+ object.setMinDamage(15);
+ object.setMaxDamage(25);
+ object.setWeaponType(2);
+ return
\ No newline at end of file
diff --git a/scripts/object/weapon/ranged/pistol/item_npe_smuggler_han_solo_gun.py b/scripts/object/weapon/ranged/pistol/item_npe_smuggler_han_solo_gun.py
new file mode 100644
index 00000000..baef2e0b
--- /dev/null
+++ b/scripts/object/weapon/ranged/pistol/item_npe_smuggler_han_solo_gun.py
@@ -0,0 +1,16 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('item_npe_smuggler_han_solo_gun')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('item_npe_smuggler_han_solo_gun')
+ object.setStringAttribute('class_required', 'Smuggler')
+ object.setIntAttribute('required_combat_level', 1)
+ object.setAttackSpeed(0.4);
+ object.setMaxRange(35);
+ object.setDamageType("energy");
+ object.setMinDamage(13);
+ object.setMaxDamage(27);
+ object.setWeaponType(2);
+ return
\ No newline at end of file
diff --git a/scripts/object/weapon/ranged/pistol/weapon_npe_medic_pistol_03_01.py b/scripts/object/weapon/ranged/pistol/weapon_npe_medic_pistol_03_01.py
new file mode 100644
index 00000000..56169960
--- /dev/null
+++ b/scripts/object/weapon/ranged/pistol/weapon_npe_medic_pistol_03_01.py
@@ -0,0 +1,16 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('weapon_npe_medic_pistol_03_01')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('weapon_npe_medic_pistol_03_01')
+ object.setStringAttribute('class_required', 'Medic')
+ object.setIntAttribute('required_combat_level', 1)
+ object.setAttackSpeed(0.4);
+ object.setMaxRange(35);
+ object.setDamageType("energy");
+ object.setMinDamage(13);
+ object.setMaxDamage(27);
+ object.setWeaponType(2);
+ return
\ No newline at end of file
diff --git a/scripts/object/weapon/ranged/pistol/weapon_pistol_02_02.py b/scripts/object/weapon/ranged/pistol/weapon_pistol_02_02.py
new file mode 100644
index 00000000..055d033d
--- /dev/null
+++ b/scripts/object/weapon/ranged/pistol/weapon_pistol_02_02.py
@@ -0,0 +1,15 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('weapon_pistol_02_02')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('weapon_pistol_02_02')
+ object.setIntAttribute('required_combat_level', 1)
+ object.setFloatAttribute('cat_wpn_damage.wpn_attack_speed', 0.4)
+ object.setStringAttribute('cat_wpn_damage.wpn_damage_type', 'Energy')
+ object.setStringAttribute('cat_wpn_damage.damage', '10-26')
+ object.setStringAttribute('cat_wpn_damage.wpn_range', '0-35m')
+ object.setStringAttribute('cat_wpn_damage.wpn_category', 'Pistol')
+ object.setIntAttribute('cat_wpn_damage.dps', object.getDamagePerSecond())
+ return
\ No newline at end of file
diff --git a/scripts/object/weapon/ranged/rifle/weapon_lightningbeam_commando_roadmap_01_02.py b/scripts/object/weapon/ranged/rifle/weapon_lightningbeam_commando_roadmap_01_02.py
new file mode 100644
index 00000000..03768d96
--- /dev/null
+++ b/scripts/object/weapon/ranged/rifle/weapon_lightningbeam_commando_roadmap_01_02.py
@@ -0,0 +1,17 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('weapon_lightningbeam_commando_roadmap_01_02')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('weapon_lightningbeam_commando_roadmap_01_02')
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 5)
+ object.setStringAttribute('class_required', 'Commando')
+ object.setIntAttribute('required_combat_level', 30)
+ object.setFloatAttribute('cat_wpn_damage.wpn_attack_speed', 0.8)
+ object.setStringAttribute('cat_wpn_damage.wpn_damage_type', 'Energy')
+ object.setStringAttribute('cat_wpn_damage.damage', '261-522')
+ object.setStringAttribute('cat_wpn_damage.wpn_range', '0-64m')
+ object.setStringAttribute('cat_wpn_damage.wpn_category', 'Rifle')
+ object.setIntAttribute('cat_wpn_damage.dps', object.getDamagePerSecond())
+ return
\ No newline at end of file
diff --git a/scripts/object/weapon/ranged/rifle/weapon_rifle_bh_roadmap_01_02.py b/scripts/object/weapon/ranged/rifle/weapon_rifle_bh_roadmap_01_02.py
new file mode 100644
index 00000000..33825f81
--- /dev/null
+++ b/scripts/object/weapon/ranged/rifle/weapon_rifle_bh_roadmap_01_02.py
@@ -0,0 +1,17 @@
+import sys
+
+def setup(core, object):
+ object.setStfFilename('static_item_n')
+ object.setStfName('weapon_rifle_bh_roadmap_01_02')
+ object.setDetailFilename('static_item_d')
+ object.setDetailName('weapon_rifle_bh_roadmap_01_02')
+ object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 5)
+ object.setStringAttribute('class_required', 'Bounty Hunter')
+ object.setIntAttribute('required_combat_level', 50)
+ object.setFloatAttribute('cat_wpn_damage.wpn_attack_speed', 0.8)
+ object.setStringAttribute('cat_wpn_damage.wpn_damage_type', 'Energy')
+ object.setStringAttribute('cat_wpn_damage.damage', '261-522')
+ object.setStringAttribute('cat_wpn_damage.wpn_range', '0-64m')
+ object.setStringAttribute('cat_wpn_damage.wpn_category', 'Rifle')
+ object.setIntAttribute('cat_wpn_damage.dps', object.getDamagePerSecond())
+ return
\ No newline at end of file
diff --git a/scripts/radial/creature/player.py b/scripts/radial/creature/player.py
new file mode 100644
index 00000000..08fa50e0
--- /dev/null
+++ b/scripts/radial/creature/player.py
@@ -0,0 +1,32 @@
+from resources.common import RadialOptions
+from resources.datatables import Posture
+import sys
+
+def createRadial(core, owner, target, radials):
+ if target.getPosture() == Posture.SkillAnimating:
+ if owner.getPerformanceWatchee() == target:
+ if target.getPerformanceType() is True:
+ radials.add(RadialOptions(0, 141, 3, 'Stop Watching'))
+ elif owner.getPerformanceListenee() == target:
+ radials.add(RadialOptions(0, 141, 3, 'Stop Listening'))
+ else:
+ if target.getPerformanceType() is True:
+ radials.add(RadialOptions(0, 140, 3, 'Watch'))
+ else:
+ radials.add(RadialOptions(0, 140, 3, 'Listen'))
+ return
+
+def handleSelection(core, owner, target, option):
+ if option == 140:
+ if target.getPerformanceType() is True:
+ core.commandService.callCommand(owner, 'watch', target, '')
+ return
+ else:
+ # TODO: Insert callCommand /listen
+ return
+ return
+
+ if option == 141:
+ core.commandService.callCommand(owner, 'stopwatching', target, '')
+ return
+ return
\ No newline at end of file
diff --git a/scripts/radial/creature/vehicle.py b/scripts/radial/creature/vehicle.py
new file mode 100644
index 00000000..5935709d
--- /dev/null
+++ b/scripts/radial/creature/vehicle.py
@@ -0,0 +1,31 @@
+from resources.common import RadialOptions
+import sys
+
+def createRadial(core, owner, target, radials):
+ master = core.objectService.getObject(target.getOwnerId())
+
+ radials.add(RadialOptions(0, 7, 1, ''))
+ if core.mountService.canMount(owner, target):
+ radials.add(RadialOptions(1, 40, 3, '@pet/pet_menu:menu_enter_exit'))
+ radials.add(RadialOptions(0, 21, 1, ''))
+ if target.getOwnerId() == owner.getObjectID():
+ radials.add(RadialOptions(0, 60, 3, '@pet/pet_menu:menu_store'))
+ if core.mountService.canRepair(owner, target):
+ radials.add(RadialOptions(0, 114, 3, '@pet/pet_menu:menu_repair_vehicle'))
+ return
+
+def handleSelection(core, owner, target, option):
+ mntSvc = core.mountService
+
+ if target:
+ if option == 21:
+ if mntSvc.isMounted(owner):
+ mntSvc.mount(owner, target)
+ else:
+ mntSvc.unmount(owner, target)
+ elif option == 60:
+ mntSvc.store(owner, target)
+ elif option == 114:
+ mntSvc.repair(owner, target)
+ return
+
diff --git a/scripts/radial/datapad/vehicle_pcd.py b/scripts/radial/datapad/vehicle_pcd.py
new file mode 100644
index 00000000..fc880185
--- /dev/null
+++ b/scripts/radial/datapad/vehicle_pcd.py
@@ -0,0 +1,21 @@
+from resources.common import RadialOptions
+import sys
+
+def createRadial(core, owner, target, radials):
+ #if not core.mountService.getMount(target):
+ # radials.add(RadialOptions(0, 21, 3, '@pet_menu:menu_call'))
+ #else:
+ # radials.add(RadialOptions(0, 21, 3, '@pet_menu:menu_store'))
+ radials.add(RadialOptions(0, 61, 1, ''))
+ radials.add(RadialOptions(0, 7, 1, ''))
+ radials.add(RadialOptions(0, 15, 1, ''))
+ return
+
+def handleSelection(core, owner, target, option):
+ if option == 61 and target:
+ core.mountService.call(owner, target)
+ elif option == 15 and target:
+ core.mountService.destroy(owner, target)
+
+ return
+
\ No newline at end of file
diff --git a/scripts/radial/vehicleDeed.py b/scripts/radial/deeds/deed.py
similarity index 100%
rename from scripts/radial/vehicleDeed.py
rename to scripts/radial/deeds/deed.py
diff --git a/scripts/radial/deeds/harvesterDeed.py b/scripts/radial/deeds/harvesterDeed.py
new file mode 100644
index 00000000..cc8fdc7a
--- /dev/null
+++ b/scripts/radial/deeds/harvesterDeed.py
@@ -0,0 +1,23 @@
+from resources.common import RadialOptions
+import sys
+
+def createRadial(core, owner, target, radials):
+ radials.clear()
+ radials.add(RadialOptions(0, 21, 1, 'Use Deed'))
+ #radials.add(RadialOptions(0, 7, 1, '111111'))
+ #radials.add(RadialOptions(0, 15, 1, ''))
+ #radials.add(RadialOptions(0, 61, 1, ''))
+ return
+
+def handleSelection(core, owner, target, option):
+
+ if option == 21 and target:
+ owner.setAttachment('UsingHarvesterDeed', '1');
+ core.harvesterService.enterStructurePlacementMode(target,owner)
+ if option == 61 and target:
+ object5 = core.harvesterService.constructionSite(owner,target)
+ core.objectService.useObject(owner, target)
+ if option == 15 and target:
+ core.objectService.destroyObject(target)
+ return
+
\ No newline at end of file
diff --git a/scripts/radial/deeds/structureDeed.py b/scripts/radial/deeds/structureDeed.py
new file mode 100644
index 00000000..0ddee9f3
--- /dev/null
+++ b/scripts/radial/deeds/structureDeed.py
@@ -0,0 +1,11 @@
+from resources.common import RadialOptions
+import sys
+
+def createRadial(core, owner, target, radials):
+ return
+
+def handleSelection(core, owner, target, option):
+ if option == 21 and target:
+ core.housingService.enterStructureMode(owner, target)
+ return
+
\ No newline at end of file
diff --git a/scripts/radial/deeds/vehicleDeed.py b/scripts/radial/deeds/vehicleDeed.py
new file mode 100644
index 00000000..033462ad
--- /dev/null
+++ b/scripts/radial/deeds/vehicleDeed.py
@@ -0,0 +1,16 @@
+from resources.common import RadialOptions
+import sys
+
+def createRadial(core, owner, target, radials):
+ radials.add(RadialOptions(0, 7, 1, ''))
+ radials.add(RadialOptions(0, 15, 1, ''))
+ radials.add(RadialOptions(0, 61, 3, '@pet_menu:menu_generate'))
+ return
+
+def handleSelection(core, owner, target, option):
+ if option == 61 and target:
+ core.objectService.useObject(owner, target)
+ if option == 15 and target:
+ core.objectService.destroyObject(target)
+ return
+
\ No newline at end of file
diff --git a/scripts/radial/item.py b/scripts/radial/equipment/appearance.py
similarity index 100%
rename from scripts/radial/item.py
rename to scripts/radial/equipment/appearance.py
diff --git a/scripts/radial/equipment/wearable.py b/scripts/radial/equipment/wearable.py
new file mode 100644
index 00000000..4c184296
--- /dev/null
+++ b/scripts/radial/equipment/wearable.py
@@ -0,0 +1,16 @@
+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, target, option):
+ if option == 21 and target:
+ core.objectService.useObject(owner, target)
+ if option == 15 and target:
+ core.objectService.destroyObject(target)
+ return
+
\ No newline at end of file
diff --git a/scripts/radial/lifeday_gift.py b/scripts/radial/holidays/lifeday_gift.py
similarity index 100%
rename from scripts/radial/lifeday_gift.py
rename to scripts/radial/holidays/lifeday_gift.py
diff --git a/scripts/radial/main_lifeday_tree.py b/scripts/radial/holidays/main_lifeday_tree.py
similarity index 100%
rename from scripts/radial/main_lifeday_tree.py
rename to scripts/radial/holidays/main_lifeday_tree.py
diff --git a/scripts/radial/instances/exar_kun/exar_kun_brazier.py b/scripts/radial/instances/exar_kun/exar_kun_brazier.py
new file mode 100644
index 00000000..d78e1915
--- /dev/null
+++ b/scripts/radial/instances/exar_kun/exar_kun_brazier.py
@@ -0,0 +1,14 @@
+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, 21, 3, '@building_name:heroic_exar_enter'))
+ return
+
+def handleSelection(core, owner, target, option):
+ if option == 21 and target:
+ core.objectService.useObject(owner, target)
+ return
+
\ No newline at end of file
diff --git a/scripts/radial/collection.py b/scripts/radial/item/collection.py
similarity index 100%
rename from scripts/radial/collection.py
rename to scripts/radial/item/collection.py
diff --git a/scripts/radial/item/item.py b/scripts/radial/item/item.py
new file mode 100644
index 00000000..4c184296
--- /dev/null
+++ b/scripts/radial/item/item.py
@@ -0,0 +1,16 @@
+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, target, option):
+ if option == 21 and target:
+ core.objectService.useObject(owner, target)
+ if option == 15 and target:
+ core.objectService.destroyObject(target)
+ return
+
\ No newline at end of file
diff --git a/scripts/radial/item/lootchest.py b/scripts/radial/item/lootchest.py
new file mode 100644
index 00000000..1a0c9889
--- /dev/null
+++ b/scripts/radial/item/lootchest.py
@@ -0,0 +1,13 @@
+from resources.common import RadialOptions
+import sys
+
+def createRadial(core, owner, target, radials):
+ radials.add(RadialOptions(0, 21, 1, 'Open'))
+ radials.add(RadialOptions(0, 7, 1, ''))
+ return
+
+def handleSelection(core, owner, target, option):
+ if option == 21 and target:
+ owner.sendSystemMessage('RLS chest content system not yet implemented.',1)
+ return
+
\ No newline at end of file
diff --git a/scripts/radial/item/resourceContainer.py b/scripts/radial/item/resourceContainer.py
new file mode 100644
index 00000000..fb6fa586
--- /dev/null
+++ b/scripts/radial/item/resourceContainer.py
@@ -0,0 +1,18 @@
+from resources.common import RadialOptions
+import sys
+
+def createRadial(core, owner, target, radials):
+ radials.add(RadialOptions(0, 49, 0, 'Split'))
+ radials.add(RadialOptions(0, 7, 0, 'Examine'))
+ radials.add(RadialOptions(0, 15, 0, 'Destroy'))
+ return
+
+def handleSelection(core, owner, target, option):
+ #if option == 21 and target:
+ #core.objectService.useObject(owner, target)
+ if option == 15 and target:
+ if target == player.getRecentContainer():
+ player.setRecentContainer(None)
+
+ core.objectService.destroyObject(target)
+ return
\ No newline at end of file
diff --git a/scripts/radial/item/survey_tool.py b/scripts/radial/item/survey_tool.py
new file mode 100644
index 00000000..33e36367
--- /dev/null
+++ b/scripts/radial/item/survey_tool.py
@@ -0,0 +1,27 @@
+from resources.common import RadialOptions
+from protocol.swg import ResourceListForSurveyMessage
+from services.sui.SUIService import MessageBoxType
+from services.SurveyService import createSurveyRangeSUIWindow
+from services.sui.SUIWindow import Trigger
+from java.util import Vector
+import sys
+
+def createRadial(core, owner, target, radials):
+ radials.clear()
+ radials.add(RadialOptions(0, 21, 1, 'Use'))
+ radials.add(RadialOptions(0, 7, 0, 'Examine'))
+ radials.add(RadialOptions(0, 15, 0, 'Destroy'))
+ radials.add(RadialOptions(0, 132, 1, 'Tool Options'))
+ return
+
+def handleSelection(core, owner, target, option):
+ if option == 21 and target:
+ if owner is not None:
+ rlfsm = ResourceListForSurveyMessage(core,target,owner)
+ owner.getClient().getSession().write(rlfsm.serialize())
+ return
+ if option == 132:
+ if owner is not None:
+ surSvc = core.surveyService
+ surSvc.createSurveyRangeSUIWindow(owner, target)
+ return
diff --git a/scripts/radial/travel_ticket.py b/scripts/radial/item/travel_ticket.py
similarity index 93%
rename from scripts/radial/travel_ticket.py
rename to scripts/radial/item/travel_ticket.py
index a42df278..fbb150e9 100644
--- a/scripts/radial/travel_ticket.py
+++ b/scripts/radial/item/travel_ticket.py
@@ -2,7 +2,7 @@ from resources.common import RadialOptions
import sys
def createRadial(core, owner, target, radials):
- radials.clear
+ radials.clear()
radials.add(RadialOptions(0, 21, 1, 'Use Travel Ticket'))
#radials.add(RadialOptions(0, 7, 1, ''))
@@ -31,7 +31,7 @@ def handleSelection(core, owner, target, option):
return
if option == 15 and target:
- core.commandService.callCommand(owner, 'serverdestroyobject', target, None)
+ core.objectService.destroyObject(target)
return
return
diff --git a/scripts/radial/item/tunable.py b/scripts/radial/item/tunable.py
new file mode 100644
index 00000000..f226f86b
--- /dev/null
+++ b/scripts/radial/item/tunable.py
@@ -0,0 +1,15 @@
+from resources.common import RadialOptions
+import sys
+
+def createRadial(core, owner, target, radials):
+ radials.clear()
+ radials.add(RadialOptions(0, 7, 0, 'Examine'))
+ radials.add(RadialOptions(0, 15, 0, 'Destroy'))
+ radials.add(RadialOptions(0, 19, 0, 'Tune'))
+ return
+
+def handleSelection(core, owner, target, option):
+ if option == 19 and target:
+ if owner is not None:
+ owner.sendSystemMessage('You are not attuned enough with the force yet.',1)
+ return
diff --git a/scripts/radial/lootitem.py b/scripts/radial/lootitem.py
new file mode 100644
index 00000000..ec9ae01e
--- /dev/null
+++ b/scripts/radial/lootitem.py
@@ -0,0 +1,19 @@
+from resources.common import RadialOptions
+import sys
+
+def createRadial(core, owner, target, radials):
+ radials.clear()
+ radials.add(RadialOptions(0, 11, 1, 'Pick Up'))
+ 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:
+ core.objectService.useObject(owner, target)
+ if option == 15 and target:
+ core.objectService.destroyObject(target)
+ return
+
\ No newline at end of file
diff --git a/scripts/radial/noradialoptions.py b/scripts/radial/noradialoptions.py
new file mode 100644
index 00000000..89075314
--- /dev/null
+++ b/scripts/radial/noradialoptions.py
@@ -0,0 +1,13 @@
+from resources.common import RadialOptions
+import sys
+
+def createRadial(core, owner, target, radials):
+ radials.clear()
+ 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):
+ return
+
\ No newline at end of file
diff --git a/scripts/radial/npc/corpse.py b/scripts/radial/npc/corpse.py
new file mode 100644
index 00000000..dc93d74a
--- /dev/null
+++ b/scripts/radial/npc/corpse.py
@@ -0,0 +1,20 @@
+from resources.common import RadialOptions
+import sys
+
+def createRadial(core, owner, target, radials):
+ radials.clear()
+ radials.add(RadialOptions(0, 36, 0, 'Loot'))
+
+ return
+
+def handleSelection(core, owner, target, option):
+ if option == 36 and target:
+ #core.lootService.handleLootRequest(owner,target)
+ core.lootService.handleLootRequest(owner,target)
+ #lootedObjectInventory = target.getSlottedObject("inventory")
+ #core.simulationService.openContainer(owner, lootedObjectInventory)
+ #core.lootService.handleCreditDrop(owner, lootedObjectInventory)
+ if option == 15 and target:
+ core.objectService.destroyObject(target)
+ return
+
\ No newline at end of file
diff --git a/scripts/radial/npc/noloot.py b/scripts/radial/npc/noloot.py
new file mode 100644
index 00000000..00f0176a
--- /dev/null
+++ b/scripts/radial/npc/noloot.py
@@ -0,0 +1,13 @@
+from resources.common import RadialOptions
+import sys
+
+def createRadial(core, owner, target, radials):
+ radials.clear()
+ radials.add(RadialOptions(0, 36, 0, ''))
+
+ return
+
+def handleSelection(core, owner, target, option):
+
+ return
+
\ No newline at end of file
diff --git a/scripts/radial/npc_ticket_collector.py b/scripts/radial/npc/npc_ticket_collector.py
similarity index 100%
rename from scripts/radial/npc_ticket_collector.py
rename to scripts/radial/npc/npc_ticket_collector.py
diff --git a/scripts/radial/object/conversation.py b/scripts/radial/object/conversation.py
new file mode 100644
index 00000000..ee774b7d
--- /dev/null
+++ b/scripts/radial/object/conversation.py
@@ -0,0 +1,15 @@
+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, 26, 1, ''))
+ return
+
+def handleSelection(core, owner, target, option):
+ if option == 26 and target:
+ print 'test'
+ core.conversationService.handleStartConversation(owner, target)
+ return
+
\ No newline at end of file
diff --git a/scripts/radial/usable.py b/scripts/radial/object/usable.py
similarity index 100%
rename from scripts/radial/usable.py
rename to scripts/radial/object/usable.py
diff --git a/scripts/radial/ring/unity.py b/scripts/radial/ring/unity.py
new file mode 100644
index 00000000..92940452
--- /dev/null
+++ b/scripts/radial/ring/unity.py
@@ -0,0 +1,108 @@
+from resources.common import RadialOptions
+from services.sui.SUIWindow import Trigger
+from java.util import Vector
+from main import NGECore
+from engine.resources.objects import SWGObject
+import sys
+
+def createRadial(core, owner, target, radials):
+
+ ghost = owner.getSlottedObject('ghost')
+ if ghost is None:
+ return
+
+ if ghost.getSpouseName() is None or ghost.getSpouseName() is "":
+ targetPlayer = core.objectService.getObject(owner.getTargetId())
+ if targetPlayer is not None and targetPlayer.getSlottedObject('ghost') is not None:
+ if targetPlayer.getObjectID() == owner.getObjectID():
+ return
+ radials.add(RadialOptions(0, 69, 3, '@unity:mnu_propose'))
+ return
+ else:
+ radials.add(RadialOptions(0, 70, 3, '@unity:mnu_divorce'))
+ return
+ return
+
+def handleSelection(core, owner, target, option):
+ if option == 69 and target:
+ player = core.objectService.getObject(owner.getTargetId())
+ tGhost = player.getSlottedObject('ghost')
+ suiSvc = core.suiService
+
+ if tGhost.getPosition().getDistance2D(owner.getWorldPosition()) < 50:
+ owner.sendSystemMessage('@unity:out_of_range', 0)
+ return
+
+ if tGhost.getSpouseName() is not None:
+ owner.sendSystemMessage('@unity:target_married', 0)
+ return
+
+ if player.getAttachment("proposer") is not None:
+ owner.sendSystemMessage('@unity:target_proposed', 0)
+ return
+
+ else:
+
+ owner.sendSystemMessage('You propose unity to ' + player.getCustomName() + '.', 0)
+ targetWindow = suiSvc.createMessageBox(3, '@unity:accept_title', owner.getCustomName() + ' is proposing unity to you. Do you wish to accept?', tGhost.getContainer(), owner, 15)
+ returnList = Vector()
+
+ targetWindow.addHandler(0, '', Trigger.TRIGGER_OK, returnList, handlePropose)
+ targetWindow.addHandler(1, '', Trigger.TRIGGER_CANCEL, returnList, handlePropose)
+ player.setAttachment("proposer", owner.getCustomName())
+ suiSvc.openSUIWindow(targetWindow)
+
+ target.setAttachment("unity", True)
+ core.equipmentService.equip(owner, target)
+
+ core.commandService.callCommand(owner, 'kneel', None, '')
+ return
+ return
+
+ if option == 70:
+ married = owner.getSlottedObject('ghost').getSpouseName()
+ myGhost = owner.getSlottedObject('ghost')
+ otherPlayer = NGECore.getInstance().objectService.getObjectByCustomName(married)
+
+ if otherPlayer is None:
+ return
+ ghost = otherPlayer.getSlottedObject('ghost')
+
+ if ghost is None:
+ return
+
+ owner.sendSystemMessage('Your union with ' + married + ' has ended.', 0)
+ otherPlayer.sendSystemMessage('Your union with ' + owner.getCustomName() + ' has ended.', 0)
+ myGhost.setSpouseName(None)
+ ghost.setSpouseName(None)
+
+ target.setAttachment("unity", None)
+ #TODO: Divorce offline players
+ return
+ return
+
+def handlePropose(owner, window, eventType, returnList):
+ core = NGECore.getInstance()
+
+ if owner is None:
+ return
+
+ if eventType == 0:
+ proposer = core.objectService.getObjectByCustomName(owner.getAttachment("proposer"))
+ if proposer is None:
+ return
+
+ core.playerService.performUnity(owner, proposer)
+ return
+
+ if eventType == 1:
+ proposer = core.objectService.getObjectByCustomName(owner.getAttachment("proposer"))
+ proposer.sendSystemMessage('@unity:declined', 0)
+ for SWGObject in proposer.getEquipmentList():
+ if SWGObject.getAttachment("unity") is not None:
+ SWGObject.setAttachment("unity", None)
+ break
+
+ owner.setAttachment("proposer", None)
+ return
+ return
diff --git a/scripts/radial/structure/generator.py b/scripts/radial/structure/generator.py
new file mode 100644
index 00000000..44d7a9b4
--- /dev/null
+++ b/scripts/radial/structure/generator.py
@@ -0,0 +1,53 @@
+from resources.common import RadialOptions
+from protocol.swg import ResourceListForSurveyMessage
+from services.sui.SUIService import MessageBoxType
+from services.SurveyService import createSurveyRangeSUIWindow
+from services.sui.SUIWindow import Trigger
+from java.util import Vector
+import sys
+
+def createRadial(core, owner, target, radials):
+ #(byte parentId, short optionId, byte optionType, String description)
+ radials.clear()
+ radials.add(RadialOptions(0, 7, 0, 'Examine'))
+ radials.add(RadialOptions(0, 78, 0, '@player_structure:management'))
+ radials.add(RadialOptions(0, 117, 0, '@player_structure:permissions'))
+ radials.add(RadialOptions(2, 118, 0, '@harvester:manage'))
+ radials.add(RadialOptions(2, 128, 0, '@player_structure:permission_destroy'))
+ radials.add(RadialOptions(2, 124, 0, '@player_structure:management_status'))
+ radials.add(RadialOptions(2, 129, 0, '@player_structure:management_pay'))
+ radials.add(RadialOptions(2, 50, 0, '@base_player:set_name'))
+ radials.add(RadialOptions(3, 121, 0, '@player_structure:permission_admin'))
+ radials.add(RadialOptions(3, 123, 0, '@player_structure:permissions'))
+
+ return
+
+def handleSelection(core, owner, target, option):
+ if option == 118 and target:
+ if owner is not None:
+ core.harvesterService.handleOperateMachinery(owner,target)
+ return
+ if option == 128:
+ if owner is not None:
+ core.harvesterService.createDestroySUIPage(owner,target)
+ return
+ if option == 124:
+ if owner is not None:
+ core.harvesterService.createStatusSUIPage(owner,target)
+ return
+ if option == 129:
+ if owner is not None:
+ core.harvesterService.createPayMaintenanceSUIPage(owner,target)
+ return
+ if option == 50:
+ if owner is not None:
+ core.harvesterService.createRenameSUIPage(owner,target)
+ return
+ if option == 121:
+ if owner is not None:
+ core.harvesterService.handlePermissionAdmin(owner,target)
+ return
+ if option == 123:
+ if owner is not None:
+ core.harvesterService.handlePermissionHopper(owner,target)
+ return
diff --git a/scripts/radial/structure/harvester.py b/scripts/radial/structure/harvester.py
new file mode 100644
index 00000000..079c99ae
--- /dev/null
+++ b/scripts/radial/structure/harvester.py
@@ -0,0 +1,58 @@
+from resources.common import RadialOptions
+from protocol.swg import ResourceListForSurveyMessage
+from services.sui.SUIService import MessageBoxType
+from services.SurveyService import createSurveyRangeSUIWindow
+from services.sui.SUIWindow import Trigger
+from java.util import Vector
+import sys
+
+def createRadial(core, owner, target, radials):
+ #(byte parentId, short optionId, byte optionType, String description)
+ radials.clear()
+ radials.add(RadialOptions(0, 7, 0, 'Examine'))
+ radials.add(RadialOptions(0, 78, 0, '@player_structure:management'))
+ radials.add(RadialOptions(0, 117, 0, '@player_structure:permissions'))
+ radials.add(RadialOptions(2, 118, 0, '@harvester:manage'))
+ radials.add(RadialOptions(2, 128, 0, '@player_structure:permission_destroy'))
+ radials.add(RadialOptions(2, 124, 0, '@player_structure:management_status'))
+ radials.add(RadialOptions(2, 129, 0, '@player_structure:management_pay'))
+ radials.add(RadialOptions(2, 50, 0, '@base_player:set_name'))
+ radials.add(RadialOptions(2, 51, 0, '@player_structure:management_power'))
+ radials.add(RadialOptions(3, 121, 0, '@player_structure:permission_admin'))
+ radials.add(RadialOptions(3, 123, 0, '@player_structure:permissions'))
+
+ return
+
+def handleSelection(core, owner, target, option):
+ if option == 118 and target:
+ if owner is not None:
+ core.harvesterService.handleOperateMachinery(owner,target)
+ return
+ if option == 128:
+ if owner is not None:
+ core.harvesterService.createDestroySUIPage(owner,target)
+ return
+ if option == 124:
+ if owner is not None:
+ core.harvesterService.createStatusSUIPage(owner,target)
+ return
+ if option == 129:
+ if owner is not None:
+ core.harvesterService.createPayMaintenanceSUIPage(owner,target)
+ return
+ if option == 50:
+ if owner is not None:
+ core.harvesterService.createRenameSUIPage(owner,target)
+ return
+ if option == 51:
+ if owner is not None:
+ core.harvesterService.handleDepositPower(owner,target)
+ return
+ if option == 121:
+ if owner is not None:
+ core.harvesterService.handlePermissionAdmin(owner,target)
+ return
+ if option == 123:
+ if owner is not None:
+ core.harvesterService.handlePermissionHopper(owner,target)
+ return
diff --git a/scripts/radial/structure/harvesterHopper.py b/scripts/radial/structure/harvesterHopper.py
new file mode 100644
index 00000000..3323d45b
--- /dev/null
+++ b/scripts/radial/structure/harvesterHopper.py
@@ -0,0 +1,21 @@
+from resources.common import RadialOptions
+from protocol.swg import ResourceListForSurveyMessage
+from services.sui.SUIService import MessageBoxType
+from services.SurveyService import createSurveyRangeSUIWindow
+from services.sui.SUIWindow import Trigger
+from java.util import Vector
+import sys
+
+def createRadial(core, owner, target, radials):
+ #(byte parentId, short optionId, byte optionType, String description)
+ radials.clear()
+ radials.add(RadialOptions(0, 7, 0, 'Examine'))
+ radials.add(RadialOptions(0, 78, 0, '@player_structure:management'))
+ radials.add(RadialOptions(2, 118, 0, '@harvester:manage'))
+ return
+
+def handleSelection(core, owner, target, option):
+ if option == 118 and target:
+ if owner is not None:
+ core.harvesterService.handleOperateMachinery(owner,target)
+ return
diff --git a/scripts/radial/structure/moveable.py b/scripts/radial/structure/moveable.py
new file mode 100644
index 00000000..4bbb4120
--- /dev/null
+++ b/scripts/radial/structure/moveable.py
@@ -0,0 +1,25 @@
+from resources.common import RadialOptions
+import sys
+
+def createRadial(core, owner, target, radials):
+ radials.clear()
+ radials.add(RadialOptions(0, 11, 1, ''))
+
+ radials.add(RadialOptions(0, 55, 0, ''))
+ radials.add(RadialOptions(3, 56, 1, ''))
+ radials.add(RadialOptions(3, 57, 1, ''))
+ radials.add(RadialOptions(3, 58, 1, ''))
+ radials.add(RadialOptions(3, 59, 1, ''))
+
+ radials.add(RadialOptions(0, 52, 0, ''))
+ radials.add(RadialOptions(4, 53, 1, ''))
+ radials.add(RadialOptions(4, 54, 1, ''))
+ return
+
+def handleSelection(core, owner, target, option):
+
+ if option == 56:
+ core.commandService.callCommand(owner, 'movefurniture', target, 'forward 10')
+
+ return
+
\ No newline at end of file
diff --git a/scripts/radial/structure/structure_management_terminal.py b/scripts/radial/structure/structure_management_terminal.py
new file mode 100644
index 00000000..b6e7ae3a
--- /dev/null
+++ b/scripts/radial/structure/structure_management_terminal.py
@@ -0,0 +1,77 @@
+from resources.common import RadialOptions
+from protocol.swg import ResourceListForSurveyMessage
+from services.sui.SUIService import MessageBoxType
+from services.sui.SUIWindow import Trigger
+from java.util import Vector
+import sys
+
+def createRadial(core, owner, target, radials):
+ #(byte parentId, short optionId, byte optionType, String description)
+ radials.clear()
+ radials.add(RadialOptions(0, 7, 0, 'Examine'))
+ radials.add(RadialOptions(0, 78, 0, '@player_structure:management'))
+ radials.add(RadialOptions(0, 117, 0, '@player_structure:permissions'))
+ radials.add(RadialOptions(2, 128, 0, '@player_structure:permission_destroy'))
+ radials.add(RadialOptions(2, 124, 0, '@player_structure:management_status'))
+ radials.add(RadialOptions(2, 129, 0, '@player_structure:management_pay'))
+ radials.add(RadialOptions(2, 50, 0, '@base_player:set_name'))
+ radials.add(RadialOptions(2, 127, 0, '@player_structure:management_residence'))
+ radials.add(RadialOptions(2, 125, 0, '@player_structure:management_privacy : ' + core.housingService.fetchPrivacyString(target)))
+ radials.add(RadialOptions(2, 171, 0, '@player_structure:find_items_find_all_house_items'))
+ radials.add(RadialOptions(2, 173, 0, '@player_structure:move_first_item'))
+ radials.add(RadialOptions(2, 174, 0, '@player_structure:find_items_search_for_house_items'))
+ radials.add(RadialOptions(2, 175, 0, '@player_structure:delete_all_items_title'))
+ radials.add(RadialOptions(2, 172, 0, 'Pack Up This Building'))
+ radials.add(RadialOptions(3, 121, 0, '@player_structure:permission_enter'))
+ radials.add(RadialOptions(3, 123, 0, '@player_structure:permission_banned'))
+
+ return
+
+def handleSelection(core, owner, target, option):
+
+ if option == 128:
+ if owner is not None:
+ core.housingService.createDestroySUIPage(owner,target)
+ return
+ if option == 124:
+ if owner is not None:
+ core.housingService.createStatusSUIPage(owner,target)
+ return
+ if option == 129:
+ if owner is not None:
+ core.housingService.createPayMaintenanceSUIPage(owner,target)
+ return
+ if option == 50:
+ if owner is not None:
+ core.housingService.createRenameSUIPage(owner,target)
+ return
+ if option == 127:
+ if owner is not None:
+ core.housingService.declareResidency(owner,target)
+ return
+ if option == 171:
+ if owner is not None:
+ core.housingService.handleListAllItems(owner,target)
+ return
+ if option == 175:
+ if owner is not None:
+ core.housingService.handleDeleteAllItems(owner,target)
+ return
+ if option == 173:
+ if owner is not None:
+ core.housingService.handleFindLostItems(owner,target)
+ return
+ if option == 174:
+ if owner is not None:
+ core.housingService.handleSearchForItems(owner,target)
+ return
+ if option == 121:
+ if owner is not None:
+ core.housingService.handlePermissionEntry(owner,target)
+ return
+ if option == 123:
+ if owner is not None:
+ core.housingService.handlePermissionBan(owner,target)
+ return
+
+
diff --git a/scripts/radial/bank.py b/scripts/radial/terminal/bank.py
similarity index 100%
rename from scripts/radial/bank.py
rename to scripts/radial/terminal/bank.py
diff --git a/scripts/radial/cloning_terminal.py b/scripts/radial/terminal/cloning_terminal.py
similarity index 100%
rename from scripts/radial/cloning_terminal.py
rename to scripts/radial/terminal/cloning_terminal.py
diff --git a/scripts/radial/travel_terminal.py b/scripts/radial/terminal/travel_terminal.py
similarity index 82%
rename from scripts/radial/travel_terminal.py
rename to scripts/radial/terminal/travel_terminal.py
index eae686ca..a579af12 100644
--- a/scripts/radial/travel_terminal.py
+++ b/scripts/radial/terminal/travel_terminal.py
@@ -10,6 +10,9 @@ def handleSelection(core, owner, target, option):
if option == 21 and target:
if owner is not None:
+ if owner.getCombatFlag() == 1:
+ owner.sendSystemMessage('You can\'t use that while in combat.', 0)
+ return
tpm = EnterTicketPurchaseModeMessage(owner.getPlanet().getName(), core.mapService.getClosestCityName(owner), owner)
owner.getClient().getSession().write(tpm.serialize())
return
diff --git a/scripts/radial/vehicle.py b/scripts/radial/vehicle.py
deleted file mode 100644
index ca1f4311..00000000
--- a/scripts/radial/vehicle.py
+++ /dev/null
@@ -1,17 +0,0 @@
-from resources.common import RadialOptions
-import sys
-
-def createRadial(core, owner, target, radials):
- radials.add(RadialOptions(0, 7, 1, ''))
- radials.add(RadialOptions(1, 40, 3, '@pet/pet_menu:menu_enter_exit'))
- radials.add(RadialOptions(0, 21, 1, ''))
- radials.add(RadialOptions(0, 60, 3, '@pet/pet_menu:menu_store'))
- return
-
-def handleSelection(core, owner, target, option):
- if target:
- if option == 21 or option == 40:
- core.objectService.useObject(owner, target)
- if option == 60:
- core.objectService.destroyObject(target)
- return
\ No newline at end of file
diff --git a/scripts/roadmap/bounty_hunter_1a.py b/scripts/roadmap/bounty_hunter_1a.py
index 7bb425e3..0c708fec 100644
--- a/scripts/roadmap/bounty_hunter_1a.py
+++ b/scripts/roadmap/bounty_hunter_1a.py
@@ -23,3 +23,97 @@ def getHealth():
def getAction():
return 75
+
+def getRewards(name):
+ if name == 'item_bounty_hunter_backpack_01_02':
+ return "object/tangible/wearables/backpack/shared_backpack_s05.iff"
+
+ if name == 'armor_bounty_hunter_roadmap_bicep_l_02_01':
+ return "object/tangible/wearables/armor/composite/shared_armor_composite_bicep_l.iff"
+
+ if name == 'armor_bounty_hunter_roadmap_bicep_r_02_01':
+ return "object/tangible/wearables/armor/composite/shared_armor_composite_bicep_r.iff"
+
+ if name == 'armor_bounty_hunter_roadmap_bracer_l_02_01':
+ return "object/tangible/wearables/armor/composite/shared_armor_composite_bracer_l.iff"
+
+ if name == 'armor_bounty_hunter_roadmap_bracer_r_02_01':
+ return "object/tangible/wearables/armor/composite/shared_armor_composite_bracer_r.iff"
+
+ if name == 'armor_bounty_hunter_roadmap_boots_02_01':
+ return "object/tangible/wearables/armor/composite/shared_armor_composite_boots.iff"
+
+ if name == 'armor_bounty_hunter_roadmap_chest_02_01':
+ return "object/tangible/wearables/armor/composite/shared_armor_composite_chest_plate.iff"
+
+ if name == 'armor_bounty_hunter_roadmap_gloves_02_01':
+ return "object/tangible/wearables/armor/composite/shared_armor_composite_gloves.iff"
+
+ if name == 'armor_bounty_hunter_roadmap_helmet_02_01':
+ return "object/tangible/wearables/armor/composite/shared_armor_composite_helmet.iff"
+
+ if name == 'armor_bounty_hunter_roadmap_leggings_02_01':
+ return "object/tangible/wearables/armor/composite/shared_armor_composite_leggings.iff"
+
+ if name == 'armor_wookiee_roadmap_chest_02_03':
+ return "object/tangible/wearables/armor/kashyyykian_hunting/shared_armor_kashyyykian_hunting_chestplate.iff"
+
+ if name == 'armor_wookiee_roadmap_leggings_02_03':
+ return "object/tangible/wearables/armor/kashyyykian_hunting/shared_armor_kashyyykian_hunting_leggings.iff"
+
+ if name == 'armor_wookiee_roadmap_bicep_l_02_03':
+ return "object/tangible/wearables/armor/kashyyykian_hunting/shared_armor_kashyyykian_hunting_bicep_l.iff"
+
+ if name == 'armor_wookiee_roadmap_bicep_r_02_03':
+ return "object/tangible/wearables/armor/kashyyykian_hunting/shared_armor_kashyyykian_hunting_bicep_r.iff"
+
+ if name == 'armor_wookiee_roadmap_bracer_l_02_03':
+ return "object/tangible/wearables/armor/kashyyykian_hunting/shared_armor_kashyyykian_hunting_bracer_l.iff"
+
+ if name == 'armor_wookiee_roadmap_bracer_r_02_03':
+ return "object/tangible/wearables/armor/kashyyykian_hunting/shared_armor_kashyyykian_hunting_bracer_r.iff"
+
+ if name == 'armor_ithorian_roadmap_chest_02_03':
+ return "object/tangible/wearables/armor/ithorian_sentinel/shared_ith_armor_s03_chest_plate.iff"
+
+ if name == 'armor_ithorian_roadmap_leggings_02_03':
+ return "object/tangible/wearables/armor/ithorian_sentinel/shared_ith_armor_s03_leggings.iff"
+
+ if name == 'armor_ithorian_roadmap_helmet_02_03':
+ return "object/tangible/wearables/armor/ithorian_sentinel/shared_ith_armor_s03_helmet.iff"
+
+ if name == 'armor_ithorian_roadmap_bicep_l_02_03':
+ return "object/tangible/wearables/armor/ithorian_sentinel/shared_ith_armor_s03_bicep_l.iff"
+
+ if name == 'armor_ithorian_roadmap_bicep_r_02_03':
+ return "object/tangible/wearables/armor/ithorian_sentinel/shared_ith_armor_s03_bicep_r.iff"
+
+ if name == 'armor_ithorian_roadmap_bracer_l_02_03':
+ return "object/tangible/wearables/armor/ithorian_sentinel/shared_ith_armor_s03_bracer_l.iff"
+
+ if name == 'armor_ithorian_roadmap_bracer_r_02_03':
+ return "object/tangible/wearables/armor/ithorian_sentinel/shared_ith_armor_s03_bracer_r.iff"
+
+ if name == 'armor_ithorian_roadmap_boots_02_03':
+ return "object/tangible/wearables/armor/ithorian_sentinel/shared_ith_armor_s03_boots.iff"
+
+ if name == 'armor_ithorian_roadmap_gloves_02_03':
+ return "object/tangible/wearables/armor/ithorian_sentinel/shared_ith_armor_s03_gloves.iff"
+
+ if name == 'weapon_carbine_bh_roadmap_01_02':
+ return "object/weapon/ranged/carbine/shared_carbine_ee3.iff"
+
+ if name == 'item_bounty_hunter_ring_01_02':
+ return "object/tangible/wearables/ring/shared_ring_s02.iff"
+
+ if name == 'weapon_rifle_bh_roadmap_01_02':
+ return "object/weapon/ranged/rifle/shared_rifle_lightning.iff"
+
+ if name == 'item_bounty_hunter_pendant_01_02':
+ return "object/tangible/wearables/necklace/shared_necklace_s02.iff"
+
+ if name == 'item_bounty_hunter_clicky_01_02':
+ return "object/tangible/loot/generic_usable/shared_survey_pad_adv_generic.iff"
+
+ if name == 'item_roadmap_belt_bounty_hunter_01_02':
+ return "object/tangible/wearables/armor/zam/shared_armor_zam_wesell_belt.iff"
\ No newline at end of file
diff --git a/scripts/roadmap/commando_1a.py b/scripts/roadmap/commando_1a.py
index 8d9253ae..c63fd717 100644
--- a/scripts/roadmap/commando_1a.py
+++ b/scripts/roadmap/commando_1a.py
@@ -23,3 +23,97 @@ def getHealth():
def getAction():
return 75
+
+def getRewards(name):
+ if name == 'item_bounty_hunter_backpack_01_02':
+ return "object/tangible/wearables/backpack/shared_backpack_s04.iff"
+
+ if name == 'armor_commando_roadmap_bicep_l_02_01':
+ return "object/tangible/wearables/armor/composite/shared_armor_composite_bicep_l.iff"
+
+ if name == 'armor_commando_roadmap_bicep_r_02_01':
+ return "object/tangible/wearables/armor/composite/shared_armor_composite_bicep_r.iff"
+
+ if name == 'armor_commando_roadmap_bracer_l_02_01':
+ return "object/tangible/wearables/armor/composite/shared_armor_composite_bracer_l.iff"
+
+ if name == 'armor_commando_roadmap_bracer_r_02_01':
+ return "object/tangible/wearables/armor/composite/shared_armor_composite_bracer_r.iff"
+
+ if name == 'armor_commando_roadmap_boots_02_01':
+ return "object/tangible/wearables/armor/composite/shared_armor_composite_boots.iff"
+
+ if name == 'armor_commando_roadmap_chest_02_01':
+ return "object/tangible/wearables/armor/composite/shared_armor_composite_chest_plate.iff"
+
+ if name == 'armor_commando_roadmap_gloves_02_01':
+ return "object/tangible/wearables/armor/composite/shared_armor_composite_gloves.iff"
+
+ if name == 'armor_commando_roadmap_helmet_02_01':
+ return "object/tangible/wearables/armor/composite/shared_armor_composite_helmet.iff"
+
+ if name == 'armor_commando_roadmap_leggings_02_01':
+ return "object/tangible/wearables/armor/composite/shared_armor_composite_leggings.iff"
+
+ if name == 'armor_wookiee_roadmap_chest_02_03':
+ return "object/tangible/wearables/armor/kashyyykian_hunting/shared_armor_kashyyykian_hunting_chestplate.iff"
+
+ if name == 'armor_wookiee_roadmap_leggings_02_03':
+ return "object/tangible/wearables/armor/kashyyykian_hunting/shared_armor_kashyyykian_hunting_leggings.iff"
+
+ if name == 'armor_wookiee_roadmap_bicep_l_02_03':
+ return "object/tangible/wearables/armor/kashyyykian_hunting/shared_armor_kashyyykian_hunting_bicep_l.iff"
+
+ if name == 'armor_wookiee_roadmap_bicep_r_02_03':
+ return "object/tangible/wearables/armor/kashyyykian_hunting/shared_armor_kashyyykian_hunting_bicep_r.iff"
+
+ if name == 'armor_wookiee_roadmap_bracer_l_02_03':
+ return "object/tangible/wearables/armor/kashyyykian_hunting/shared_armor_kashyyykian_hunting_bracer_l.iff"
+
+ if name == 'armor_wookiee_roadmap_bracer_r_02_03':
+ return "object/tangible/wearables/armor/kashyyykian_hunting/shared_armor_kashyyykian_hunting_bracer_r.iff"
+
+ if name == 'armor_ithorian_roadmap_chest_02_03':
+ return "object/tangible/wearables/armor/ithorian_sentinel/shared_ith_armor_s03_chest_plate.iff"
+
+ if name == 'armor_ithorian_roadmap_leggings_02_03':
+ return "object/tangible/wearables/armor/ithorian_sentinel/shared_ith_armor_s03_leggings.iff"
+
+ if name == 'armor_ithorian_roadmap_helmet_02_03':
+ return "object/tangible/wearables/armor/ithorian_sentinel/shared_ith_armor_s03_helmet.iff"
+
+ if name == 'armor_ithorian_roadmap_bicep_l_02_03':
+ return "object/tangible/wearables/armor/ithorian_sentinel/shared_ith_armor_s03_bicep_l.iff"
+
+ if name == 'armor_ithorian_roadmap_bicep_r_02_03':
+ return "object/tangible/wearables/armor/ithorian_sentinel/shared_ith_armor_s03_bicep_r.iff"
+
+ if name == 'armor_ithorian_roadmap_bracer_l_02_03':
+ return "object/tangible/wearables/armor/ithorian_sentinel/shared_ith_armor_s03_bracer_l.iff"
+
+ if name == 'armor_ithorian_roadmap_bracer_r_02_03':
+ return "object/tangible/wearables/armor/ithorian_sentinel/shared_ith_armor_s03_bracer_r.iff"
+
+ if name == 'armor_ithorian_roadmap_boots_02_03':
+ return "object/tangible/wearables/armor/ithorian_sentinel/shared_ith_armor_s03_boots.iff"
+
+ if name == 'armor_ithorian_roadmap_gloves_02_03':
+ return "object/tangible/wearables/armor/ithorian_sentinel/shared_ith_armor_s03_gloves.iff"
+
+ if name == 'weapon_lightningbeam_commando_roadmap_01_02':
+ return "object/weapon/ranged/rifle/shared_rifle_dlt20.iff"
+
+ if name == 'item_commando_ring_01_02':
+ return "object/tangible/wearables/ring/shared_ring_s03.iff"
+
+ if name == 'weapon_acidbeam_commando_roadmap_01_02':
+ return "object/weapon/ranged/carbine/shared_carbine_e11.iff"
+
+ if name == 'item_commando_pendant_01_02':
+ return "object/tangible/wearables/necklace/shared_necklace_s07.iff"
+
+ if name == 'item_commando_clicky_01_02':
+ return "object/tangible/loot/generic_usable/shared_survey_pad_adv_generic.iff"
+
+ if name == 'item_roadmap_belt_commando_01_02':
+ return "object/tangible/wearables/armor/zam/shared_armor_zam_wesell_belt.iff"
\ No newline at end of file
diff --git a/scripts/roadmap/entertainer_1a.py b/scripts/roadmap/entertainer_1a.py
index 0541cc93..efe33465 100644
--- a/scripts/roadmap/entertainer_1a.py
+++ b/scripts/roadmap/entertainer_1a.py
@@ -23,3 +23,6 @@ def getHealth():
def getAction():
return 75
+
+def getRewards(name):
+ return
\ No newline at end of file
diff --git a/scripts/roadmap/force_sensitive_1a.py b/scripts/roadmap/force_sensitive_1a.py
index 2d9241b0..9fd5ca69 100644
--- a/scripts/roadmap/force_sensitive_1a.py
+++ b/scripts/roadmap/force_sensitive_1a.py
@@ -23,3 +23,28 @@ def getHealth():
def getAction():
return 75
+
+def getRewards(name):
+ if name == 'item_force_sensitive_ring_02_01':
+ return "object/tangible/wearables/ring/shared_ring_s02.iff"
+
+ if name == 'item_npe_fs_robe_02_02':
+ return "object/tangible/wearables/robe/shared_robe_jedi_padawan.iff"
+
+ if name == 'weapon_roadmap_lightsaber_02_02':
+ return "object/weapon/melee/sword/crafted_saber/shared_sword_lightsaber_one_handed_s1.iff"
+
+ if name == 'item_force_sensitive_ring_01_02':
+ return "object/tangible/wearables/ring/shared_ring_s01.iff"
+
+ if name == 'item_krayt_pearl_04_01':
+ return "object/tangible/component/weapon/lightsaber/shared_lightsaber_module_krayt_dragon_pearl.iff"
+
+ if name == 'item_force_sensitive_pendant_01_02':
+ return "object/tangible/wearables/necklace/shared_necklace_s12.iff"
+
+ if name == 'item_force_sensitive_clicky_01_02':
+ return "object/tangible/loot/generic_usable/shared_generic_crystal.iff"
+
+ if name == 'item_roadmap_belt_force_sensitive_01_02':
+ return "object/tangible/wearables/armor/zam/shared_armor_zam_wesell_belt.iff"
\ No newline at end of file
diff --git a/scripts/roadmap/medic_1a.py b/scripts/roadmap/medic_1a.py
index 6b84327b..e6f67dfb 100644
--- a/scripts/roadmap/medic_1a.py
+++ b/scripts/roadmap/medic_1a.py
@@ -23,3 +23,6 @@ def getHealth():
def getAction():
return 75
+
+def getRewards(name):
+ return
\ No newline at end of file
diff --git a/scripts/roadmap/officer_1a.py b/scripts/roadmap/officer_1a.py
index 25e7254f..83bca56f 100644
--- a/scripts/roadmap/officer_1a.py
+++ b/scripts/roadmap/officer_1a.py
@@ -23,3 +23,6 @@ def getHealth():
def getAction():
return 75
+
+def getRewards(name):
+ return
\ No newline at end of file
diff --git a/scripts/roadmap/roadmap_rewards.py b/scripts/roadmap/roadmap_rewards.py
deleted file mode 100644
index b1071bbc..00000000
--- a/scripts/roadmap/roadmap_rewards.py
+++ /dev/null
@@ -1,9 +0,0 @@
-import sys
-
-def get(name):
-
- if name == 'item_npe_fs_robe_02_02':
- return "object/tangible/wearables/robe/shared_robe_jedi_padawan.iff"
-
- if name == 'weapon_roadmap_lightsaber_02_02':
- return "object/weapon/melee/sword/crafted_saber/shared_sword_lightsaber_one_handed_s1.iff"
\ No newline at end of file
diff --git a/scripts/roadmap/smuggler_1a.py b/scripts/roadmap/smuggler_1a.py
index 8084fcd2..2b41cce4 100644
--- a/scripts/roadmap/smuggler_1a.py
+++ b/scripts/roadmap/smuggler_1a.py
@@ -23,3 +23,6 @@ def getHealth():
def getAction():
return 75
+
+def getRewards(name):
+ return
\ No newline at end of file
diff --git a/scripts/roadmap/spy_1a.py b/scripts/roadmap/spy_1a.py
index 6fe7c37a..079de728 100644
--- a/scripts/roadmap/spy_1a.py
+++ b/scripts/roadmap/spy_1a.py
@@ -23,3 +23,6 @@ def getHealth():
def getAction():
return 75
+
+def getRewards(name):
+ return
\ No newline at end of file
diff --git a/scripts/roadmap/trader_0a.py b/scripts/roadmap/trader_0a.py
index 2846dee7..203b6ad9 100644
--- a/scripts/roadmap/trader_0a.py
+++ b/scripts/roadmap/trader_0a.py
@@ -23,3 +23,6 @@ def getHealth():
def getAction():
return 75
+
+def getRewards(name):
+ return
\ No newline at end of file
diff --git a/scripts/roadmap/trader_0b.py b/scripts/roadmap/trader_0b.py
index 2846dee7..203b6ad9 100644
--- a/scripts/roadmap/trader_0b.py
+++ b/scripts/roadmap/trader_0b.py
@@ -23,3 +23,6 @@ def getHealth():
def getAction():
return 75
+
+def getRewards(name):
+ return
\ No newline at end of file
diff --git a/scripts/roadmap/trader_0c.py b/scripts/roadmap/trader_0c.py
index 2846dee7..203b6ad9 100644
--- a/scripts/roadmap/trader_0c.py
+++ b/scripts/roadmap/trader_0c.py
@@ -23,3 +23,6 @@ def getHealth():
def getAction():
return 75
+
+def getRewards(name):
+ return
\ No newline at end of file
diff --git a/scripts/roadmap/trader_0d.py b/scripts/roadmap/trader_0d.py
index 2846dee7..203b6ad9 100644
--- a/scripts/roadmap/trader_0d.py
+++ b/scripts/roadmap/trader_0d.py
@@ -23,3 +23,6 @@ def getHealth():
def getAction():
return 75
+
+def getRewards(name):
+ return
\ No newline at end of file
diff --git a/scripts/skillMods/action.py b/scripts/skillMods/action.py
new file mode 100644
index 00000000..5d92ea61
--- /dev/null
+++ b/scripts/skillMods/action.py
@@ -0,0 +1,12 @@
+import sys
+
+def add(core, actor, name, base):
+ actor.addSkillMod(name, base)
+ actor.setMaxAction(actor.getMaxAction() + base)
+ return
+
+def deduct(core, actor, name, base):
+ actor.deductSkillMod(name, base)
+ actor.setMaxAction(actor.getMaxAction() - base)
+ return
+
\ No newline at end of file
diff --git a/scripts/skillMods/actionPercent.py b/scripts/skillMods/actionPercent.py
new file mode 100644
index 00000000..aaae3c10
--- /dev/null
+++ b/scripts/skillMods/actionPercent.py
@@ -0,0 +1,14 @@
+import sys
+
+# Temporarily disabled until the skillmod calculation system is refactored
+
+def add(core, actor, name, base):
+ #actor.addSkillMod(name, base)
+ #actor.setMaxAction(actor.getMaxAction() + int((float(actor.getMaxAction()) * (float(base) / float(100)))))
+ return
+
+def deduct(core, actor, name, base):
+ #actor.deductSkillMod(name, base)
+ #actor.setMaxAction(actor.getMaxAction() - int((float(actor.getMaxAction()) * (float(base) / float(100)))))
+ return
+
\ No newline at end of file
diff --git a/scripts/skillMods/expertise_critical_melee.py b/scripts/skillMods/expertise_critical_melee.py
index ee7769e2..fd6ebde6 100644
--- a/scripts/skillMods/expertise_critical_melee.py
+++ b/scripts/skillMods/expertise_critical_melee.py
@@ -1,10 +1,16 @@
import sys
def add(core, actor, name, base):
- actor.addSkillMod(name, base)
+ actor.addSkillMod("expertise_critical_1h", base)
+ actor.addSkillMod("expertise_critical_2h", base)
+ actor.addSkillMod("expertise_critical_unarmed", base)
+ actor.addSkillMod("expertise_critical_polearm", base)
return
def deduct(core, actor, name, base):
- actor.deductSkillMod(name, base)
+ actor.deductSkillMod("expertise_critical_1h", base)
+ actor.deductSkillMod("expertise_critical_2h", base)
+ actor.deductSkillMod("expertise_critical_unarmed", base)
+ actor.deductSkillMod("expertise_critical_polearm", base)
return
\ No newline at end of file
diff --git a/scripts/skillMods/expertise_focus.py b/scripts/skillMods/expertise_focus.py
index 0d10255e..c73060b3 100644
--- a/scripts/skillMods/expertise_focus.py
+++ b/scripts/skillMods/expertise_focus.py
@@ -2,14 +2,14 @@ import sys
def add(core, actor, name, base):
actor.addSkillMod(name, base)
- core.skillModService.addSkillMod(actor, 'stamina_modified', (actor.getSkillModBase('expertise_stance_constitution')))
+ core.skillModService.addSkillMod(actor, 'stamina_modified', (actor.getSkillModBase('expertise_focus_stamina')))
core.skillModService.addSkillMod(actor, 'display_only_critical', 100 * (actor.getSkillModBase('expertise_focus_critical_buff_line')))
core.skillModService.addSkillMod(actor, 'expertise_damage_melee', 1 * (actor.getSkillModBase('expertise_focus_damage_increase')))
return
def deduct(core, actor, name, base):
actor.deductSkillMod(name, base)
- core.skillModService.deductSkillMod(actor, 'stamina_modified', (actor.getSkillModBase('expertise_stance_constitution')))
+ core.skillModService.deductSkillMod(actor, 'stamina_modified', (actor.getSkillModBase('expertise_focus_stamina')))
core.skillModService.deductSkillMod(actor, 'display_only_critical', 100 * (actor.getSkillModBase('expertise_focus_critical_buff_line')))
core.skillModService.deductSkillMod(actor, 'expertise_damage_melee', 1 * (actor.getSkillModBase('expertise_focus_damage_increase')))
return
diff --git a/scripts/skillMods/expertise_focus_damage_increase.py b/scripts/skillMods/expertise_focus_damage_increase.py
new file mode 100644
index 00000000..ee7769e2
--- /dev/null
+++ b/scripts/skillMods/expertise_focus_damage_increase.py
@@ -0,0 +1,10 @@
+import sys
+
+def add(core, actor, name, base):
+ actor.addSkillMod(name, base)
+ return
+
+def deduct(core, actor, name, base):
+ actor.deductSkillMod(name, base)
+ return
+
\ No newline at end of file
diff --git a/scripts/skillMods/expertise_innate_protection_energy.py b/scripts/skillMods/expertise_innate_protection_energy.py
index ee7769e2..5715c8bc 100644
--- a/scripts/skillMods/expertise_innate_protection_energy.py
+++ b/scripts/skillMods/expertise_innate_protection_energy.py
@@ -1,10 +1,12 @@
import sys
def add(core, actor, name, base):
+ actor.addSkillMod('energy', base)
actor.addSkillMod(name, base)
return
def deduct(core, actor, name, base):
+ actor.deductSkillMod('energy', base)
actor.deductSkillMod(name, base)
return
\ No newline at end of file
diff --git a/scripts/skillMods/expertise_innate_protection_kinetic.py b/scripts/skillMods/expertise_innate_protection_kinetic.py
index ee7769e2..6cea2b42 100644
--- a/scripts/skillMods/expertise_innate_protection_kinetic.py
+++ b/scripts/skillMods/expertise_innate_protection_kinetic.py
@@ -1,10 +1,12 @@
import sys
def add(core, actor, name, base):
+ actor.addSkillMod('kinetic', base)
actor.addSkillMod(name, base)
return
def deduct(core, actor, name, base):
+ actor.deductSkillMod('kinetic', base)
actor.deductSkillMod(name, base)
return
\ No newline at end of file
diff --git a/scripts/skillMods/health.py b/scripts/skillMods/health.py
new file mode 100644
index 00000000..b4a86dd4
--- /dev/null
+++ b/scripts/skillMods/health.py
@@ -0,0 +1,12 @@
+import sys
+
+def add(core, actor, name, base):
+ actor.addSkillMod(name, base)
+ actor.setMaxHealth(actor.getMaxHealth() + base)
+ return
+
+def deduct(core, actor, name, base):
+ actor.deductSkillMod(name, base)
+ actor.setMaxHealth(actor.getMaxHealth() - base)
+ return
+
\ No newline at end of file
diff --git a/scripts/skillMods/healthPercent.py b/scripts/skillMods/healthPercent.py
new file mode 100644
index 00000000..de8a3424
--- /dev/null
+++ b/scripts/skillMods/healthPercent.py
@@ -0,0 +1,14 @@
+import sys
+
+# Temporarily disabled until the skillmod calculation system is refactored
+
+def add(core, actor, name, base):
+ #actor.addSkillMod(name, base)
+ #actor.setMaxHealth(actor.getMaxHealth() + int((float(actor.getMaxHealth()) * (float(base) / float(100)))))
+ return
+
+def deduct(core, actor, name, base):
+ #actor.deductSkillMod(name, base)
+ #actor.setMaxHealth(actor.getMaxHealth() - int((actor.getMaxHealth() * (float(base) / float(100)))))
+ return
+
\ No newline at end of file
diff --git a/scripts/skillMods/movement.py b/scripts/skillMods/movement.py
index a842f3db..fd0ded59 100644
--- a/scripts/skillMods/movement.py
+++ b/scripts/skillMods/movement.py
@@ -1,11 +1,11 @@
import sys
def add(core, actor, name, base):
- actor.addSkillMod(name, base)
- actor.setSpeedMultiplierBase(actor.getSpeedMultiplierBase() + base / 100)
+ #actor.addSkillMod(name, base)
+ actor.setSpeedMultiplierMod(actor.getSpeedMultiplierMod() + (float(base) / float(10)))
return
def deduct(core, actor, name, base):
- actor.setSpeedMultiplierBase(actor.getSpeedMultiplierBase() - base / 100)
- actor.deductSkillMod(name, base)
+ #actor.deductSkillMod(name, base)
+ actor.setSpeedMultiplierMod(actor.getSpeedMultiplierMod() - (float(base) / float(10)))
return
\ No newline at end of file
diff --git a/scripts/starter_clothing/combat_brawler_humanoid_female.py b/scripts/starter_clothing/combat_brawler_humanoid_female.py
deleted file mode 100644
index 3a176081..00000000
--- a/scripts/starter_clothing/combat_brawler_humanoid_female.py
+++ /dev/null
@@ -1,13 +0,0 @@
-import sys
-
-def CombatBrawlerHumanoidFemale(core, object):
- shirt = core.objectService.createObject('object/tangible/wearables/shirt/shared_shirt_s24.iff', object.getPlanet())
- jacket = core.objectService.createObject('object/tangible/wearables/jacket/shared_jacket_s24.iff', object.getPlanet())
- pants = core.objectService.createObject('object/tangible/wearables/pants/shared_pants_s25.iff', object.getPlanet())
- boots = core.objectService.createObject('object/tangible/wearables/boots/shared_boots_s05.iff', object.getPlanet())
- necklace = core.objectService.createObject('object/tangible/wearables/necklace/shared_necklace_primitive_01.iff', object.getPlanet())
- object._add(shirt)
- object._add(jacket)
- object._add(pants)
- object._add(boots)
- object._add(necklace)
\ No newline at end of file
diff --git a/scripts/starter_clothing/combat_brawler_humanoid_male.py b/scripts/starter_clothing/combat_brawler_humanoid_male.py
deleted file mode 100644
index a1ae7072..00000000
--- a/scripts/starter_clothing/combat_brawler_humanoid_male.py
+++ /dev/null
@@ -1,13 +0,0 @@
-import sys
-
-def CombatBrawlerHumanoidMale(core, object):
- shirt = core.objectService.createObject('object/tangible/wearables/shirt/shared_shirt_s42.iff', object.getPlanet())
- jacket = core.objectService.createObject('object/tangible/wearables/jacket/shared_jacket_s24.iff', object.getPlanet())
- gloves = core.objectService.createObject('object/tangible/wearables/gloves/shared_gloves_s06.iff', object.getPlanet())
- pants = core.objectService.createObject('object/tangible/wearables/pants/shared_pants_s04.iff', object.getPlanet())
- boots = core.objectService.createObject('object/tangible/wearables/boots/shared_boots_s22.iff', object.getPlanet())
- object._add(shirt)
- object._add(jacket)
- object._add(gloves)
- object._add(pants)
- object._add(boots)
diff --git a/scripts/starter_clothing/combat_brawler_ithorian_female.py b/scripts/starter_clothing/combat_brawler_ithorian_female.py
deleted file mode 100644
index 223236bd..00000000
--- a/scripts/starter_clothing/combat_brawler_ithorian_female.py
+++ /dev/null
@@ -1,15 +0,0 @@
-import sys
-
-def CombatBrawlerIthorianFemale(core, object):
- jacket = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_jacket_s06.iff', object.getPlanet())
- shirt = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_shirt_s01.iff', object.getPlanet())
- bandolier = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_bandolier_s04.iff', object.getPlanet())
- belt = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_belt_s17.iff', object.getPlanet())
- pants = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_pants_s01.iff', object.getPlanet())
- gloves = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_gloves_s01.iff', object.getPlanet())
- object._add(jacket)
- object._add(shirt)
- object._add(bandolier)
- object._add(belt)
- object._add(pants)
- object._add(gloves)
\ No newline at end of file
diff --git a/scripts/starter_clothing/combat_brawler_ithorian_male.py b/scripts/starter_clothing/combat_brawler_ithorian_male.py
deleted file mode 100644
index cd6dce81..00000000
--- a/scripts/starter_clothing/combat_brawler_ithorian_male.py
+++ /dev/null
@@ -1,9 +0,0 @@
-import sys
-
-def CombatBrawlerIthorianMale(core, object):
- jacket = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_jacket_s10.iff', object.getPlanet())
- pants = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_pants_s02.iff', object.getPlanet())
- bandolier = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_bandolier_s04.iff', object.getPlanet())
- object._add(jacket)
- object._add(pants)
- object._add(bandolier)
\ No newline at end of file
diff --git a/scripts/starter_clothing/combat_brawler_trandoshan_female.py b/scripts/starter_clothing/combat_brawler_trandoshan_female.py
deleted file mode 100644
index 1f755bfe..00000000
--- a/scripts/starter_clothing/combat_brawler_trandoshan_female.py
+++ /dev/null
@@ -1,11 +0,0 @@
-import sys
-
-def CombatBrawlerTrandoshanFemale(core, object):
- shirt = core.objectService.createObject('object/tangible/wearables/shirt/shared_shirt_s24.iff', object.getPlanet())
- jacket = core.objectService.createObject('object/tangible/wearables/jacket/shared_jacket_s24.iff', object.getPlanet())
- pants = core.objectService.createObject('object/tangible/wearables/pants/shared_pants_s25.iff', object.getPlanet())
- necklace = core.objectService.createObject('object/tangible/wearables/necklace/shared_necklace_primitive_01.iff', object.getPlanet())
- object._add(shirt)
- object._add(jacket)
- object._add(pants)
- object._add(necklace)
\ No newline at end of file
diff --git a/scripts/starter_clothing/combat_brawler_trandoshan_male.py b/scripts/starter_clothing/combat_brawler_trandoshan_male.py
deleted file mode 100644
index 78b4d786..00000000
--- a/scripts/starter_clothing/combat_brawler_trandoshan_male.py
+++ /dev/null
@@ -1,10 +0,0 @@
-import sys
-
-def CombatBrawlerTrandoshanMale(core, object):
- shirt = core.objectService.createObject('object/tangible/wearables/shirt/shared_shirt_s42.iff', object.getPlanet())
- jacket = core.objectService.createObject('object/tangible/wearables/jacket/shared_jacket_s24.iff', object.getPlanet())
- pants = core.objectService.createObject('object/tangible/wearables/pants/shared_pants_s04.iff', object.getPlanet())
- inventory = object.getSlottedObject('inventory')
- object._add(shirt)
- object._add(jacket)
- object._add(pants)
diff --git a/scripts/starter_clothing/combat_brawler_wookiee_female.py b/scripts/starter_clothing/combat_brawler_wookiee_female.py
deleted file mode 100644
index 917fb2d0..00000000
--- a/scripts/starter_clothing/combat_brawler_wookiee_female.py
+++ /dev/null
@@ -1,7 +0,0 @@
-import sys
-
-def CombatBrawlerWookieeFemale(core, object):
- shirt = core.objectService.createObject('object/tangible/wearables/wookiee/shared_wke_shirt_s04.iff', object.getPlanet())
- skirt = core.objectService.createObject('object/tangible/wearables/wookiee/shared_wke_skirt_s02.iff', object.getPlanet())
- object._add(shirt)
- object._add(skirt)
diff --git a/scripts/starter_clothing/combat_brawler_wookiee_male.py b/scripts/starter_clothing/combat_brawler_wookiee_male.py
deleted file mode 100644
index 8646f4e9..00000000
--- a/scripts/starter_clothing/combat_brawler_wookiee_male.py
+++ /dev/null
@@ -1,8 +0,0 @@
-import sys
-
-def CombatBrawlerWookieeMale(core, object):
- shirt = core.objectService.createObject('object/tangible/wearables/wookiee/shared_wke_shirt_s04.iff', object.getPlanet())
- skirt = core.objectService.createObject('object/tangible/wearables/wookiee/shared_wke_skirt_s02.iff', object.getPlanet())
- inventory = object.getSlottedObject('inventory')
- object._add(shirt)
- object._add(skirt)
diff --git a/scripts/starter_clothing/combat_marksman_humanoid_female.py b/scripts/starter_clothing/combat_marksman_humanoid_female.py
deleted file mode 100644
index f43d084b..00000000
--- a/scripts/starter_clothing/combat_marksman_humanoid_female.py
+++ /dev/null
@@ -1,15 +0,0 @@
-import sys
-
-def CombatMarksmanHumanoidFemale(core, object):
- shirt = core.objectService.createObject('object/tangible/wearables/shirt/shared_shirt_s28.iff', object.getPlanet())
- bandolier = core.objectService.createObject('object/tangible/wearables/bandolier/shared_npe_bandolier.iff', object.getPlanet())
- necklace = core.objectService.createObject('object/tangible/wearables/necklace/shared_necklace_primitive_04.iff', object.getPlanet())
- pants = core.objectService.createObject('object/tangible/wearables/pants/shared_pants_s09.iff', object.getPlanet())
- belt = core.objectService.createObject('object/tangible/wearables/belt/shared_npe_belt_02.iff', object.getPlanet())
- shoes = core.objectService.createObject('object/tangible/wearables/shoes/shared_shoes_s01.iff', object.getPlanet())
- object._add(shirt)
- object._add(bandolier)
- object._add(necklace)
- object._add(pants)
- object._add(belt)
- object._add(shoes)
\ No newline at end of file
diff --git a/scripts/starter_clothing/combat_marksman_humanoid_male.py b/scripts/starter_clothing/combat_marksman_humanoid_male.py
deleted file mode 100644
index 421fed10..00000000
--- a/scripts/starter_clothing/combat_marksman_humanoid_male.py
+++ /dev/null
@@ -1,12 +0,0 @@
-import sys
-
-def CombatMarksmanHumanoidMale(core, object):
- shirt = core.objectService.createObject('object/tangible/wearables/shirt/shared_npe_shirt.iff', object.getPlanet())
- jacket = core.objectService.createObject('object/tangible/wearables/jacket/shared_jacket_s16.iff', object.getPlanet())
- pants = core.objectService.createObject('object/tangible/wearables/pants/shared_pants_s21.iff', object.getPlanet())
- boots = core.objectService.createObject('object/tangible/wearables/boots/shared_boots_s03.iff', object.getPlanet())
- inventory = object.getSlottedObject('inventory')
- object._add(shirt)
- object._add(jacket)
- object._add(pants)
- object._add(boots)
\ No newline at end of file
diff --git a/scripts/starter_clothing/combat_marksman_ithorian_female.py b/scripts/starter_clothing/combat_marksman_ithorian_female.py
deleted file mode 100644
index 4f9903d7..00000000
--- a/scripts/starter_clothing/combat_marksman_ithorian_female.py
+++ /dev/null
@@ -1,12 +0,0 @@
-import sys
-
-def CombatMarksmanIthorianFemale(core, object):
- shirt = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_shirt_s09.iff', object.getPlanet())
- vest = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_vest_s01.iff', object.getPlanet())
- pants = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_pants_s01.iff', object.getPlanet())
- belt = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_belt_s17.iff', object.getPlanet())
- inventory = object.getSlottedObject('inventory')
- object._addshirt)
- object._add(vest)
- object._add(pants)
- object._add(belt)
\ No newline at end of file
diff --git a/scripts/starter_clothing/combat_marksman_ithorian_male.py b/scripts/starter_clothing/combat_marksman_ithorian_male.py
deleted file mode 100644
index 11db70e3..00000000
--- a/scripts/starter_clothing/combat_marksman_ithorian_male.py
+++ /dev/null
@@ -1,12 +0,0 @@
-import sys
-
-def CombatMarksmanIthorianMale(core, object):
- belt = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_belt_s20.iff', object.getPlanet())
- shirt = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_shirt_s11.iff', object.getPlanet())
- jacket = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_jacket_s07.iff', object.getPlanet())
- pants = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_pants_s04.iff', object.getPlanet())
- inventory = object.getSlottedObject('inventory')
- object._add(belt)
- object._add(shirt)
- object._add(jacket)
- object._add(pants)
\ No newline at end of file
diff --git a/scripts/starter_clothing/combat_marksman_trandoshan_female.py b/scripts/starter_clothing/combat_marksman_trandoshan_female.py
deleted file mode 100644
index 569d1ad6..00000000
--- a/scripts/starter_clothing/combat_marksman_trandoshan_female.py
+++ /dev/null
@@ -1,14 +0,0 @@
-import sys
-
-def CombatMarksmanTrandoshanFemale(core, object):
- shirt = core.objectService.createObject('object/tangible/wearables/shirt/shared_shirt_s28.iff', object.getPlanet())
- bandolier = core.objectService.createObject('object/tangible/wearables/bandolier/shared_npe_bandolier.iff', object.getPlanet())
- necklace = core.objectService.createObject('object/tangible/wearables/necklace/shared_necklace_primitive_04.iff', object.getPlanet())
- pants = core.objectService.createObject('object/tangible/wearables/pants/shared_pants_s09.iff', object.getPlanet())
- belt = core.objectService.createObject('object/tangible/wearables/belt/shared_npe_belt_02.iff', object.getPlanet())
- inventory = object.getSlottedObject('inventory')
- object._add(shirt)
- object._add(bandolier)
- object._add(necklace)
- object._add(pants)
- object._add(belt)
\ No newline at end of file
diff --git a/scripts/starter_clothing/combat_marksman_trandoshan_male.py b/scripts/starter_clothing/combat_marksman_trandoshan_male.py
deleted file mode 100644
index 724752b6..00000000
--- a/scripts/starter_clothing/combat_marksman_trandoshan_male.py
+++ /dev/null
@@ -1,10 +0,0 @@
-import sys
-
-def CombatMarksmanTrandoshanMale(core, object):
- shirt = core.objectService.createObject('object/tangible/wearables/shirt/shared_npe_shirt.iff', object.getPlanet())
- jacket = core.objectService.createObject('object/tangible/wearables/jacket/shared_jacket_s16.iff', object.getPlanet())
- pants = core.objectService.createObject('object/tangible/wearables/pants/shared_pants_s21.iff', object.getPlanet())
- inventory = object.getSlottedObject('inventory')
- object._add(shirt)
- object._add(jacket)
- object._add(pants)
\ No newline at end of file
diff --git a/scripts/starter_clothing/combat_marksman_wookiee_female.py b/scripts/starter_clothing/combat_marksman_wookiee_female.py
deleted file mode 100644
index 4c33c52a..00000000
--- a/scripts/starter_clothing/combat_marksman_wookiee_female.py
+++ /dev/null
@@ -1,8 +0,0 @@
-import sys
-
-def CombatMarksmanWookieeFemale(core, object):
- bandolier = core.objectService.createObject('object/tangible/wearables/bandolier/shared_bandolier_s04.iff', object.getPlanet())
- shirt = core.objectService.createObject('object/tangible/wearables/wookiee/shared_wke_shirt_s03.iff', object.getPlanet())
- inventory = object.getSlottedObject('inventory')
- object._add(bandolier)
- object._add(shirt)
\ No newline at end of file
diff --git a/scripts/starter_clothing/combat_marksman_wookiee_male.py b/scripts/starter_clothing/combat_marksman_wookiee_male.py
deleted file mode 100644
index b43a9f0a..00000000
--- a/scripts/starter_clothing/combat_marksman_wookiee_male.py
+++ /dev/null
@@ -1,8 +0,0 @@
-import sys
-
-def CombatMarksmanWookieeMale(core, object):
- bandolier = core.objectService.createObject('object/tangible/wearables/bandolier/shared_bandolier_s04.iff', object.getPlanet())
- shirt = core.objectService.createObject('object/tangible/wearables/wookiee/shared_wke_shirt_s03.iff', object.getPlanet())
- inventory = object.getSlottedObject('inventory')
- object._add(bandolier)
- object._add(shirt)
\ No newline at end of file
diff --git a/scripts/starter_clothing/crafting_artisan_humanoid_female.py b/scripts/starter_clothing/crafting_artisan_humanoid_female.py
deleted file mode 100644
index e02090dd..00000000
--- a/scripts/starter_clothing/crafting_artisan_humanoid_female.py
+++ /dev/null
@@ -1,18 +0,0 @@
-import sys
-
-def CraftingArtisanHumanoidFemale(core, object):
- dress = core.objectService.createObject('object/tangible/wearables/dress/shared_dress_s29.iff', object.getPlanet())
- necklace = core.objectService.createObject('object/tangible/wearables/necklace/shared_necklace_s02.iff', object.getPlanet())
- bracelet_l = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s03_l.iff', object.getPlanet())
- bracelet_r = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s03_r.iff', object.getPlanet())
- bracelet_l_2 = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s06_l.iff', object.getPlanet())
- bracelet_r_2 = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s06_r.iff', object.getPlanet())
- shoes = core.objectService.createObject('object/tangible/wearables/shoes/shared_shoes_s07.iff', object.getPlanet())
- inventory = object.getSlottedObject('inventory')
- inventory.add(bracelet_l_2)
- inventory.add(bracelet_r_2)
- object._add(dress)
- object._add(necklace)
- object._add(bracelet_l)
- object._add(bracelet_r)
- object._add(shoes)
diff --git a/scripts/starter_clothing/crafting_artisan_humanoid_male.py b/scripts/starter_clothing/crafting_artisan_humanoid_male.py
deleted file mode 100644
index f140e4c1..00000000
--- a/scripts/starter_clothing/crafting_artisan_humanoid_male.py
+++ /dev/null
@@ -1,14 +0,0 @@
-import sys
-
-def CraftingArtisanHumanoidMale(core, object):
- shirt = core.objectService.createObject('object/tangible/wearables/shirt/shared_shirt_s03.iff', object.getPlanet())
- vest = core.objectService.createObject('object/tangible/wearables/vest/shared_vest_s09.iff', object.getPlanet())
- necklace = core.objectService.createObject('object/tangible/wearables/necklace/shared_necklace_primitive_03.iff', object.getPlanet())
- pants = core.objectService.createObject('object/tangible/wearables/pants/shared_pants_s13.iff', object.getPlanet())
- shoes = core.objectService.createObject('object/tangible/wearables/shoes/shared_shoes_s01.iff', object.getPlanet())
- inventory = object.getSlottedObject('inventory')
- object._add(shirt)
- object._add(vest)
- object._add(necklace)
- object._add(pants)
- object._add(shoes)
diff --git a/scripts/starter_clothing/crafting_artisan_ithorian_female.py b/scripts/starter_clothing/crafting_artisan_ithorian_female.py
deleted file mode 100644
index 4ae7a7ea..00000000
--- a/scripts/starter_clothing/crafting_artisan_ithorian_female.py
+++ /dev/null
@@ -1,8 +0,0 @@
-import sys
-
-def CraftingArtisanIthorianFemale(core, object):
- dress = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_dress_s03.iff', object.getPlanet())
- hat = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_hat_s02.iff', object.getPlanet())
- inventory = object.getSlottedObject('inventory')
- object._add(dress)
- object._add(hat)
diff --git a/scripts/starter_clothing/crafting_artisan_ithorian_male.py b/scripts/starter_clothing/crafting_artisan_ithorian_male.py
deleted file mode 100644
index 8ecd98cf..00000000
--- a/scripts/starter_clothing/crafting_artisan_ithorian_male.py
+++ /dev/null
@@ -1,10 +0,0 @@
-import sys
-
-def CraftingArtisanIthorianMale(core, object):
- shirt = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_shirt_s10.iff', object.getPlanet())
- pants = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_pants_s06.iff', object.getPlanet())
- vest = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_vest_s02.iff', object.getPlanet())
- inventory = object.getSlottedObject('inventory')
- object._add(shirt)
- object._add(pants)
- object._add(vest)
\ No newline at end of file
diff --git a/scripts/starter_clothing/crafting_artisan_trandoshan_female.py b/scripts/starter_clothing/crafting_artisan_trandoshan_female.py
deleted file mode 100644
index 60acce4a..00000000
--- a/scripts/starter_clothing/crafting_artisan_trandoshan_female.py
+++ /dev/null
@@ -1,16 +0,0 @@
-import sys
-
-def CraftingArtisanTrandoshanFemale(core, object):
- dress = core.objectService.createObject('object/tangible/wearables/dress/shared_dress_s29.iff', object.getPlanet())
- necklace = core.objectService.createObject('object/tangible/wearables/necklace/shared_necklace_s02.iff', object.getPlanet())
- bracelet_l = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s03_l.iff', object.getPlanet())
- bracelet_r = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s03_r.iff', object.getPlanet())
- bracelet_l_2 = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s06_l.iff', object.getPlanet())
- bracelet_r_2 = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s06_r.iff', object.getPlanet())
- inventory = object.getSlottedObject('inventory')
- inventory.add(bracelet_l_2)
- inventory.add(bracelet_r_2)
- object._add(dress)
- object._add(necklace)
- object._add(bracelet_l)
- object._add(bracelet_r)
\ No newline at end of file
diff --git a/scripts/starter_clothing/crafting_artisan_trandoshan_male.py b/scripts/starter_clothing/crafting_artisan_trandoshan_male.py
deleted file mode 100644
index 3862af73..00000000
--- a/scripts/starter_clothing/crafting_artisan_trandoshan_male.py
+++ /dev/null
@@ -1,11 +0,0 @@
-import sys
-
-def CraftingArtisanTrandoshanMale(core, object):
- shirt = core.objectService.createObject('object/tangible/wearables/shirt/shared_shirt_s03.iff', object.getPlanet())
- vest = core.objectService.createObject('object/tangible/wearables/vest/shared_vest_s09.iff', object.getPlanet())
- necklace = core.objectService.createObject('object/tangible/wearables/necklace/shared_necklace_primitive_03.iff', object.getPlanet())
- pants = core.objectService.createObject('object/tangible/wearables/pants/shared_pants_s13.iff', object.getPlanet())
- object._add(shirt)
- object._add(vest)
- object._add(necklace)
- object._add(pants)
diff --git a/scripts/starter_clothing/crafting_artisan_twilek_female.py b/scripts/starter_clothing/crafting_artisan_twilek_female.py
deleted file mode 100644
index 77e72081..00000000
--- a/scripts/starter_clothing/crafting_artisan_twilek_female.py
+++ /dev/null
@@ -1,20 +0,0 @@
-import sys
-
-def CraftingArtisanTwilekFemale(core, object):
- dress = core.objectService.createObject('object/tangible/wearables/dress/shared_dress_s29.iff', object.getPlanet())
- necklace = core.objectService.createObject('object/tangible/wearables/necklace/shared_necklace_s02.iff', object.getPlanet())
- bracelet_l = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s03_l.iff', object.getPlanet())
- bracelet_r = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s03_r.iff', object.getPlanet())
- bracelet_l_2 = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s06_l.iff', object.getPlanet())
- bracelet_r_2 = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s06_r.iff', object.getPlanet())
- shoes = core.objectService.createObject('object/tangible/wearables/shoes/shared_shoes_s07.iff', object.getPlanet())
- hat = core.objectService.createObject('object/tangible/wearables/hat/shared_hat_twilek_s01.iff', object.getPlanet())
- inventory = object.getSlottedObject('inventory')
- inventory.add(bracelet_l_2)
- inventory.add(bracelet_r_2)
- object._add(dress)
- object._add(necklace)
- object._add(bracelet_l)
- object._add(bracelet_r)
- object._add(shoes)
- object._add(hat)
diff --git a/scripts/starter_clothing/crafting_artisan_wookiee_female.py b/scripts/starter_clothing/crafting_artisan_wookiee_female.py
deleted file mode 100644
index aa6fb915..00000000
--- a/scripts/starter_clothing/crafting_artisan_wookiee_female.py
+++ /dev/null
@@ -1,8 +0,0 @@
-import sys
-
-def CraftingArtisanWookieeFemale(core, object):
- shirt = core.objectService.createObject('object/tangible/wearables/wookiee/shared_wke_shirt_s02.iff', object.getPlanet())
- skirt = core.objectService.createObject('object/tangible/wearables/wookiee/shared_wke_skirt_s03.iff', object.getPlanet())
- inventory = object.getSlottedObject('inventory')
- object._add(shirt)
- object._add(skirt)
\ No newline at end of file
diff --git a/scripts/starter_clothing/crafting_artisan_wookiee_male.py b/scripts/starter_clothing/crafting_artisan_wookiee_male.py
deleted file mode 100644
index 841dfd41..00000000
--- a/scripts/starter_clothing/crafting_artisan_wookiee_male.py
+++ /dev/null
@@ -1,8 +0,0 @@
-import sys
-
-def CraftingArtisanWookieeMale(core, object):
- shirt = core.objectService.createObject('object/tangible/wearables/wookiee/shared_wke_shirt_s02.iff', object.getPlanet())
- skirt = core.objectService.createObject('object/tangible/wearables/wookiee/shared_wke_skirt_s03.iff', object.getPlanet())
- inventory = object.getSlottedObject('inventory')
- object._add(shirt)
- object._add(skirt)
\ No newline at end of file
diff --git a/scripts/starter_clothing/outdoors_scout_humanoid_female.py b/scripts/starter_clothing/outdoors_scout_humanoid_female.py
deleted file mode 100644
index a3347f00..00000000
--- a/scripts/starter_clothing/outdoors_scout_humanoid_female.py
+++ /dev/null
@@ -1,22 +0,0 @@
-import sys
-
-def OutdoorScoutHumanoidFemale(core, object):
- vest = core.objectService.createObject('object/tangible/wearables/vest/shared_vest_s04.iff', object.getPlanet())
- bustier = core.objectService.createObject('object/tangible/wearables/bustier/shared_bustier_s02.iff', object.getPlanet())
- pants = core.objectService.createObject('object/tangible/wearables/pants/shared_pants_s13.iff', object.getPlanet())
- gloves = core.objectService.createObject('object/tangible/wearables/gloves/shared_gloves_s06.iff', object.getPlanet())
- bracelet_l = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s05_l.iff', object.getPlanet())
- bracelet_r = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s05_r.iff', object.getPlanet())
- boots = core.objectService.createObject('object/tangible/wearables/boots/shared_boots_s04.iff', object.getPlanet())
- belt = core.objectService.createObject('object/tangible/wearables/belt/shared_npe_belt_02.iff', object.getPlanet())
- necklace = core.objectService.createObject('object/tangible/wearables/necklace/shared_necklace_primitive_03.iff', object.getPlanet())
- inventory = object.getSlottedObject('inventory')
- object._add(vest)
- object._add(bustier)
- object._add(pants)
- object._add(gloves)
- object._add(bracelet_l)
- object._add(bracelet_r)
- object._add(boots)
- object._add(belt)
- object._add(necklace)
diff --git a/scripts/starter_clothing/outdoors_scout_humanoid_male.py b/scripts/starter_clothing/outdoors_scout_humanoid_male.py
deleted file mode 100644
index a6c8d1c4..00000000
--- a/scripts/starter_clothing/outdoors_scout_humanoid_male.py
+++ /dev/null
@@ -1,14 +0,0 @@
-import sys
-
-def OutdoorScoutHumanoidMale(core, object):
- vest = core.objectService.createObject('object/tangible/wearables/vest/shared_vest_hutt_gang_s01.iff', object.getPlanet())
- bracelet = core.objectService.createObject('object/tangible/wearables/bracelet/shared_primitive_bracelet.iff', object.getPlanet())
- pants = core.objectService.createObject('object/tangible/wearables/pants/shared_pants_s04.iff', object.getPlanet())
- belt = core.objectService.createObject('object/tangible/wearables/belt/shared_npe_belt_03.iff', object.getPlanet())
- boots = core.objectService.createObject('object/tangible/wearables/boots/shared_boots_s05.iff', object.getPlanet())
- inventory = object.getSlottedObject('inventory')
- object._add(vest)
- object._add(bracelet)
- object._add(pants)
- object._add(belt)
- object._add(boots)
diff --git a/scripts/starter_clothing/outdoors_scout_ithorian_female.py b/scripts/starter_clothing/outdoors_scout_ithorian_female.py
deleted file mode 100644
index 11fd41ff..00000000
--- a/scripts/starter_clothing/outdoors_scout_ithorian_female.py
+++ /dev/null
@@ -1,10 +0,0 @@
-import sys
-
-def OutdoorScoutIthorianFemale(core, object):
- shirt = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_shirt_s05.iff', object.getPlanet())
- pants = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_pants_s16.iff', object.getPlanet())
- jacket = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_jacket_s02.iff', object.getPlanet())
- inventory = object.getSlottedObject('inventory')
- object._add(shirt)
- object._add(pants)
- object._add(jacket)
\ No newline at end of file
diff --git a/scripts/starter_clothing/outdoors_scout_ithorian_male.py b/scripts/starter_clothing/outdoors_scout_ithorian_male.py
deleted file mode 100644
index 6b824c94..00000000
--- a/scripts/starter_clothing/outdoors_scout_ithorian_male.py
+++ /dev/null
@@ -1,10 +0,0 @@
-import sys
-
-def OutdoorScoutIthorianMale(core, object):
- shirt = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_shirt_s13.iff', object.getPlanet())
- pants = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_pants_s12.iff', object.getPlanet())
- jacket = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_jacket_s03.iff', object.getPlanet())
- inventory = object.getSlottedObject('inventory')
- object._add(shirt)
- object._add(pants)
- object._add(jacket)
\ No newline at end of file
diff --git a/scripts/starter_clothing/outdoors_scout_trandoshan_female.py b/scripts/starter_clothing/outdoors_scout_trandoshan_female.py
deleted file mode 100644
index 8bf336ed..00000000
--- a/scripts/starter_clothing/outdoors_scout_trandoshan_female.py
+++ /dev/null
@@ -1,18 +0,0 @@
-import sys
-
-def OutdoorScoutTrandoshanFemale(core, object):
- vest = core.objectService.createObject('object/tangible/wearables/vest/shared_vest_s04.iff', object.getPlanet())
- bustier = core.objectService.createObject('object/tangible/wearables/bustier/shared_bustier_s02.iff', object.getPlanet())
- pants = core.objectService.createObject('object/tangible/wearables/pants/shared_pants_s13.iff', object.getPlanet())
- bracelet_l = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s05_l.iff', object.getPlanet())
- bracelet_r = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s05_r.iff', object.getPlanet())
- belt = core.objectService.createObject('object/tangible/wearables/belt/shared_npe_belt_02.iff', object.getPlanet())
- necklace = core.objectService.createObject('object/tangible/wearables/necklace/shared_necklace_primitive_03.iff', object.getPlanet())
- inventory = object.getSlottedObject('inventory')
- object._add(vest)
- object._add(bustier)
- object._add(pants)
- object._add(bracelet_l)
- object._add(bracelet_r)
- object._add(belt)
- object._add(necklace)
diff --git a/scripts/starter_clothing/outdoors_scout_trandoshan_male.py b/scripts/starter_clothing/outdoors_scout_trandoshan_male.py
deleted file mode 100644
index de822de3..00000000
--- a/scripts/starter_clothing/outdoors_scout_trandoshan_male.py
+++ /dev/null
@@ -1,12 +0,0 @@
-import sys
-
-def OutdoorScoutTrandoshanMale(core, object):
- vest = core.objectService.createObject('object/tangible/wearables/vest/shared_vest_hutt_gang_s01.iff', object.getPlanet())
- bracelet = core.objectService.createObject('object/tangible/wearables/bracelet/shared_primitive_bracelet.iff', object.getPlanet())
- pants = core.objectService.createObject('object/tangible/wearables/pants/shared_pants_s04.iff', object.getPlanet())
- belt = core.objectService.createObject('object/tangible/wearables/belt/shared_npe_belt_03.iff', object.getPlanet())
- inventory = object.getSlottedObject('inventory')
- object._add(vest)
- object._add(bracelet)
- object._add(pants)
- object._add(belt)
diff --git a/scripts/starter_clothing/outdoors_scout_wookiee_female.py b/scripts/starter_clothing/outdoors_scout_wookiee_female.py
deleted file mode 100644
index c2fca3a7..00000000
--- a/scripts/starter_clothing/outdoors_scout_wookiee_female.py
+++ /dev/null
@@ -1,6 +0,0 @@
-import sys
-
-def OutdoorScoutWookieeFemale(core, object):
- shirt = core.objectService.createObject('object/tangible/wearables/wookiee/shared_wke_shirt_s01.iff', object.getPlanet())
- inventory = object.getSlottedObject('inventory')
- object._add(shirt)
\ No newline at end of file
diff --git a/scripts/starter_clothing/outdoors_scout_wookiee_male.py b/scripts/starter_clothing/outdoors_scout_wookiee_male.py
deleted file mode 100644
index 63a6b6cf..00000000
--- a/scripts/starter_clothing/outdoors_scout_wookiee_male.py
+++ /dev/null
@@ -1,6 +0,0 @@
-import sys
-
-def OutdoorScoutWookieeMale(core, object):
- shirt = core.objectService.createObject('object/tangible/wearables/wookiee/shared_wke_shirt_s01.iff', object.getPlanet())
- inventory = object.getSlottedObject('inventory')
- object._add(shirt)
\ No newline at end of file
diff --git a/scripts/starter_clothing/science_medic_humanoid_female.py b/scripts/starter_clothing/science_medic_humanoid_female.py
deleted file mode 100644
index 5e6ba991..00000000
--- a/scripts/starter_clothing/science_medic_humanoid_female.py
+++ /dev/null
@@ -1,12 +0,0 @@
-import sys
-
-def ScienceMedicHumanoidFemale(core, object):
- jacket = core.objectService.createObject('object/tangible/wearables/jacket/shared_jacket_s26.iff', object.getPlanet())
- pants = core.objectService.createObject('object/tangible/wearables/pants/shared_pants_s08.iff', object.getPlanet())
- shoes = core.objectService.createObject('object/tangible/wearables/shoes/shared_shoes_s01.iff', object.getPlanet())
- necklace = core.objectService.createObject('object/tangible/wearables/necklace/shared_necklace_s01.iff', object.getPlanet())
- inventory = object.getSlottedObject('inventory')
- object._add(jacket)
- object._add(pants)
- object._add(shoes)
- object._add(necklace)
\ No newline at end of file
diff --git a/scripts/starter_clothing/science_medic_humanoid_male.py b/scripts/starter_clothing/science_medic_humanoid_male.py
deleted file mode 100644
index ca19c6e2..00000000
--- a/scripts/starter_clothing/science_medic_humanoid_male.py
+++ /dev/null
@@ -1,10 +0,0 @@
-import sys
-
-def ScienceMedicHumanoidMale(core, object):
- shirt = core.objectService.createObject('object/tangible/wearables/shirt/shared_npe_shirt.iff', object.getPlanet())
- pants = core.objectService.createObject('object/tangible/wearables/pants/shared_pants_s01.iff', object.getPlanet())
- shoes = core.objectService.createObject('object/tangible/wearables/shoes/shared_shoes_s02.iff', object.getPlanet())
- inventory = object.getSlottedObject('inventory')
- object._add(shirt)
- object._add(pants)
- object._add(shoes)
\ No newline at end of file
diff --git a/scripts/starter_clothing/science_medic_ithorian_female.py b/scripts/starter_clothing/science_medic_ithorian_female.py
deleted file mode 100644
index fb7638b8..00000000
--- a/scripts/starter_clothing/science_medic_ithorian_female.py
+++ /dev/null
@@ -1,8 +0,0 @@
-import sys
-
-def ScienceMedicIthorianFemale(core, object):
- shirt = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_shirt_s12.iff', object.getPlanet())
- pants = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_pants_s02.iff', object.getPlanet())
- inventory = object.getSlottedObject('inventory')
- object._add(shirt)
- object._add(pants)
\ No newline at end of file
diff --git a/scripts/starter_clothing/science_medic_ithorian_male.py b/scripts/starter_clothing/science_medic_ithorian_male.py
deleted file mode 100644
index 88ec8b7a..00000000
--- a/scripts/starter_clothing/science_medic_ithorian_male.py
+++ /dev/null
@@ -1,10 +0,0 @@
-import sys
-
-def ScienceMedicIthorianMale(core, object):
- jacket = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_jacket_s01.iff', object.getPlanet())
- shirt = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_shirt_s04.iff', object.getPlanet())
- pants = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_pants_s18.iff', object.getPlanet())
- inventory = object.getSlottedObject('inventory')
- object._add(jacket)
- object._add(shirt)
- object._add(pants)
diff --git a/scripts/starter_clothing/science_medic_trandoshan_female.py b/scripts/starter_clothing/science_medic_trandoshan_female.py
deleted file mode 100644
index 556e8e94..00000000
--- a/scripts/starter_clothing/science_medic_trandoshan_female.py
+++ /dev/null
@@ -1,10 +0,0 @@
-import sys
-
-def ScienceMedicTrandoshanFemale(core, object):
- jacket = core.objectService.createObject('object/tangible/wearables/jacket/shared_jacket_s26.iff', object.getPlanet())
- pants = core.objectService.createObject('object/tangible/wearables/pants/shared_pants_s08.iff', object.getPlanet())
- necklace = core.objectService.createObject('object/tangible/wearables/necklace/shared_necklace_s01.iff', object.getPlanet())
- inventory = object.getSlottedObject('inventory')
- object._add(jacket)
- object._add(pants)
- object._add(necklace)
\ No newline at end of file
diff --git a/scripts/starter_clothing/science_medic_trandoshan_male.py b/scripts/starter_clothing/science_medic_trandoshan_male.py
deleted file mode 100644
index 9b50dd69..00000000
--- a/scripts/starter_clothing/science_medic_trandoshan_male.py
+++ /dev/null
@@ -1,8 +0,0 @@
-import sys
-
-def ScienceMedicTrandoshanMale(core, object):
- shirt = core.objectService.createObject('object/tangible/wearables/shirt/shared_npe_shirt.iff', object.getPlanet())
- pants = core.objectService.createObject('object/tangible/wearables/pants/shared_pants_s01.iff', object.getPlanet())
- inventory = object.getSlottedObject('inventory')
- object._add(shirt)
- object._add(pants)
\ No newline at end of file
diff --git a/scripts/starter_clothing/science_medic_wookiee_female.py b/scripts/starter_clothing/science_medic_wookiee_female.py
deleted file mode 100644
index 9e969888..00000000
--- a/scripts/starter_clothing/science_medic_wookiee_female.py
+++ /dev/null
@@ -1,8 +0,0 @@
-import sys
-
-def ScienceMedicWookieeFemale(core, object):
- hood = core.objectService.createObject('object/tangible/wearables/wookiee/shared_wke_hood_s02.iff', object.getPlanet())
- bandolier = core.objectService.createObject('object/tangible/wearables/bandolier/shared_bandolier_s09.iff', object.getPlanet())
- inventory = object.getSlottedObject('inventory')
- object._add(hood)
- object._add(bandolier)
\ No newline at end of file
diff --git a/scripts/starter_clothing/science_medic_wookiee_male.py b/scripts/starter_clothing/science_medic_wookiee_male.py
deleted file mode 100644
index ba2c8845..00000000
--- a/scripts/starter_clothing/science_medic_wookiee_male.py
+++ /dev/null
@@ -1,8 +0,0 @@
-import sys
-
-def ScienceMedicWookieeMale(core, object):
- hood = core.objectService.createObject('object/tangible/wearables/wookiee/shared_wke_hood_s02.iff', object.getPlanet())
- bandolier = core.objectService.createObject('object/tangible/wearables/bandolier/shared_bandolier_s09.iff', object.getPlanet())
- inventory = object.getSlottedObject('inventory')
- object._add(hood)
- object._add(bandolier)
\ No newline at end of file
diff --git a/scripts/starter_clothing/social_entertainer_humanoid_female.py b/scripts/starter_clothing/social_entertainer_humanoid_female.py
deleted file mode 100644
index 0b9f5157..00000000
--- a/scripts/starter_clothing/social_entertainer_humanoid_female.py
+++ /dev/null
@@ -1,16 +0,0 @@
-import sys
-
-def SocialEntertainerHumanoidFemale(core, object):
- bracelet_l = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s05_l.iff', object.getPlanet())
- bracelet_r = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s05_r.iff', object.getPlanet())
- necklace = core.objectService.createObject('object/tangible/wearables/necklace/shared_necklace_s12.iff', object.getPlanet())
- shoes = core.objectService.createObject('object/tangible/wearables/shoes/shared_shoes_s07.iff', object.getPlanet())
- skirt = core.objectService.createObject('object/tangible/wearables/skirt/shared_npe_entertainer_skirt.iff', object.getPlanet())
- bustier = core.objectService.createObject('object/tangible/wearables/bustier/shared_bustier_s01.iff', object.getPlanet())
- inventory = object.getSlottedObject('inventory')
- object._add(bracelet_l)
- object._add(bracelet_r)
- object._add(necklace)
- object._add(shoes)
- object._add(skirt)
- object._add(bustier)
\ No newline at end of file
diff --git a/scripts/starter_clothing/social_entertainer_humanoid_male.py b/scripts/starter_clothing/social_entertainer_humanoid_male.py
deleted file mode 100644
index c9fcfec6..00000000
--- a/scripts/starter_clothing/social_entertainer_humanoid_male.py
+++ /dev/null
@@ -1,10 +0,0 @@
-import sys
-
-def SocialEntertainerHumanoidMale(core, object):
- vest = core.objectService.createObject('object/tangible/wearables/vest/shared_vest_s15.iff', object.getPlanet())
- skirt = core.objectService.createObject('object/tangible/wearables/skirt/shared_skirt_s05.iff', object.getPlanet())
- shoes = core.objectService.createObject('object/tangible/wearables/shoes/shared_shoes_s01.iff', object.getPlanet())
- inventory = object.getSlottedObject('inventory')
- object._add(vest)
- object._add(skirt)
- object._add(shoes)
\ No newline at end of file
diff --git a/scripts/starter_clothing/social_entertainer_ithorian_female.py b/scripts/starter_clothing/social_entertainer_ithorian_female.py
deleted file mode 100644
index 4afa5c52..00000000
--- a/scripts/starter_clothing/social_entertainer_ithorian_female.py
+++ /dev/null
@@ -1,16 +0,0 @@
-import sys
-
-def SocialEntertainerIthorianFemale(core, object):
- bracelet_l = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s05_l.iff', object.getPlanet())
- bracelet_r = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s05_r.iff', object.getPlanet())
- necklace = core.objectService.createObject('object/tangible/wearables/necklace/shared_necklace_s12.iff', object.getPlanet())
- shoes = core.objectService.createObject('object/tangible/wearables/shoes/shared_shoes_s07.iff', object.getPlanet())
- skirt = core.objectService.createObject('object/tangible/wearables/skirt/shared_npe_entertainer_skirt.iff', object.getPlanet())
- bustier = core.objectService.createObject('object/tangible/wearables/bustier/shared_bustier_s01.iff', object.getPlanet())
- inventory = object.getSlottedObject('inventory')
- object._add(bracelet_l)
- object._add(bracelet_r)
- object._add(necklace)
- object._add(shoes)
- object._add(skirt)
- object._add(bustier)
\ No newline at end of file
diff --git a/scripts/starter_clothing/social_entertainer_ithorian_male.py b/scripts/starter_clothing/social_entertainer_ithorian_male.py
deleted file mode 100644
index a13a5c78..00000000
--- a/scripts/starter_clothing/social_entertainer_ithorian_male.py
+++ /dev/null
@@ -1,10 +0,0 @@
-import sys
-
-def SocialEntertainerIthorianMale(core, object):
- pants = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_pants_s10.iff', object.getPlanet())
- shirt = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_shirt_s08.iff', object.getPlanet())
- dress = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_dress_short_s01.iff', object.getPlanet())
- inventory = object.getSlottedObject('inventory')
- object._add(pants)
- object._add(shirt)
- object._add(dress)
\ No newline at end of file
diff --git a/scripts/starter_clothing/social_entertainer_trandoshan_female.py b/scripts/starter_clothing/social_entertainer_trandoshan_female.py
deleted file mode 100644
index b77afa50..00000000
--- a/scripts/starter_clothing/social_entertainer_trandoshan_female.py
+++ /dev/null
@@ -1,14 +0,0 @@
-import sys
-
-def SocialEntertainerTrandoshanFemale(core, object):
- bracelet_l = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s05_l.iff', object.getPlanet())
- bracelet_r = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s05_r.iff', object.getPlanet())
- necklace = core.objectService.createObject('object/tangible/wearables/necklace/shared_necklace_s12.iff', object.getPlanet())
- skirt = core.objectService.createObject('object/tangible/wearables/skirt/shared_npe_entertainer_skirt.iff', object.getPlanet())
- bustier = core.objectService.createObject('object/tangible/wearables/bustier/shared_bustier_s01.iff', object.getPlanet())
- inventory = object.getSlottedObject('inventory')
- object._add(bracelet_l)
- object._add(bracelet_r)
- object._add(necklace)
- object._add(skirt)
- object._add(bustier)
\ No newline at end of file
diff --git a/scripts/starter_clothing/social_entertainer_trandoshan_male.py b/scripts/starter_clothing/social_entertainer_trandoshan_male.py
deleted file mode 100644
index cd9bcc6c..00000000
--- a/scripts/starter_clothing/social_entertainer_trandoshan_male.py
+++ /dev/null
@@ -1,8 +0,0 @@
-import sys
-
-def SocialEntertainerTrandoshanMale(core, object):
- vest = core.objectService.createObject('object/tangible/wearables/vest/shared_vest_s15.iff', object.getPlanet())
- skirt = core.objectService.createObject('object/tangible/wearables/skirt/shared_skirt_s05.iff', object.getPlanet())
- inventory = object.getSlottedObject('inventory')
- object._add(vest)
- object._add(skirt)
\ No newline at end of file
diff --git a/scripts/starter_clothing/social_entertainer_twilek_female.py b/scripts/starter_clothing/social_entertainer_twilek_female.py
deleted file mode 100644
index e5dcdd36..00000000
--- a/scripts/starter_clothing/social_entertainer_twilek_female.py
+++ /dev/null
@@ -1,18 +0,0 @@
-import sys
-
-def SocialEntertainerTwilekFemale(core, object):
- bracelet_l = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s05_l.iff', object.getPlanet())
- bracelet_r = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s05_r.iff', object.getPlanet())
- necklace = core.objectService.createObject('object/tangible/wearables/necklace/shared_necklace_s12.iff', object.getPlanet())
- shoes = core.objectService.createObject('object/tangible/wearables/shoes/shared_shoes_s07.iff', object.getPlanet())
- skirt = core.objectService.createObject('object/tangible/wearables/skirt/shared_npe_entertainer_skirt.iff', object.getPlanet())
- bustier = core.objectService.createObject('object/tangible/wearables/bustier/shared_bustier_s01.iff', object.getPlanet())
- hat = core.objectService.createObject('object/tangible/wearables/hat/shared_hat_twilek_s03.iff', object.getPlanet())
- inventory = object.getSlottedObject('inventory')
- object._add(bracelet_l)
- object._add(bracelet_r)
- object._add(necklace)
- object._add(shoes)
- object._add(skirt)
- object._add(bustier)
- object._add(hat)
\ No newline at end of file
diff --git a/scripts/starter_clothing/social_entertainer_wookiee_female.py b/scripts/starter_clothing/social_entertainer_wookiee_female.py
deleted file mode 100644
index a8cdfee0..00000000
--- a/scripts/starter_clothing/social_entertainer_wookiee_female.py
+++ /dev/null
@@ -1,8 +0,0 @@
-import sys
-
-def SocialEntertainerWookieeFemale(core, object):
- gloves = core.objectService.createObject('object/tangible/wearables/wookiee/shared_wke_gloves_s04.iff', object.getPlanet())
- hood = core.objectService.createObject('object/tangible/wearables/wookiee/shared_wke_hood_s03.iff', object.getPlanet())
- inventory = object.getSlottedObject('inventory')
- object._add(gloves)
- object._add(hood)
\ No newline at end of file
diff --git a/scripts/starter_clothing/social_entertainer_wookiee_male.py b/scripts/starter_clothing/social_entertainer_wookiee_male.py
deleted file mode 100644
index ed797f8c..00000000
--- a/scripts/starter_clothing/social_entertainer_wookiee_male.py
+++ /dev/null
@@ -1,8 +0,0 @@
-import sys
-
-def SocialEntertainerWookieeMale(core, object):
- gloves = core.objectService.createObject('object/tangible/wearables/wookiee/shared_wke_gloves_s04.iff', object.getPlanet())
- hood = core.objectService.createObject('object/tangible/wearables/wookiee/shared_wke_hood_s03.iff', object.getPlanet())
- inventory = object.getSlottedObject('inventory')
- object._add(gloves)
- object._add(hood)
\ No newline at end of file
diff --git a/scripts/starterclothing.py b/scripts/starterclothing.py
deleted file mode 100644
index f24afeb3..00000000
--- a/scripts/starterclothing.py
+++ /dev/null
@@ -1,298 +0,0 @@
-
-
-import sys
-
-def CreateStarterClothing(core, object, starterProfession, raceTemplate):
-
- if starterProfession == 'outdoors_scout' and raceTemplate == 'object/creature/player/human_male.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "OutdoorScoutHumanoidMale", "outdoors_scout_humanoid_male", core, object)
- elif starterProfession == 'outdoors_scout' and raceTemplate == 'object/creature/player/zabrak_male.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "OutdoorScoutHumanoidMale", "outdoors_scout_humanoid_male", core, object)
- elif starterProfession == 'outdoors_scout' and raceTemplate == 'object/creature/player/bothan_male.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "OutdoorScoutHumanoidMale", "outdoors_scout_humanoid_male", core, object)
- elif starterProfession == 'outdoors_scout' and raceTemplate == 'object/creature/player/sullustan_male.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "OutdoorScoutHumanoidMale", "outdoors_scout_humanoid_male", core, object)
- elif starterProfession == 'outdoors_scout' and raceTemplate == 'object/creature/player/twilek_male.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "OutdoorScoutHumanoidMale", "outdoors_scout_humanoid_male", core, object)
- elif starterProfession == 'outdoors_scout' and raceTemplate == 'object/creature/player/moncal_male.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "OutdoorScoutHumanoidMale", "outdoors_scout_humanoid_male", core, object)
- elif starterProfession == 'outdoors_scout' and raceTemplate == 'object/creature/player/rodian_male.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "OutdoorScoutHumanoidMale", "outdoors_scout_humanoid_male", core, object)
-
- elif starterProfession == 'outdoors_scout' and raceTemplate == 'object/creature/player/human_female.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "OutdoorScoutHumanoidFemale", "outdoors_scout_humanoid_female", core, object)
- elif starterProfession == 'outdoors_scout' and raceTemplate == 'object/creature/player/zabrak_female.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "OutdoorScoutHumanoidFemale", "outdoors_scout_humanoid_female", core, object)
- elif starterProfession == 'outdoors_scout' and raceTemplate == 'object/creature/player/bothan_female.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "OutdoorScoutHumanoidFemale", "outdoors_scout_humanoid_female", core, object)
- elif starterProfession == 'outdoors_scout' and raceTemplate == 'object/creature/player/sullustan_female.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "OutdoorScoutHumanoidFemale", "outdoors_scout_humanoid_female", core, object)
- elif starterProfession == 'outdoors_scout' and raceTemplate == 'object/creature/player/twilek_female.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "OutdoorScoutHumanoidFemale", "outdoors_scout_humanoid_female", core, object)
- elif starterProfession == 'outdoors_scout' and raceTemplate == 'object/creature/player/moncal_female.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "OutdoorScoutHumanoidFemale", "outdoors_scout_humanoid_female", core, object)
- elif starterProfession == 'outdoors_scout' and raceTemplate == 'object/creature/player/rodian_female.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "OutdoorScoutHumanoidFemale", "outdoors_scout_humanoid_female", core, object)
-
- elif starterProfession == 'outdoors_scout' and raceTemplate == 'object/creature/player/trandoshan_male.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "OutdoorScoutTrandoshanMale", "outdoors_scout_trandoshan_male", core, object)
-
- elif starterProfession == 'outdoors_scout' and raceTemplate == 'object/creature/player/trandoshan_female.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "OutdoorScoutTrandoshanFemale", "outdoors_scout_trandoshan_female", core, object)
-
- elif starterProfession == 'outdoors_scout' and raceTemplate == 'object/creature/player/wookiee_male.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "OutdoorScoutWookieeMale", "outdoors_scout_wookiee_male", core, object)
-
- elif starterProfession == 'outdoors_scout' and raceTemplate == 'object/creature/player/wookiee_female.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "OutdoorScoutWookieeFemale", "outdoors_scout_wookiee_female", core, object)
-
- elif starterProfession == 'outdoors_scout' and raceTemplate == 'object/creature/player/ithorian_male.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "OutdoorScoutIthorianMale", "outdoors_scout_ithorian_male", core, object)
-
- elif starterProfession == 'outdoors_scout' and raceTemplate == 'object/creature/player/ithorian_female.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "OutdoorScoutIthorianFemale", "outdoors_scout_ithorian_female", core, object)
-
- elif starterProfession == 'combat_brawler' and raceTemplate == 'object/creature/player/human_male.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "CombatBrawlerHumanoidMale", "combat_brawler_humanoid_male", core, object)
- elif starterProfession == 'combat_brawler' and raceTemplate == 'object/creature/player/zabrak_male.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "CombatBrawlerHumanoidMale", "combat_brawler_humanoid_male", core, object)
- elif starterProfession == 'combat_brawler' and raceTemplate == 'object/creature/player/bothan_male.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "CombatBrawlerHumanoidMale", "combat_brawler_humanoid_male", core, object)
- elif starterProfession == 'combat_brawler' and raceTemplate == 'object/creature/player/sullustan_male.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "CombatBrawlerHumanoidMale", "combat_brawler_humanoid_male", core, object)
- elif starterProfession == 'combat_brawler' and raceTemplate == 'object/creature/player/twilek_male.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "CombatBrawlerHumanoidMale", "combat_brawler_humanoid_male", core, object)
- elif starterProfession == 'combat_brawler' and raceTemplate == 'object/creature/player/moncal_male.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "CombatBrawlerHumanoidMale", "combat_brawler_humanoid_male", core, object)
- elif starterProfession == 'combat_brawler' and raceTemplate == 'object/creature/player/rodian_male.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "CombatBrawlerHumanoidMale", "combat_brawler_humanoid_male", core, object)
-
- elif starterProfession == 'combat_brawler' and raceTemplate == 'object/creature/player/human_female.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "CombatBrawlerHumanoidFemale", "combat_brawler_humanoid_female", core, object)
- elif starterProfession == 'combat_brawler' and raceTemplate == 'object/creature/player/zabrak_female.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "CombatBrawlerHumanoidFemale", "combat_brawler_humanoid_female", core, object)
- elif starterProfession == 'combat_brawler' and raceTemplate == 'object/creature/player/bothan_female.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "CombatBrawlerHumanoidFemale", "combat_brawler_humanoid_female", core, object)
- elif starterProfession == 'combat_brawler' and raceTemplate == 'object/creature/player/sullustan_female.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "CombatBrawlerHumanoidFemale", "combat_brawler_humanoid_female", core, object)
- elif starterProfession == 'combat_brawler' and raceTemplate == 'object/creature/player/twilek_female.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "CombatBrawlerHumanoidFemale", "combat_brawler_humanoid_female", core, object)
- elif starterProfession == 'combat_brawler' and raceTemplate == 'object/creature/player/moncal_female.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "CombatBrawlerHumanoidFemale", "combat_brawler_humanoid_female", core, object)
- elif starterProfession == 'combat_brawler' and raceTemplate == 'object/creature/player/rodian_female.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "CombatBrawlerHumanoidFemale", "combat_brawler_humanoid_female", core, object)
-
- elif starterProfession == 'combat_brawler' and raceTemplate == 'object/creature/player/trandoshan_male.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "CombatBrawlerTrandoshanMale", "combat_brawler_trandoshan_male", core, object)
-
- elif starterProfession == 'combat_brawler' and raceTemplate == 'object/creature/player/trandoshan_female.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "CombatBrawlerOutdoorScoutTrandoshanFemale", "combat_brawler_trandoshan_female", core, object)
-
- elif starterProfession == 'combat_brawler' and raceTemplate == 'object/creature/player/wookiee_male.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "CombatBrawlerWookieeMale", "combat_brawler_wookiee_male", core, object)
-
- elif starterProfession == 'combat_brawler' and raceTemplate == 'object/creature/player/wookiee_female.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "CombatBrawlerWookieeFemale", "combat_brawler_wookiee_female", core, object)
-
- elif starterProfession == 'combat_brawler' and raceTemplate == 'object/creature/player/ithorian_male.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "CombatBrawlerIthorianMale", "combat_brawler_ithorian_male", core, object)
-
- elif starterProfession == 'combat_brawler' and raceTemplate == 'object/creature/player/ithorian_female.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "CombatBrawlerIthorianFemale", "combat_brawler_ithorian_female", core, object)
-
-
- elif starterProfession == 'combat_marksman' and raceTemplate == 'object/creature/player/human_male.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "CombatMarksmanHumanoidMale", "combat_marksman_humanoid_male", core, object)
- elif starterProfession == 'combat_marksman' and raceTemplate == 'object/creature/player/zabrak_male.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "CombatMarksmanHumanoidMale", "combat_marksman_humanoid_male", core, object)
- elif starterProfession == 'combat_marksman' and raceTemplate == 'object/creature/player/bothan_male.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "CombatMarksmanHumanoidMale", "combat_marksman_humanoid_male", core, object)
- elif starterProfession == 'combat_marksman' and raceTemplate == 'object/creature/player/sullustan_male.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "CombatMarksmanHumanoidMale", "combat_marksman_humanoid_male", core, object)
- elif starterProfession == 'combat_marksman' and raceTemplate == 'object/creature/player/twilek_male.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "CombatMarksmanHumanoidMale", "combat_marksman_humanoid_male", core, object)
- elif starterProfession == 'combat_marksman' and raceTemplate == 'object/creature/player/moncal_male.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "CombatMarksmanHumanoidMale", "combat_marksman_humanoid_male", core, object)
- elif starterProfession == 'combat_marksman' and raceTemplate == 'object/creature/player/rodian_male.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "CombatMarksmanHumanoidMale", "combat_marksman_humanoid_male", core, object)
-
- elif starterProfession == 'combat_marksman' and raceTemplate == 'object/creature/player/human_female.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "CombatMarksmanHumanoidFemale", "combat_marksman_humanoid_female", core, object)
- elif starterProfession == 'combat_marksman' and raceTemplate == 'object/creature/player/zabrak_female.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "CombatMarksmanHumanoidFemale", "combat_marksman_humanoid_female", core, object)
- elif starterProfession == 'combat_marksman' and raceTemplate == 'object/creature/player/bothan_female.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "CombatMarksmanHumanoidFemale", "combat_marksman_humanoid_female", core, object)
- elif starterProfession == 'combat_marksman' and raceTemplate == 'object/creature/player/sullustan_female.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "CombatMarksmanHumanoidFemale", "combat_marksman_humanoid_female", core, object)
- elif starterProfession == 'combat_marksman' and raceTemplate == 'object/creature/player/twilek_female.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "CombatMarksmanHumanoidFemale", "combat_marksman_humanoid_female", core, object)
- elif starterProfession == 'combat_marksman' and raceTemplate == 'object/creature/player/moncal_female.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "CombatMarksmanHumanoidFemale", "combat_marksman_humanoid_female", core, object)
- elif starterProfession == 'combat_marksman' and raceTemplate == 'object/creature/player/rodian_female.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "CombatMarksmanHumanoidFemale", "combat_marksman_humanoid_female", core, object)
-
- elif starterProfession == 'combat_marksman' and raceTemplate == 'object/creature/player/trandoshan_male.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "CombatMarksmanTrandoshanMale", "combat_marksman_trandoshan_male", core, object)
-
- elif starterProfession == 'combat_marksman' and raceTemplate == 'object/creature/player/trandoshan_female.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "CombatMarksmanTrandoshanFemale", "combat_marksman_trandoshan_female", core, object)
-
- elif starterProfession == 'combat_marksman' and raceTemplate == 'object/creature/player/wookiee_male.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "CombatMarksmanWookieeMale", "combat_marksman_wookiee_male", core, object)
-
- elif starterProfession == 'combat_marksman' and raceTemplate == 'object/creature/player/wookiee_female.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "CombatMarksmanWookieeFemale", "combat_marksman_wookiee_female", core, object)
-
- elif starterProfession == 'combat_marksman' and raceTemplate == 'object/creature/player/ithorian_male.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "CombatMarksmanIthorianMale", "combat_marksman_ithorian_male", core, object)
-
- elif starterProfession == 'combat_marksman' and raceTemplate == 'object/creature/player/ithorian_female.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "CombatMarksmanIthorianFemale", "combat_marksman_ithorian_female", core, object)
-
- elif starterProfession == 'crafting_artisan' and raceTemplate == 'object/creature/player/human_male.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "CraftingArtisanHumanoidMale", "crafting_artisan_humanoid_male", core, object)
- elif starterProfession == 'crafting_artisan' and raceTemplate == 'object/creature/player/zabrak_male.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "CraftingArtisanHumanoidMale", "crafting_artisan_humanoid_male", core, object)
- elif starterProfession == 'crafting_artisan' and raceTemplate == 'object/creature/player/bothan_male.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "CraftingArtisanHumanoidMale", "crafting_artisan_humanoid_male", core, object)
- elif starterProfession == 'crafting_artisan' and raceTemplate == 'object/creature/player/sullustan_male.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "CraftingArtisanHumanoidMale", "crafting_artisan_humanoid_male", core, object)
- elif starterProfession == 'crafting_artisan' and raceTemplate == 'object/creature/player/twilek_male.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "CraftingArtisanHumanoidMale", "crafting_artisan_humanoid_male", core, object)
- elif starterProfession == 'crafting_artisan' and raceTemplate == 'object/creature/player/moncal_male.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "CraftingArtisanHumanoidMale", "crafting_artisan_humanoid_male", core, object)
- elif starterProfession == 'crafting_artisan' and raceTemplate == 'object/creature/player/rodian_male.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "CraftingArtisanHumanoidMale", "crafting_artisan_humanoid_male", core, object)
-
- elif starterProfession == 'crafting_artisan' and raceTemplate == 'object/creature/player/human_female.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "CraftingArtisanHumanoidFemale", "crafting_artisan_humanoid_female", core, object)
- elif starterProfession == 'crafting_artisan' and raceTemplate == 'object/creature/player/zabrak_female.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "CraftingArtisanHumanoidFemale", "crafting_artisan_humanoid_female", core, object)
- elif starterProfession == 'crafting_artisan' and raceTemplate == 'object/creature/player/bothan_female.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "CraftingArtisanHumanoidFemale", "crafting_artisan_humanoid_female", core, object)
- elif starterProfession == 'crafting_artisan' and raceTemplate == 'object/creature/player/sullustan_female.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "CraftingArtisanHumanoidFemale", "crafting_artisan_humanoid_female", core, object)
- elif starterProfession == 'crafting_artisan' and raceTemplate == 'object/creature/player/twilek_female.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "CraftingArtisanTwilekFemale", "crafting_artisan_twilek_female", core, object)
- elif starterProfession == 'crafting_artisan' and raceTemplate == 'object/creature/player/moncal_female.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "CraftingArtisanHumanoidFemale", "crafting_artisan_humanoid_female", core, object)
- elif starterProfession == 'crafting_artisan' and raceTemplate == 'object/creature/player/rodian_female.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "CraftingArtisanHumanoidFemale", "crafting_artisan_humanoid_female", core, object)
-
- elif starterProfession == 'crafting_artisan' and raceTemplate == 'object/creature/player/trandoshan_male.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "CraftingArtisanTrandoshanMale", "crafting_artisan_trandoshan_male", core, object)
-
- elif starterProfession == 'crafting_artisan' and raceTemplate == 'object/creature/player/trandoshan_female.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "CraftingArtisanTrandoshanFemale", "crafting_artisan_trandoshan_female", core, object)
-
- elif starterProfession == 'crafting_artisan' and raceTemplate == 'object/creature/player/wookiee_male.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "CraftingArtisanWookieeMale", "crafting_artisan_wookiee_male", core, object)
-
- elif starterProfession == 'crafting_artisan' and raceTemplate == 'object/creature/player/wookiee_female.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "CraftingArtisanWookieeFemale", "crafting_artisan_wookiee_female", core, object)
-
- elif starterProfession == 'crafting_artisan' and raceTemplate == 'object/creature/player/ithorian_male.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "CraftingArtisanIthorianMale", "crafting_artisan_ithorian_male", core, object)
-
- elif starterProfession == 'crafting_artisan' and raceTemplate == 'object/creature/player/ithorian_female.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "CraftingArtisanIthorianFemale", "crafting_artisan_ithorian_female", core, object)
-
-
- elif starterProfession == 'science_medic' and raceTemplate == 'object/creature/player/human_male.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "ScienceMedicHumanoidMale", "science_medic_humanoid_male", core, object)
- elif starterProfession == 'science_medic' and raceTemplate == 'object/creature/player/zabrak_male.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "ScienceMedicHumanoidMale", "science_medic_humanoid_male", core, object)
- elif starterProfession == 'science_medic' and raceTemplate == 'object/creature/player/bothan_male.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "ScienceMedicHumanoidMale", "science_medic_humanoid_male", core, object)
- elif starterProfession == 'science_medic' and raceTemplate == 'object/creature/player/sullustan_male.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "ScienceMedicHumanoidMale", "science_medic_humanoid_male", core, object)
- elif starterProfession == 'science_medic' and raceTemplate == 'object/creature/player/twilek_male.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "ScienceMedicHumanoidMale", "science_medic_humanoid_male", core, object)
- elif starterProfession == 'science_medic' and raceTemplate == 'object/creature/player/moncal_male.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "ScienceMedicHumanoidMale", "science_medic_humanoid_male", core, object)
- elif starterProfession == 'science_medic' and raceTemplate == 'object/creature/player/rodian_male.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "ScienceMedicHumanoidMale", "science_medic_humanoid_male", core, object)
-
- elif starterProfession == 'science_medic' and raceTemplate == 'object/creature/player/human_female.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "ScienceMedicHumanoidFemale", "science_medic_humanoid_female", core, object)
- elif starterProfession == 'science_medic' and raceTemplate == 'object/creature/player/zabrak_female.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "ScienceMedicHumanoidFemale", "science_medic_humanoid_female", core, object)
- elif starterProfession == 'science_medic' and raceTemplate == 'object/creature/player/bothan_female.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "ScienceMedicHumanoidFemale", "science_medic_humanoid_female", core, object)
- elif starterProfession == 'science_medic' and raceTemplate == 'object/creature/player/sullustan_female.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "ScienceMedicHumanoidFemale", "science_medic_humanoid_female", core, object)
- elif starterProfession == 'science_medic' and raceTemplate == 'object/creature/player/twilek_female.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "ScienceMedicHumanoidFemale", "science_medic_humanoid_female", core, object)
- elif starterProfession == 'science_medic' and raceTemplate == 'object/creature/player/moncal_female.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "ScienceMedicHumanoidFemale", "science_medic_humanoid_female", core, object)
- elif starterProfession == 'science_medic' and raceTemplate == 'object/creature/player/rodian_female.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "ScienceMedicHumanoidFemale", "science_medic_humanoid_female", core, object)
-
- elif starterProfession == 'science_medic' and raceTemplate == 'object/creature/player/trandoshan_male.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "ScienceMedicTrandoshanMale", "science_medic_trandoshan_male", core, object)
-
- elif starterProfession == 'science_medic' and raceTemplate == 'object/creature/player/trandoshan_female.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "ScienceMedicTrandoshanFemale", "science_medic_trandoshan_female", core, object)
-
- elif starterProfession == 'science_medic' and raceTemplate == 'object/creature/player/wookiee_male.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "ScienceMedicWookieeMale", "science_medic_wookiee_male", core, object)
-
- elif starterProfession == 'science_medic' and raceTemplate == 'object/creature/player/wookiee_female.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "ScienceMedicWookieeFemale", "science_medic_wookiee_female", core, object)
-
- elif starterProfession == 'science_medic' and raceTemplate == 'object/creature/player/ithorian_male.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "ScienceMedicIthorianMale", "science_medic_ithorian_male", core, object)
-
- elif starterProfession == 'science_medic' and raceTemplate == 'object/creature/player/ithorian_female.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "ScienceMedicIthorianFemale", "science_medic_ithorian_female", core, object)
-
-
-
- elif starterProfession == 'social_entertainer' and raceTemplate == 'object/creature/player/human_male.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "SocialEntertainerHumanoidMale", "social_entertainer_humanoid_male", core, object)
- elif starterProfession == 'social_entertainer' and raceTemplate == 'object/creature/player/zabrak_male.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "SocialEntertainerHumanoidMale", "social_entertainer_humanoid_male", core, object)
- elif starterProfession == 'social_entertainer' and raceTemplate == 'object/creature/player/bothan_male.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "SocialEntertainerHumanoidMale", "social_entertainer_humanoid_male", core, object)
- elif starterProfession == 'social_entertainer' and raceTemplate == 'object/creature/player/sullustan_male.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "SocialEntertainerHumanoidMale", "social_entertainer_humanoid_male", core, object)
- elif starterProfession == 'social_entertainer' and raceTemplate == 'object/creature/player/twilek_male.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "SocialEntertainerHumanoidMale", "social_entertainer_humanoid_male", core, object)
- elif starterProfession == 'social_entertainer' and raceTemplate == 'object/creature/player/moncal_male.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "SocialEntertainerHumanoidMale", "social_entertainer_humanoid_male", core, object)
- elif starterProfession == 'social_entertainer' and raceTemplate == 'object/creature/player/rodian_male.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "SocialEntertainerHumanoidMale", "social_entertainer_humanoid_male", core, object)
-
- elif starterProfession == 'social_entertainer' and raceTemplate == 'object/creature/player/human_female.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "SocialEntertainerHumanoidFemale", "social_entertainer_humanoid_female", core, object)
- elif starterProfession == 'social_entertainer' and raceTemplate == 'object/creature/player/zabrak_female.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "SocialEntertainerHumanoidFemale", "social_entertainer_humanoid_female", core, object)
- elif starterProfession == 'social_entertainer' and raceTemplate == 'object/creature/player/bothan_female.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "SocialEntertainerHumanoidFemale", "social_entertainer_humanoid_female", core, object)
- elif starterProfession == 'social_entertainer' and raceTemplate == 'object/creature/player/sullustan_female.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "SocialEntertainerHumanoidFemale", "social_entertainer_humanoid_female", core, object)
- elif starterProfession == 'social_entertainer' and raceTemplate == 'object/creature/player/twilek_female.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "SocialEntertainerTwilekFemale", "social_entertainer_twilek_female", core, object)
- elif starterProfession == 'social_entertainer' and raceTemplate == 'object/creature/player/moncal_female.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "SocialEntertainerHumanoidFemale", "social_entertainer_humanoid_female", core, object)
- elif starterProfession == 'social_entertainer' and raceTemplate == 'object/creature/player/rodian_female.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "SocialEntertainerHumanoidFemale", "social_entertainer_humanoid_female", core, object)
-
- elif starterProfession == 'social_entertainer' and raceTemplate == 'object/creature/player/trandoshan_male.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "SocialEntertainerTrandoshanMale", "social_entertainer_trandoshan_male", core, object)
-
- elif starterProfession == 'social_entertainer' and raceTemplate == 'object/creature/player/trandoshan_female.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "SocialEntertainerTrandoshanFemale", "social_entertainer_trandoshan_female", core, object)
-
- elif starterProfession == 'social_entertainer' and raceTemplate == 'object/creature/player/wookiee_male.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "SocialEntertainerWookieeMale", "social_entertainer_wookiee_male", core, object)
-
- elif starterProfession == 'social_entertainer' and raceTemplate == 'object/creature/player/wookiee_female.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "SocialEntertainerWookieeFemale", "social_entertainer_wookiee_female", core, object)
-
- elif starterProfession == 'social_entertainer' and raceTemplate == 'object/creature/player/ithorian_male.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "SocialEntertainerIthorianMale", "social_entertainer_ithorian_male", core, object)
-
- elif starterProfession == 'social_entertainer' and raceTemplate == 'object/creature/player/ithorian_female.iff':
- core.scriptService.callScript("scripts/starter_clothing/", "SocialEntertainerIthorianFemale", "social_entertainer_ithorian_female", core, object)
-
\ No newline at end of file
diff --git a/scripts/staticNPCs/junk_dealer.py b/scripts/staticNPCs/junk_dealer.py
new file mode 100644
index 00000000..d2965171
--- /dev/null
+++ b/scripts/staticNPCs/junk_dealer.py
@@ -0,0 +1,6 @@
+
+
+
+
+object = stcSvc.spawnObject('object/mobile/shared_respec_seller_f_1.iff', 'tatooine', long(0), float(3533.14), float(5), float(-4788.86), float(-0.3327), float(0.9288))
+object.setOptionsBitmask(264)
\ No newline at end of file
diff --git a/scripts/static_spawns/kaas.py b/scripts/static_spawns/kaas.py
new file mode 100644
index 00000000..7bcd17d9
--- /dev/null
+++ b/scripts/static_spawns/kaas.py
@@ -0,0 +1,87 @@
+import sys
+# Project SWG: Dromund Kaas: Static Spawns
+# (C)2014 ProjectSWG
+
+# Do not make ANY changes to this script without direct approval from Levarris!
+
+from resources.datatables import Options
+from resources.datatables import StateStatus
+
+def addPlanetSpawns(core, planet):
+
+
+ stcSvc = core.staticService
+ objSvc = core.objectService
+#Dark Temple Area
+ #Structures
+ stcSvc.spawnObject('object/building/military/shared_military_base_police_station_imperial_lok_otto.iff', 'kaas', long(0), float(-5117.8), float(80.0), float(-2314.1), float(0), float(0))
+ stcSvc.spawnObject('object/building/player/shared_player_house_corellia_medium_style_01.iff', 'kaas', long(0), float(-5078.6), float(80.0), float(-2302.5), float(0), float(0))
+ stcSvc.spawnObject('object/building/general/shared_bunker_imperial_weapons_research_facility_01.iff', 'kaas', long(0), float(-5159.5), float(80.0), float(-2298.7), float(0), float(0))
+ stcSvc.spawnObject('object/building/content/aurilia/shared_aurilia_pyramid_hut.iff', 'kaas', long(0), float(-5163.9), float(79.0), float(-2369.6), float(0.71), float(0.71))
+ stcSvc.spawnObject('object/building/content/aurilia/shared_aurilia_pyramid_hut.iff', 'kaas', long(0), float(-5163.9), float(79.0), float(-2351.6), float(0.71), float(0.71))
+ stcSvc.spawnObject('object/building/content/aurilia/shared_aurilia_pyramid_hut.iff', 'kaas', long(0), float(-5072.1), float(79.0), float(-2369.6), float(-0.71), float(0.71))
+ stcSvc.spawnObject('object/building/content/aurilia/shared_aurilia_pyramid_hut.iff', 'kaas', long(0), float(-5072.1), float(79.0), float(-2351.6), float(-0.71), float(0.71))
+ stcSvc.spawnObject('object/building/military/shared_outpost_cloning_facility_s02.iff', long(0), 'kaas', long(0), float(-5072.1), float(80.0), float(-2279.5), float(0.71), float(0), float(-0.71), float(0))
+
+ #Terminals
+ stcSvc.spawnObject('object/tangible/terminal/shared_terminal_bank.iff', 'kaas', long(0), float(-5080.8), float(80.0), float(-2275.7), float(-0.71), float(0.71))
+ stcSvc.spawnObject('object/tangible/terminal/shared_terminal_mission.iff', 'kaas', long(0), float(-5108.7), float(80.0), float(-2289.2), float(0), float(0))
+ stcSvc.spawnObject('object/tangible/terminal/shared_terminal_mission.iff', 'kaas', long(0), float(-5127.3), float(80.0), float(-2289.2), float(0), float(0))
+
+
+ #Decor
+ stcSvc.spawnObject('object/static/vehicle/shared_static_lambda_shuttle.iff', 'kaas', long(0), float(-5078.1), float(80.0), float(-2256.0), float(-0.70), float(0.70))
+ stcSvc.spawnObject('object/building/content/aurilia/shared_aurilia_crystal_centerpiece.iff', 'kaas', long(0), float(-5121.5), float(80.0), float(-2360.5), float(0), float(0))
+ stcSvc.spawnObject('object/static/structure/tatooine/shared_antenna_tatt_style_1.iff', 'kaas', long(0), float(-5146.7), float(80.0), float(-2301.7), float(0), float(0))
+ stcSvc.spawnObject('object/static/installation/shared_mockup_power_generator_fusion_style_1.iff', 'kaas', long(0), float(-5146.7), float(80.0), float(-2301.7), float(0.71), float(0.71))
+ stcSvc.spawnObject('object/static/installation/shared_mockup_power_generator_photo_bio_style_1.iff', 'kaas', long(0), float(-5146.9), float(80.0), float(-2294.5), float(0), float(0))
+ stcSvc.spawnObject('object/static/vehicle/shared_static_tie_bomber.iff', 'kaas', long(0), float(-5158.5), float(80.5), float(-2232.4), float(0.70), float(0.70))
+ stcSvc.spawnObject('object/static/vehicle/shared_static_tie_fighter.iff', 'kaas', long(0), float(-5158.5), float(85.0), float(-2257.4), float(0.70), float(0.70))
+
+
+ #Streetlamps
+ stcSvc.spawnObject('object/static/structure/general/shared_streetlamp_large_blue_style_01_on.iff', 'kaas', long(0), float(-5109.9), float(80.0), float(-2289.9), float(0), float(0))
+ stcSvc.spawnObject('object/static/structure/general/shared_streetlamp_large_blue_style_01_on.iff', 'kaas', long(0), float(-5125.9), float(80.0), float(-2289.9), float(0), float(0))
+ stcSvc.spawnObject('object/static/structure/general/shared_streetlamp_large_blue_style_01_on.iff', 'kaas', long(0), float(-5115.0), float(80.0), float(-2346.6), float(0), float(0))
+ stcSvc.spawnObject('object/static/structure/general/shared_streetlamp_large_blue_style_01_on.iff', 'kaas', long(0), float(-5120.8), float(80.0), float(-2346.6), float(0), float(0))
+ stcSvc.spawnObject('object/static/structure/general/shared_streetlamp_large_blue_style_01_on.iff', 'kaas', long(0), float(-5127.3), float(80.0), float(-2219.0), float(0), float(0))
+ stcSvc.spawnObject('object/static/structure/general/shared_streetlamp_large_blue_style_01_on.iff', 'kaas', long(0), float(-5111.2), float(80.0), float(-2219.0), float(0), float(0))
+ stcSvc.spawnObject('object/static/structure/general/shared_streetlamp_large_blue_style_01_on.iff', 'kaas', long(0), float(-5162.8), float(80.0), float(-2285.9), float(0), float(0))
+ stcSvc.spawnObject('object/static/structure/general/shared_streetlamp_large_blue_style_01_on.iff', 'kaas', long(0), float(-5067.3), float(80.0), float(-2294.9), float(0), float(0))
+ stcSvc.spawnObject('object/static/structure/general/shared_streetlamp_large_blue_style_01_on.iff', 'kaas', long(0), float(-5068.6), float(80.0), float(-2228.1), float(0), float(0))
+ stcSvc.spawnObject('object/static/structure/general/shared_streetlamp_large_blue_style_01_on.iff', 'kaas', long(0), float(-5078.5), float(80.0), float(-2360.5), float(0), float(0))
+ stcSvc.spawnObject('object/static/structure/general/shared_streetlamp_large_blue_style_01_on.iff', 'kaas', long(0), float(-5157.5), float(80.0), float(-2360.5), float(0), float(0))
+
+
+ #Dark Temple Interior
+ stcSvc.spawnObject('object/static/structure/content/shared_exar_kun_torch_01.iff', 'kaas', long(468319), float(0.0), float(-1.3), float(20.8), float(0), float(0))
+
+
+#Village of the Descendants Area
+ stcSvc.spawnObject('object/building/general/shared_cave_01.iff', 'kaas', long(0), float(3348.1), float(110), float(2562.1), float(0), float(0))
+
+#Kaas City Ruins
+
+#Tomb of Vitiate
+
+#Northwest Cave
+ stcSvc.spawnObject('object/building/general/shared_cave_01.iff', 'kaas', long(0), float(-6135.3), float(185), float(6575.0), float(0), float(0))
+
+#Abandoned Separatist Base
+ stcSvc.spawnObject('object/building/military/shared_military_base_police_station_rebel_style_01.iff', 'kaas', long(0), float(-3509), float(77), float(6800), float(0), float(0))
+
+#Sith Meditation Chamber
+ stcSvc.spawnObject('object/building/player/shared_player_house_sith_meditation_room.iff', 'kaas', long(0), float(4766), float(126), float(-7307), float(0), float(0))
+
+#Large Ruin
+ stcSvc.spawnObject('object/static/structure/dantooine/shared_dant_jedi_main_structure.iff', 'kaas', long(0), float(-434), float(77), float(-2252), float(0), float(0))
+
+#Central North Ruin
+ stcSvc.spawnObject('object/static/structure/dantooine/shared_dant_jedi_wall_1.iff', 'kaas', long(0), float(-50), float(77), float(6313), float(0), float(0))
+ stcSvc.spawnObject('object/static/structure/dantooine/shared_dant_jedi_wall_2.iff', 'kaas', long(0), float(-58), float(77), float(6304), float(0.71), float(0.71))
+ stcSvc.spawnObject('object/static/structure/dantooine/shared_dant_jedi_wall_1.iff', 'kaas', long(0), float(-58), float(77), float(6321), float(-0.71), float(0.71))
+ stcSvc.spawnObject('object/static/structure/dantooine/shared_dant_jedi_wall_2.iff', 'kaas', long(0), float(-71), float(77), float(6312), float(0), float(0))
+ stcSvc.spawnObject('object/static/structure/dantooine/shared_dant_jedi_temple_pillar.iff', 'kaas', long(0), float(-71.0), float(78), float(6320.8), float(0), float(0))
+
+ return
+
diff --git a/scripts/static_spawns/lok.py b/scripts/static_spawns/lok.py
index e84b7994..30c9163e 100644
--- a/scripts/static_spawns/lok.py
+++ b/scripts/static_spawns/lok.py
@@ -4,48 +4,7 @@ from resources.datatables import Options
from resources.datatables import StateStatus
def addPlanetSpawns(core, planet):
+#This Script is no longer to be used for NPC Scripting. - Levarris
- stcSvc = core.staticService
-#Nym's Stronghold -Fingies
-
- #Outside
-
- nymtech = stcSvc.spawnObject('object/mobile/shared_dressed_nym_technician_2.iff', 'lok', long(0), float(372.87), float(11.99), float(4984.83), float(0.97), float(-0.21))
- nymtech.setCustomName2('Nym\'s Fuel Technician')
- disgrunt1 = stcSvc.spawnObject('object/mobile/shared_nym_themepark_d_townsperson_lead.iff', 'lok', long(0), float(473.28), float(23.00), float(4945.03), float(0.043), float(0.99))
- disgrunt1.setCustomName2('a disgruntled townsperson')
- guard1 = stcSvc.spawnObject('object/mobile/shared_dressed_nym_guard_weak_nikto_m.iff', 'lok', long(0), float(472.82), float(22.57), float(4920.00), float(0), float(0))
- guard1.setCustomName2('Nym\'s Guard')
- guard2 = stcSvc.spawnObject('object/mobile/shared_dressed_nym_guard_weak_hum_m.iff', 'lok', long(0), float(480.74), float(22.64), float(4920.02), float(0), float(0))
- guard2.setCustomName2('Nym\'s Guard')
-
- #Nym's Palace - Interior
-
- brawl1 = stcSvc.spawnObject('object/mobile/shared_dressed_nym_brawler_hum_f.iff', 'lok', long(6595511), float(5.7), float(1.3), float(-6.1), float(0.90), float(-0.42))
- brawl1.setCustomName2('Nym\'s Brawler')
- surv1 = stcSvc.spawnObject('object/mobile/shared_dressed_nym_surveyer_rod_m.iff', 'lok', long(6595511), float(4.5), float(1.3), float(-4.1), float(0.078), float(-0.99))
- surv1.setCustomName2('Nym\'s Surveyor')
- bodyg1 = stcSvc.spawnObject('object/mobile/shared_dressed_nym_bodyguard_hum_m.iff', 'lok', long(6595511), float(7.8), float(1.3), float(-6.8), float(0.782), float(0.622))
- bodyg1.setCustomName2('Nym\'s Bodyguard')
- mako = stcSvc.spawnObject('object/mobile/shared_nym_themepark_mako_ghast.iff', 'lok', long(6595511), float(5.5), float(4.1), float(-13.9), float(0.309), float(0.951))
- mako.setCustomName2('Mako Ghast')
- bodyg2 = stcSvc.spawnObject('object/mobile/shared_dressed_nym_bodyguard_rod_m.iff', 'lok', long(6595511), float(0.3), float(1.3), float(3.2), float(0.707), float(0.707))
- bodyg2.setCustomName2('Nym\'s Bodyguard')
- bodyg3 = stcSvc.spawnObject('object/mobile/shared_dressed_nym_bodyguard_rod_m.iff', 'lok', long(6595511), float(-1.6), float(1.3), float(3.0), float(0.707), float(-0.707))
- bodyg3.setCustomName2('Nym\'s Bodyguard')
- surv2 = stcSvc.spawnObject('object/mobile/shared_dressed_nym_surveyer_rod_m.iff', 'lok', long(6595511), float(-9.1), float(1.3), float(-5.9), float(1), float(0))
- surv2.setCustomName2('Nym\'s Surveyor')
- brawl2 = stcSvc.spawnObject('object/mobile/shared_dressed_nym_brawler_tran_m.iff', 'lok', long(6595511), float(-9.1), float(1.3), float(-3.1), float(0.0087), float(0.999))
- brawl2.setCustomName2('Nym\'s Brawler')
- guard3 = stcSvc.spawnObject('object/mobile/shared_dressed_nym_guard_weak_hum_m.iff', 'lok', long(6595511), float(-19.7), float(2.3), float(-17.6), float(0.999), float(0.0087))
- guard3.setCustomName2('Nym\'s Guard')
- creep1 = stcSvc.spawnObject('object/mobile/shared_slicer_kelson_sharphorn.iff', 'lok', long(6595511), float(-4.2), float(2.3), float(7.6), float(0.0174), float(0.9998))
- creep1.setCustomName2('Kelson Sharphorn')
- guard4 = stcSvc.spawnObject('object/mobile/shared_dressed_nym_guard_weak_hum_m.iff', 'lok', long(6595511), float(24.8), float(2.3), float(7.9), float(0.0174), float(0.9998))
- guard4.setCustomName2('Nym\'s Guard')
- guard5 = stcSvc.spawnObject('object/mobile/shared_dressed_nym_guard_weak_hum_m.iff', 'lok', long(6595511), float(3.7), float(4.1), float(-9.5), float(0.9998), float(0.0174))
- guard5.setCustomName2('Nym\'s Guard')
- guard6 = stcSvc.spawnObject('object/mobile/shared_dressed_nym_guard_weak_rod_m.iff', 'lok', long(6595511), float(-3.7), float(4.1), float(-9.5), float(1), float(0))
- guard6.setCustomName2('Nym\'s Guard')
-
+ return
diff --git a/scripts/static_spawns/naboo.py b/scripts/static_spawns/naboo.py
index 46e54797..c1072308 100644
--- a/scripts/static_spawns/naboo.py
+++ b/scripts/static_spawns/naboo.py
@@ -3,134 +3,6 @@ import sys
def addPlanetSpawns(core, planet):
stcSvc = core.staticService
-# Theed Spawns
- # OutSide
- loruna = stcSvc.spawnObject('object/mobile/shared_loruna_scathe.iff', 'naboo', long(0), float(-5149), float(6), float(4286), float(0.34), float(0.93))
- loruna.setCustomName2('Loruna Scathe')
-
- pooja = stcSvc.spawnObject('object/mobile/shared_dressed_pooja_naberrie.iff', 'naboo', long(0), float(-5479.1), float(14), float(4467.3), float(-0.96), float(0.25))
- pooja.setCustomName2('Pooja Naberrie')
-
-# Keren Spawns
- # Cantina interior
- lergoBrazee = stcSvc.spawnObject('object/mobile/shared_dressed_lergo_brazee.iff', 'naboo', long(5), float(2.8), float(-0.9), float(-5.3), float(0.25), float(0.96))
- lergoBrazee.setCustomName2('Lergo Brazee')
-
- # Starport interior
- gavynSykes = stcSvc.spawnObject('object/mobile/shared_dressed_gavyn_sykes.iff', 'naboo', long(2125382), float(9.3), float(0.6), float(66.6), float(-0.90), float(0.42))
- gavynSykes.setCustomName2('Capt. Gavyn Sykes')
-
- #Miscellaneous Building Interiors
- kritusMorven = stcSvc.spawnObject('object/mobile/shared_dressed_kritus_morven.iff', 'naboo', long(1685077), float(-3.9), float(-4.9), float(-7.5), float(0.95), float(0.30))
- kritusMorven.setCustomName2('Kritus Morven')
-
- Raev = stcSvc.spawnObject('object/mobile/ep3/shared_ep3_clone_relics_major_raev.iff', 'naboo', long(1393881), float(-10), float(1.7), float(-9.5), float(0.93), float(0.34))
- Raev.setCustomName2('Major Raev')
-
- # Outside
- brennis = stcSvc.spawnObject('object/mobile/shared_dressed_brennis_doore.iff', 'naboo', long(0), float(1740), float(12), float(2657), float(-0.99), float(0))
- brennis.setCustomName2('Brennis Doore')
-
- demitri = stcSvc.spawnObject('object/mobile/shared_dressed_herald_servant_naboo_human_male.iff', 'naboo', long(0), float(1673), float(12), float(2582), float(0.31), float(0.94))
- demitri.setCustomName2('Demitri Firewatcher')
-
- ogden = stcSvc.spawnObject('object/mobile/shared_smuggler_broker_ogden.iff', 'naboo', long(0), float(1907), float(12), float(2352), float(0.97), float(0.22))
- ogden.setCustomName2('Ogden')
-
-# Kaadara Spawns
- #Miscellaneous Building Interiors
- barnSinkko = stcSvc.spawnObject('object/mobile/shared_dressed_imperial_trainer_space_03.iff', 'naboo', long(1741494), float(-1.3), float(1.8), float(-14), float(-0.34), float(0.93))
- barnSinkko.setCustomName2('Lt. Barn Sinkko')
-
- # OutSide
- dakk = stcSvc.spawnObject('object/mobile/shared_dressed_acklay_dakk.iff', 'naboo', long(0), float(5167), float(-192), float(6674), float(-0.99), float(0.04))
- dakk.setCustomName2('Dakk')
-
- panaka = stcSvc.spawnObject('object/mobile/shared_panaka.iff', 'naboo', long(0), float(5196.6), float(-192), float(6712.8), float(0.99), float(0.04))
-
-# Dejaa Peak Spawns
-
- # OutSide
- arvenWendik = stcSvc.spawnObject('object/mobile/shared_dressed_arven_wendik.iff', 'naboo', long(0), float(4710), float(330), float(-1432), float(-0.70), float(0.70))
- arvenWendik.setCustomName2('Arven Wendik')
-
- damaliaKorde = stcSvc.spawnObject('object/mobile/shared_dressed_damalia_korde.iff', 'naboo', long(0), float(5139), float(346.5), float(-1530.9), float(0.34), float(0.93))
- damaliaKorde.setCustomName2('Damalia Korde')
-
- hermanPate = stcSvc.spawnObject('object/mobile/shared_naboo_herman_pate.iff', 'naboo', long(0), float(4871.1), float(360.6), float(-1442.1), float(0), float(1))
- hermanPate.setCustomName2('Herman Pate')
-
- kimaNazith = stcSvc.spawnObject('object/mobile/shared_dressed_commoner_naboo_human_female_03.iff', 'naboo', long(0), float(4972), float(360), float(-1583), float(-0.95), float(0.28))
- kimaNazith.setCustomName2('Kima Nazith')
-
- kippyMartin = stcSvc.spawnObject('object/mobile/shared_naboo_kippy_martin.iff', 'naboo', long(0), float(4324), float(295.1), float(-1250), float(0.55), float(0.82))
- kippyMartin.setCustomName2('Kippy Martin')
-
- ruab = stcSvc.spawnObject('object/mobile/shared_smuggler_fence_ruab.iff', 'naboo', long(0), float(4998), float(360), float(-1485), float(-0.34), float(0.93))
- ruab.setCustomName2('Ruab')
-
- tanoaVills = stcSvc.spawnObject('object/mobile/shared_naboo_tanoa_vills.iff', 'naboo', long(0), float(4740), float(330), float(-1322), float(-0.96), float(0.27))
- tanoaVills.setCustomName2('Tanoa Vills')
-
- vanceGroten = stcSvc.spawnObject('object/mobile/shared_naboo_vance_groten.iff', 'naboo', long(0), float(5144), float(346.5), float(-1530), float(-0.17), float(0.98))
- vanceGroten.setCustomName2('Vance Groten')
-
- walker = stcSvc.spawnObject('object/mobile/shared_naboo_walker_luskeske.iff', 'naboo', long(0), float(4994), float(360), float(-1506), float(-0.97), float(0.21))
- walker.setCustomName2('Walker Luskeske')
-
- zanier = stcSvc.spawnObject('object/mobile/shared_naboo_professor_hudmasse.iff', 'naboo', long(0), float(4690), float(330.2), float(-1391), float(0.52), float(0.84))
- zanier.setCustomName2('Professor Zanier Hudmasse')
-
-# Moenia Spawns
- # Cantina interior
- borvo = stcSvc.spawnObject('object/mobile/shared_borvo.iff', 'naboo', long(121), float(-29), float(-0.5), float(7.9), float(0.44), float(0.89))
- borvo.setCustomName2('Borvo The Hutt')
-
- # OutSide
- c3tc = stcSvc.spawnObject('object/mobile/shared_3po_protocol_droid_silver.iff', 'naboo', long(0), float(4723), float(3.8), float(-4935), float(-0.99), float(0))
- c3tc.setCustomName2('C-3TC')
-
- dilvin = stcSvc.spawnObject('object/mobile/shared_dressed_noble_human_male_03.iff', 'naboo', long(0), float(4893), float(3.8), float(-4998), float(0.96), float(0.27))
- dilvin.setCustomName2('Dilvin Lormurojo')
-
- ebenn = stcSvc.spawnObject('object/mobile/shared_dressed_noble_human_male_02.iff', 'naboo', long(0), float(4869), float(3.8), float(-4875), float(-0.70), float(0.70))
- ebenn.setCustomName2('Ebenn Q3 Baobab')
-
- v3fx = stcSvc.spawnObject('object/mobile/shared_space_rebel_tier1_naboo_v3fx.iff', 'naboo', long(0), float(4764.2), float(6.1), float(-4795), float(0.99), float(0.08))
- v3fx.setCustomName2('V3-FX')
-
-# Emperor's Retreat interior
- kaja = stcSvc.spawnObject('object/mobile/shared_kaja_orzee.iff', 'naboo', long(1418872), float(1.9), float(0.2), float(-13.4), float(0), float(1))
- kaja.setCustomName2('Kaja Or\'Zee')
-
- ltVelso = stcSvc.spawnObject('object/mobile/shared_dressed_corvette_imperial_velso.iff', 'naboo', long(1418874), float(23.6), float(0.2), float(-19), float(-0.93), float(0.34))
- ltVelso.setCustomName2('Lt. Velso')
-
- royalGuard1 = stcSvc.spawnObject('object/mobile/shared_royal_guard.iff', 'naboo', long(1418874), float(17), float(0.2), float(-31), float(0), float(1))
- royalGuard2 = stcSvc.spawnObject('object/mobile/shared_royal_guard.iff', 'naboo', long(1418874), float(9), float(0.2), float(-31), float(0), float(1))
-
- vrke = stcSvc.spawnObject('object/mobile/shared_space_imperial_tier3_naboo_vrke.iff', 'naboo', long(1418875), float(24.3), float(0.2), float(-39.6), float(0), float(1))
- vrke.setCustomName2('Inquisitor Vrke')
-
- loamRedge = stcSvc.spawnObject('object/mobile/shared_loam_redge.iff', 'naboo', long(1418875), float(18.6), float(0.2), float(-42), float(0.34), float(0.93))
- loamRedge.setCustomName2('Loam Redge')
-
- hethrir = stcSvc.spawnObject('object/mobile/shared_lord_hethrir.iff', 'naboo', long(1418876), float(4.6), float(0.2), float(-41.3), float(0), float(1))
- hethrir.setCustomName2('Lord Hethrir')
-
- jaceYiaso = stcSvc.spawnObject('object/mobile/shared_space_imperial_tier4_naboo_inquisitor.iff', 'naboo', long(1418884), float(-44), float(0.2), float(-31.9), float(0), float(1))
- jaceYiaso.setCustomName2('Grand Inquisitor Ja\'ce Yiaso')
-
- vader = stcSvc.spawnObject('object/mobile/shared_darth_vader.iff', 'naboo', long(1418884), float(-57), float(0.2), float(-24), float(0.70), float(0.70))
-
- # Outside Emperor's Retreat
- veers = stcSvc.spawnObject('object/mobile/naboo_npc/shared_veers.iff', 'naboo', long(0), float(2368), float(291), float(-3921), float(0.64), float(0.76))
- veers.setCustomName2('Maximilian Veers')
-
- thrawn = stcSvc.spawnObject('object/mobile/naboo_npc/shared_thrawn.iff', 'naboo', long(0), float(2369), float(291), float(-3922), float(0.34), float(0.93))
- thrawn.setCustomName2('Captain Thrawn')
-
- fazoll = stcSvc.spawnObject('object/mobile/shared_space_imperial_tier2_naboo.iff', 'naboo', long(0), float(2444), float(292), float(-3896), float(-0.996194), float(0.087155))
- fazoll.setCustomName2('Inquisitor Fa\'Zoll')
+ #this script is no longer for NPC spawning - Levarris
return
\ No newline at end of file
diff --git a/scripts/static_spawns/tatooine.py b/scripts/static_spawns/tatooine.py
index bd521e16..c059c589 100644
--- a/scripts/static_spawns/tatooine.py
+++ b/scripts/static_spawns/tatooine.py
@@ -5,228 +5,18 @@ from resources.datatables import StateStatus
def addPlanetSpawns(core, planet):
stcSvc = core.staticService
-# Wayfar Life Day, by Wefi, modified by Fingies
-
- stcSvc.spawnObject('object/mobile/shared_lifeday_saun_dann.iff', 'tatooine', long(0), float(-5037.00), float(75), float(-6561), float(-0.75), float(0)) # Life Day
- figlife = stcSvc.spawnObject('object/mobile/shared_lifeday_figrin_dan.iff', 'tatooine', long(0), float(-5046.00), float(75), float(-6560), float(-0.75), float(0)) # LD Figrin
- figlife.setCustomName2('Figrin D\'an')
- bandtat1 = stcSvc.spawnObject('object/mobile/shared_lifeday_figrin_dan_band.iff', 'tatooine', long(0), float(-5040.00), float(75), float(-6557), float(-0.75), float(0)) # LD Band 1
- bandtat1.setCustomName2('Doikk Nats')
- bandtat2 = stcSvc.spawnObject('object/mobile/shared_lifeday_figrin_dan_band.iff', 'tatooine', long(0), float(-5043.00), float(75), float(-6559), float(-0.75), float(0)) # LD band 2
- bandtat2.setCustomName2('Tech Mor')
- bandtat3 = stcSvc.spawnObject('object/mobile/shared_lifeday_figrin_dan_band.iff', 'tatooine', long(0), float(-5048.00), float(75), float(-6557), float(-0.75), float(0)) # LD Band 3
- bandtat3.setCustomName2('Nalan Cheel')
- bandtat4 = stcSvc.spawnObject('object/mobile/shared_lifeday_figrin_dan_band.iff', 'tatooine', long(0), float(-5045.00), float(75), float(-6555), float(-0.75), float(0)) # LD band 4
- bandtat4.setCustomName2('Sunil Eide')
- reblifevendor = stcSvc.spawnObject('object/mobile/shared_life_day_rebel_vendor.iff', 'tatooine', long(0), float(-5212.2), float(75.0), float(-6571.7), float(0.656), float(-0.7547)) #Rebel Wookiee Vendor
- reblifevendor.setCustomName2('Oolovv \(Wookiee Freedom Fighter)')
- reblifesold1 = stcSvc.spawnObject('object/mobile/shared_rebel_snow_m_01.iff', 'tatooine', long(0), float(-5208.8), float(75.0), float(-6569.6), float(0.669), float(-0.743)) #Rebel Vendor Guard 1
- reblifesold1.setCustomName2('a Rebel Soldier')
- reblifesold2 = stcSvc.spawnObject('object/mobile/shared_rebel_snow_m_01.iff', 'tatooine', long(0), float(-5208.8), float(75.0), float(-6573.1), float(0.669), float(-0.743)) #Rebel Vendor Guard 2
- reblifesold2.setCustomName2('a Rebel Soldier')
- implifevendor = stcSvc.spawnObject('object/mobile/shared_life_day_imperial_vendor.iff', 'tatooine', long(0), float(-5097.1), float(75.0), float(-6570.7), float(0.0087), float(-0.9999)) #Imp Vendor
- implifevendor.setCustomName2('Sstrigge \(Trandoshan \'Trader\')')
- implifesold1 = stcSvc.spawnObject('object/mobile/shared_snowtrooper_s01.iff', 'tatooine', long(0), float(-5092.2), float(75.0), float(-6569.0), float(0.0087), float(-0.9999)) #Imp Vendor Guard 1
- implifesold1.setCustomName2('a Stormtrooper')
- implifesold2 = stcSvc.spawnObject('object/mobile/shared_snowtrooper_s01.iff', 'tatooine', long(0), float(-5100.8), float(75.0), float(-6569.4), float(0.0087), float(-0.9999)) #Imp Vendor Guard 2
- implifesold2.setCustomName2('a Stormtrooper')
- stcSvc.spawnObject('object/tangible/instrument/shared_nalargon.iff', 'tatooine', long(0), float(-5045.00), float(75), float(-6555), float(0.999132931232), float(-0.0416347384453)) # Drums
- stcSvc.spawnObject('object/tangible/instrument/shared_ommni_box.iff', 'tatooine', long(0), float(-5043.00), float(75), float(-6559), float(0.999132931232), float(-0.0416347384453)) # Box
+ #this script is no longer for NPC spawning usage. - Levarris
-# Mos Eisley Spawns: WORK IN PROGRESS by Levarris
+ #stcSvc.spawnObject('object/mobile/shared_3po_protocol_droid_red.iff', 'tatooine', long(26582), float(-14.3), float(2.0), float(47.4), float(0.70), float(0.71))
+ stcSvc.spawnObject('object/tangible/terminal/shared_terminal_character_builder.iff', 'tatooine', long(0), float(3525), float(4), float(-4801), float(0.70), float(0.71))
+ #object = stcSvc.spawnObject('object/mobile/shared_respec_seller_f_1.iff', 'tatooine', long(0), float(3533.14), float(5), float(-4788.86), float(-0.3327), float(0.9288))
+ #object.setOptionsBitmask(264)
- #Cantina Interior
- wuher = stcSvc.spawnObject('object/mobile/shared_wuher.iff', 'tatooine', long(1082877), float(8.6), float(-0.9), float(0.4), float(0.71), float(0.71))
- wuher.setCustomName2('Wuher')
- wuher.addOption(Options.INVULNERABLE)
- wuher.setStateBitmask(StateStatus.SittingOnChair)
-
- chadraFanFemale = stcSvc.spawnObject('object/mobile/shared_chadra_fan_female.iff', 'tatooine', long(1082877), float(10.6), float(-0.9), float(-1.5), float(0.42), float(0.90))
- chadraFanFemale.setCustomName2('a Chadra Fan Female')
-
- chadraFanMale = stcSvc.spawnObject('object/mobile/shared_chadra_fan_male.iff', 'tatooine', long(1082877), float(10.7), float(-0.9), float(-0.3), float(0.64), float(0.77))
- chadraFanMale.setCustomName2('a Chadra Fan Male')
-
- muftak = stcSvc.spawnObject('object/mobile/shared_muftak.iff', 'tatooine', long(1082877), float(20.3), float(-0.9), float(4.9), float(0.82), float(0.57))
- muftak.setCustomName2('Muftak')
-
- chissMale1 = stcSvc.spawnObject('object/mobile/ep3/shared_ep3_etyyy_chiss_poacher_01.iff', 'tatooine', long(1082877), float(1.7), float(-0.9), float(-5.0), float(0.71), float(0.71))
- chissMale1.setCustomName2('a Chiss Male')
-
- chissMale2 = stcSvc.spawnObject('object/mobile/ep3/shared_ep3_etyyy_chiss_poacher_02.iff', 'tatooine', long(1082877), float(3.4), float(-0.9), float(-4.8), float(0), float(0))
- chissMale2.setCustomName2('a Chiss Male')
-
- cantinaStorm = stcSvc.spawnObject('object/mobile/shared_stormtrooper.iff', 'tatooine', long(1082877), float(2.9), float(-0.9), float(-6.5), float(0.71), float(0.71))
- cantinaStorm.setCustomName2('a Stormtrooper')
-
- cantinaStormL = stcSvc.spawnObject('object/mobile/shared_stormtrooper_groupleader.iff', 'tatooine', long(1082877), float(3.6), float(-0.9), float(-7.9), float(0.71), float(0.71))
- cantinaStormL.setCustomName2('a Stormtrooper Squad Leader')
-
- figrinDan = stcSvc.spawnObject('object/mobile/tatooine_npc/shared_figrin_dan.iff', 'tatooine', long(1082880), float(3.7), float(-0.9), float(-14.4), float(0.42), float(0.91))
- figrinDan.setCustomName2('Figrin D\'an')
-
- techMor = stcSvc.spawnObject('object/mobile/tatooine_npc/shared_figrin_dan.iff', 'tatooine', long(1082880), float(4.0), float(-0.9), float(-17.0), float(0.42), float(0.91))
- techMor.setCustomName2('Tech M\'or')
-
- doikkNats = stcSvc.spawnObject('object/mobile/tatooine_npc/shared_figrin_dan.iff', 'tatooine', long(1082880), float(2.2), float(-0.9), float(-16.4), float(0.42), float(0.91))
- doikkNats.setCustomName2('Doikk Na\'ts')
-
- tednDahai = stcSvc.spawnObject('object/mobile/tatooine_npc/shared_figrin_dan.iff', 'tatooine', long(1082880), float(1.3), float(-0.9), float(-15.2), float(0.42), float(0.91))
- tednDahai.setCustomName2('Tedn Dahai')
-
- nalanCheel = stcSvc.spawnObject('object/mobile/tatooine_npc/shared_figrin_dan.iff', 'tatooine', long(1082880), float(0.5), float(-0.9), float(-17.1), float(0.42), float(0.91))
- nalanCheel.setCustomName2('Nalan Cheel')
-
- businessman1 = stcSvc.spawnObject('object/mobile/shared_dressed_businessman_human_male_01.iff', 'tatooine', long(1082877), float(11.0), float(-0.9), float(2.1), float(0.38), float(-0.92))
- businessman1.setCustomName2('a Businessman')
-
- commoner1 = stcSvc.spawnObject('object/mobile/shared_dressed_commoner_tatooine_aqualish_male_01.iff', 'tatooine', long(1082877), float(10.3), float(-0.9), float(2.7), float(0.82), float(0.57))
- commoner1.setCustomName2('a Commoner')
-
- entertainer1 = stcSvc.spawnObject('object/mobile/shared_dressed_entertainer_trainer_twk_female_01.iff', 'tatooine', long(1082877), float(9.4), float(-0.9), float(3.9), float(0.38), float(-0.92))
- entertainer1.setCustomName2('an Entertainer')
-
- noble1 = stcSvc.spawnObject('object/mobile/shared_dressed_noble_trandoshan_male_01.iff', 'tatooine', long(1082877), float(8.6), float(-0.9), float(4.8), float(0.82), float(0.57))
- noble1.setCustomName2('a Noble')
-
- commoner2 = stcSvc.spawnObject('object/mobile/shared_dressed_commoner_tatooine_trandoshan_female_01.iff', 'tatooine', long(1082877), float(4.1), float(-0.9), float(5.7), float(1), float(0))
- commoner2.setCustomName2('a Commoner')
-
- commoner3 = stcSvc.spawnObject('object/mobile/shared_dressed_commoner_naboo_bothan_female_01.iff', 'tatooine', long(1082877), float(3.1), float(-0.9), float(5.9), float(1), float(0))
- commoner3.setCustomName2('a Commoner')
-
- commoner4 = stcSvc.spawnObject('object/mobile/shared_dressed_commoner_fat_twilek_male_01.iff', 'tatooine', long(1082877), float(1.7), float(-0.9), float(6.0), float(1), float(0))
- commoner4.setCustomName2('a Commoner')
-
- commoner5 = stcSvc.spawnObject('object/mobile/shared_dressed_commoner_naboo_bothan_male_01.iff', 'tatooine', long(1082877), float(-0.4), float(-0.9), float(5.9), float(1), float(0))
- commoner5.setCustomName2('a Commoner')
-
- commoner6 = stcSvc.spawnObject('object/mobile/shared_dressed_commoner_naboo_human_male_05.iff', 'tatooine', long(1082877), float(16.0), float(-0.9), float(4.1), float(0), float(0))
- commoner6.setCustomName2('a Commoner')
-
- commoner7 = stcSvc.spawnObject('object/mobile/shared_dressed_commoner_fat_zabrak_male_01.iff', 'tatooine', long(1082877), float(8.8), float(-0.9), float(-6.0), float(0.98), float(-0.22))
- commoner7.setCustomName2('a Patron')
-
- commoner8 = stcSvc.spawnObject('object/mobile/shared_dressed_commoner_naboo_human_male_08.iff', 'tatooine', long(1082877), float(6.8), float(-0.9), float(-6.5), float(0.98), float(-0.22))
- commoner8.setCustomName2('a Patron')
-
- commoner9 = stcSvc.spawnObject('object/mobile/shared_dressed_commoner_tatooine_aqualish_male_09.iff', 'tatooine', long(1082877), float(1.1), float(-0.9), float(-7.7), float(0.42), float(0.91))
- commoner9.setCustomName2('a Commoner')
-
- commoner10 = stcSvc.spawnObject('object/mobile/shared_dressed_commoner_tatooine_nikto_male_04.iff', 'tatooine', long(1082877), float(2.1), float(-0.9), float(-8.4), float(0.42), float(0.91))
- commoner10.setCustomName2('a Commoner')
-
- #Starport Interior
-
- #City Hall Interior
-
- #Lucky Despot Interior
-
- #Medical Center Interior
-
- #Theater Interior
-
- #Miscellaneous Building Interiors
-
- #Outside
- businessman2 = stcSvc.spawnObject('object/mobile/shared_dressed_businessman_human_male_01.iff', 'tatooine', long(0), float(3663.3), float(4.0), float(-4738.6), float(0), float(0))
- businessman2.setCustomName2('a Businessman')
-
- noble2 = stcSvc.spawnObject('object/mobile/shared_dressed_noble_human_female_01.iff', 'tatooine', long(0), float(3542.3), float(5.0), float(-4826.0), float(0.42), float(0.91))
- noble2.setCustomName2('a Noble')
-
- commoner11 = stcSvc.spawnObject('object/mobile/shared_dressed_commoner_naboo_human_male_06.iff', 'tatooine', long(0), float(3529.1), float(5.0), float(-4900.4), float(0.42), float(0.91))
- commoner11.setCustomName2('a Commoner')
-
- businessman3 = stcSvc.spawnObject('object/mobile/shared_dressed_commoner_tatooine_trandoshan_male_02.iff', 'tatooine', long(0), float(3595.7), float(5.0), float(-4740.1), float(0), float(0))
- businessman3.setCustomName2('a Businessman')
-
- jawa1 = stcSvc.spawnObject('object/mobile/shared_jawa.iff', 'tatooine', long(0), float(3663.3), float(5.0), float(-4858.6), float(0), float(0))
- jawa1.setCustomName2('a Jawa')
-
- commoner12 = stcSvc.spawnObject('object/mobile/shared_dressed_commoner_naboo_moncal_male_01.iff', 'tatooine', long(0), float(3512.2), float(5.0), float(-4764.2), float(0), float(0))
- commoner12.setCustomName2('a Scientist')
-
- commoner13 = stcSvc.spawnObject('object/mobile/shared_dressed_commoner_naboo_zabrak_female_02.iff', 'tatooine', long(0), float(3559.7), float(5.0), float(-4725.9), float(0), float(0))
- commoner13.setCustomName2('a Commoner')
-
- commoner14 = stcSvc.spawnObject('object/mobile/shared_dressed_commoner_tatooine_devaronian_male_01.iff', 'tatooine', long(0), float(3527.7), float(5.0), float(-4721.1), float(0.71), float(0.71))
- commoner14.setCustomName2('a Commoner')
-
- commoner15 = stcSvc.spawnObject('object/mobile/shared_dressed_commoner_tatooine_aqualish_female_01.iff', 'tatooine', long(0), float(3514.9), float(5.0), float(-4737.8), float(0), float(0))
- commoner15.setCustomName2('a Commoner')
-
- jawa2 = stcSvc.spawnObject('object/mobile/shared_jawa.iff', 'tatooine', long(0), float(3485.2), float(4.9), float(-4859.2), float(0), float(0))
- jawa2.setCustomName2('a Jawa')
-
- jawa3 = stcSvc.spawnObject('object/mobile/shared_jawa.iff', 'tatooine', long(0), float(3465.3), float(5.0), float(-4860.1), float(0.71), float(-0.71))
- jawa3.setCustomName2('a Jawa')
-
- jawa4 = stcSvc.spawnObject('object/mobile/shared_jawa.iff', 'tatooine', long(0), float(3486.8), float(5.0), float(-4884.7), float(0.43051), float(-0.9025))
- jawa4.setCustomName2('a Jawa')
-
- jawa5 = stcSvc.spawnObject('object/mobile/shared_jawa.iff', 'tatooine', long(0), float(3487.1), float(5.0), float(-4886.0), float(0.95105), float(0.3090))
- jawa5.setCustomName2('a Jawa')
-
- jawa6 = stcSvc.spawnObject('object/mobile/shared_jawa.iff', 'tatooine', long(0), float(3488.8), float(5.0), float(-4884.4), float(0.3255), float(-0.9455))
- jawa6.setCustomName2('a Jawa')
-
- jawa7 = stcSvc.spawnObject('object/mobile/shared_jawa.iff', 'tatooine', long(0), float(3472.2), float(5.0), float(-4918.4), float(0), float(0))
- jawa7.setCustomName2('a Jawa')
-
- jawa8 = stcSvc.spawnObject('object/mobile/shared_jawa.iff', 'tatooine', long(0), float(3471.4), float(5.0), float(-4919.5), float(0), float(0))
- jawa8.setCustomName2('a Jawa')
-
- jawa9 = stcSvc.spawnObject('object/mobile/shared_jawa.iff', 'tatooine', long(0), float(3470.3), float(5.0), float(-4918.7), float(0), float(0))
- jawa9.setCustomName2('a Jawa')
-
- bib = stcSvc.spawnObject('object/mobile/shared_bib_fortuna.iff', 'tatooine', long(0), float(3552.4), float(5.0), float(-4933.2), float(0.31730), float(-0.9483))
- bib.setCustomName2('Bib Fortuna')
-
- commoner16 = stcSvc.spawnObject('object/mobile/shared_dressed_commoner_naboo_human_male_06.iff', 'tatooine', long(0), float(3398.2), float(4.0), float(-4654.2), float(0.42), float(0.91))
- commoner16.setCustomName2('a Commoner')
-
- noble3 = stcSvc.spawnObject('object/mobile/shared_dressed_noble_human_female_01.iff', 'tatooine', long(0), float(3396.3), float(4.0), float(-4774.1), float(0.42), float(0.91))
- noble3.setCustomName2('a Noble')
-
- entertainer1 = stcSvc.spawnObject('object/mobile/shared_dressed_entertainer_trainer_twk_female_01.iff', 'tatooine', long(0), float(3305.7), float(5.6), float(-4771.7), float(0), float(0))
- entertainer1.setCustomName2('an Entertainer')
-
- r3m6 = stcSvc.spawnObject('object/mobile/shared_r3.iff', 'tatooine', long(0), float(3460.1), float(4.0), float(-4898.2), float(0.38), float(-0.92))
- r3m6.setCustomName2('R3-M6')
-
- eg1 = stcSvc.spawnObject('object/mobile/shared_eg6_power_droid.iff', 'tatooine', long(0), float(3463.8), float(4.0), float(-4882.6), float(-0.38), float(0.92))
- eg1.setCustomName2('an EG-6 Power Droid')
-
- commoner17 = stcSvc.spawnObject('object/mobile/shared_dressed_commoner_naboo_zabrak_female_02.iff', 'tatooine', long(0), float(3452.6), float(4.0), float(-4937.1), float(0), float(0))
- commoner17.setCustomName2('a Commoner')
-
- lifter1 = stcSvc.spawnObject('object/mobile/shared_cll8_binary_load_lifter.iff', 'tatooine', long(0), float(3547), float(5.0), float(-4768.9), float(0), float(0))
- lifter1.setCustomName2('a CLL-8 Binary Load Lifter')
-
- r3j7 = stcSvc.spawnObject('object/mobile/shared_r3.iff', 'tatooine', long(0), float(3311.1), float(4.0), float(-4820.2), float(0.38), float(-0.92))
- r3j7.setCustomName2('R3-J7')
-
- noble4 = stcSvc.spawnObject('object/mobile/shared_dressed_noble_human_female_03.iff', 'tatooine', long(0), float(3255.3), float(4.0), float(-4848.1), float(0.42), float(0.91))
- noble4.setCustomName2('a Noble')
-
-
- #Eisley Ship Controller
- stcSvc.spawnObject('object/mobile/shared_distant_ship_controller.iff', 'tatooine', long(0), float(3542.3), float(5.0), float(-4826.0), float(0.42), float(0.91))
-
-# Mos Espa NPC Spawns
-
-# Mos Entha NPC Spawns
-
-# Bestine NPC Spawns
-
-# Anchorhead NPC Spawns
-
-# Mos Taike NPC Spawns
-
-# Wayfar NPC Spawns
-
-# Jabba's Palace Theme Park Spawns
+ junkdealer = stcSvc.spawnObject('object/mobile/shared_junk_dealer_m_01.iff', 'tatooine', long(0), float(3525), float(4), float(-4804), float(0.70), float(0.71))
+ junkdealer.setOptionsBitmask(264)
+ junkdealer.setCustomName('a Junk Dealer')
+ junkdealer.setAttachment('radial_filename', 'conversation');
+ junkdealer.setAttachment('conversationFile','junk_dealer')
return
diff --git a/scripts/static_travel_points.py b/scripts/static_travel_points.py
index 26ac3f85..b1814ec9 100644
--- a/scripts/static_travel_points.py
+++ b/scripts/static_travel_points.py
@@ -49,8 +49,8 @@ def corelliaPoints(core, planet):
def dantooinePoints(core, planet):
trvSvc = core.travelService
- trvSvc.addTravelPoint(planet, "Imperial Outpost", -635, 3, 2507)
- trvSvc.addTravelPoint(planet, "Mining Outpost", -4208, 3, -2350)
+ trvSvc.addTravelPoint(planet, "Mining Outpost", -635, 3, 2507)
+ trvSvc.addTravelPoint(planet, "Imperial Outpost", -4208, 3, -2350)
trvSvc.addTravelPoint(planet, "Agro Outpost", 1569, 4, -6415)
return
@@ -149,4 +149,4 @@ def mustafarPoints(core, planet):
trvSvc = core.travelService
trvSvc.addTravelPoint(planet, "Mensix Mining Facility", 405, 230, -1352)
- return
\ No newline at end of file
+ return
diff --git a/src/main/NGECore.java b/src/main/NGECore.java
index b053a018..f67ac8b0 100644
--- a/src/main/NGECore.java
+++ b/src/main/NGECore.java
@@ -24,7 +24,10 @@ package main;
import java.io.IOException;
import java.sql.PreparedStatement;
import java.sql.SQLException;
+import java.util.ArrayList;
import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
import java.util.Map;
import java.util.Vector;
import java.util.concurrent.ConcurrentHashMap;
@@ -37,7 +40,10 @@ import java.util.concurrent.TimeUnit;
import org.apache.mina.core.service.IoHandler;
import org.apache.mina.core.session.IoSession;
-import protocol.swg.ChatSystemMessage;
+import com.sleepycat.je.Transaction;
+import com.sleepycat.persist.EntityCursor;
+
+import protocol.swg.chat.ChatSystemMessage;
import net.engio.mbassy.bus.config.BusConfiguration;
import resources.common.RadialOptions;
import resources.common.ThreadMonitor;
@@ -46,10 +52,15 @@ import services.AttributeService;
import services.BuffService;
import services.CharacterService;
import services.ConnectionService;
+import services.ConversationService;
+import services.DevService;
import services.EntertainmentService;
import services.EquipmentService;
import services.GroupService;
+import services.housing.HousingService;
+import services.InstanceService;
import services.LoginService;
+import services.LootService;
import services.MissionService;
import services.PlayerService;
import services.ScriptService;
@@ -57,9 +68,11 @@ import services.SimulationService;
import services.SkillModService;
import services.SkillService;
import services.StaticService;
+import services.SurveyService;
import services.TerrainService;
import services.WeatherService;
import services.ai.AIService;
+import services.bazaar.BazaarService;
import services.chat.ChatService;
import services.collections.CollectionService;
import services.combat.CombatService;
@@ -72,6 +85,9 @@ import services.LoginService;
import services.map.MapService;
import services.object.ObjectService;
import services.object.UpdateService;
+import services.pet.MountService;
+import services.resources.HarvesterService;
+import services.resources.ResourceService;
import services.retro.RetroService;
import services.spawn.SpawnService;
import services.sui.SUIService;
@@ -91,6 +107,7 @@ import engine.resources.common.CRC;
import engine.resources.common.PHPBB3Auth;
import engine.resources.config.Config;
import engine.resources.config.DefaultConfig;
+import engine.resources.container.Traverser;
import engine.resources.database.DatabaseConnection;
import engine.resources.database.ObjectDatabase;
import engine.resources.objects.SWGObject;
@@ -107,7 +124,7 @@ import engine.servers.PingServer;
public class NGECore {
public static boolean didServerCrash = false;
-
+
private static NGECore instance;
private Config config = null;
@@ -156,6 +173,17 @@ public class NGECore {
public SpawnService spawnService;
public AIService aiService;
public MissionService missionService;
+ public InstanceService instanceService;
+ public DevService devService;
+ public SurveyService surveyService;
+ public ResourceService resourceService;
+ public ConversationService conversationService;
+ public BazaarService bazaarService;
+ public HousingService housingService;
+ public LootService lootService;
+ public HarvesterService harvesterService;
+ public MountService mountService;
+
// Login Server
public NetworkDispatch loginDispatch;
@@ -172,10 +200,22 @@ public class NGECore {
private ObjectDatabase creatureODB;
private ObjectDatabase mailODB;
private ObjectDatabase guildODB;
+ private ObjectDatabase objectIdODB;
+ private ObjectDatabase duplicateIdODB;
+ private ObjectDatabase chatRoomODB;
private BusConfiguration eventBusConfig = BusConfiguration.Default(1, new ThreadPoolExecutor(1, 4, 1, TimeUnit.MINUTES, new LinkedBlockingQueue()));
private ObjectDatabase buildingODB;
+ private ObjectDatabase auctionODB;
+ private ObjectDatabase resourcesODB;
+ private ObjectDatabase resourceRootsODB;
+ private ObjectDatabase resourceHistoryODB;
+
+ public static boolean PACKET_DEBUG = false;
+
+
+
public NGECore() {
@@ -185,7 +225,6 @@ public class NGECore {
public void start() {
instance = this;
-
final ThreadMonitor deadlockDetector = new ThreadMonitor();
Thread deadlockMonitor = new Thread(new Runnable() {
@Override
@@ -204,6 +243,11 @@ public class NGECore {
if (!(config.loadConfigFile())) {
config = DefaultConfig.getConfig();
}
+
+ Config options = new Config();
+ options.setFilePath("options.cfg");
+ boolean optionsConfigLoaded = options.loadConfigFile();
+
// Database
databaseConnection = new DatabaseConnection();
databaseConnection.connect(config.getString("DB.URL"), config.getString("DB.NAME"), config.getString("DB.USER"), config.getString("DB.PASS"), "postgresql");
@@ -221,6 +265,14 @@ public class NGECore {
buildingODB = new ObjectDatabase("building", true, false, true);
mailODB = new ObjectDatabase("mails", true, false, true);
guildODB = new ObjectDatabase("guild", true, false, true);
+ objectIdODB = new ObjectDatabase("oids", true, false, false);
+ duplicateIdODB = new ObjectDatabase("doids", true, false, true);
+ chatRoomODB = new ObjectDatabase("chatRooms", true, false, true);
+ resourcesODB = new ObjectDatabase("resources", true, false, true);
+ resourceRootsODB = new ObjectDatabase("resourceroots", true, false, true);
+ resourceHistoryODB = new ObjectDatabase("resourcehistory", true, false, true);
+ auctionODB = new ObjectDatabase("auction", true, false, true);
+
// Services
loginService = new LoginService(this);
retroService = new RetroService(this);
@@ -246,6 +298,13 @@ public class NGECore {
skillModService = new SkillModService(this);
equipmentService = new EquipmentService(this);
entertainmentService = new EntertainmentService(this);
+ devService = new DevService(this);
+ conversationService = new ConversationService(this);
+ bazaarService = new BazaarService(this);
+ housingService = new HousingService(this);
+ lootService = new LootService(this);
+ harvesterService = new HarvesterService(this);
+ mountService = new MountService(this);
if (config.keyExists("JYTHONCONSOLE.PORT")) {
int jythonPort = config.getInt("JYTHONCONSOLE.PORT");
@@ -262,6 +321,11 @@ public class NGECore {
aiService = new AIService(this);
missionService = new MissionService(this);
+ if (optionsConfigLoaded && options.getInt("LOAD.RESOURCE.SYSTEM") == 1) {
+ surveyService = new SurveyService(this);
+ resourceService = new ResourceService(this);
+ }
+
// Ping Server
try {
PingServer pingServer = new PingServer(config.getInt("PING.PORT"));
@@ -293,12 +357,20 @@ public class NGECore {
zoneDispatch.addService(buffService);
zoneDispatch.addService(entertainmentService);
zoneDispatch.addService(missionService);
-
+ zoneDispatch.addService(bazaarService);
+ zoneDispatch.addService(lootService);
+ zoneDispatch.addService(mountService);
+
+ if (optionsConfigLoaded && options.getInt("LOAD.RESOURCE.SYSTEM") == 1) {
+ zoneDispatch.addService(surveyService);
+ zoneDispatch.addService(resourceService);
+ }
+
zoneServer = new MINAServer(zoneDispatch, config.getInt("ZONE.PORT"));
zoneServer.start();
staticService = new StaticService(this);
-
- // Planets
+ //Start terrainList
+ // Original Planets
terrainService.addPlanet(1, "tatooine", "terrain/tatooine.trn", true);
terrainService.addPlanet(2, "naboo", "terrain/naboo.trn", true);
terrainService.addPlanet(3, "corellia", "terrain/corellia.trn", true);
@@ -311,6 +383,51 @@ public class NGECore {
terrainService.addPlanet(10, "dathomir", "terrain/dathomir.trn", true);
terrainService.addPlanet(11, "mustafar", "terrain/mustafar.trn", true);
terrainService.addPlanet(12, "kashyyyk_main", "terrain/kashyyyk_main.trn", true);
+ //Dungeon Terrains
+ // TODO: Fix BufferUnderFlow Errors on loaded of dungeon instances.
+ terrainService.addPlanet(13, "kashyyyk_dead_forest", "terrain/kashyyyk_dead_forest.trn", true);
+ terrainService.addPlanet(14, "kashyyyk_hunting", "terrain/kashyyyk_hunting.trn", true);
+ terrainService.addPlanet(15, "kashyyyk_north_dungeons", "terrain/kashyyyk_north_dungeons.trn", true);
+ terrainService.addPlanet(16, "kashyyyk_rryatt_trail", "terrain/kashyyyk_rryatt_trail.trn", true);
+ terrainService.addPlanet(17, "kashyyyk_south_dungeons", "terrain/kashyyyk_south_dungeons.trn", true);
+ terrainService.addPlanet(18, "adventure1", "terrain/adventure1.trn", true);
+ terrainService.addPlanet(19, "adventure2", "terrain/adventure2.trn", true);
+ terrainService.addPlanet(20, "dungeon1", "terrain/dungeon1.trn", true);
+ //Space Zones
+ // NOTE: Commented out for now until space is implemented. No need to be loaded into memory when space is not implemented.
+ /*terrainService.addPlanet(21, "space_corellia", "terrain/space_corellia.trn", true);
+ terrainService.addPlanet(22, "space_corellia_2", "terrain/space_corellia_2.trn", true);
+ terrainService.addPlanet(23, "space_dantooine", "terrain/space_dantooine.trn", true);
+ terrainService.addPlanet(24, "space_dathomir", "terrain/space_dathomir.trn", true);
+ terrainService.addPlanet(25, "space_endor", "terrain/space_endor.trn", true);
+ terrainService.addPlanet(26, "space_env", "terrain/space_env.trn", true);
+ terrainService.addPlanet(27, "space_halos", "terrain/space_halos.trn", true);
+ terrainService.addPlanet(28, "space_heavy1", "terrain/space_heavy1.trn", true);
+ terrainService.addPlanet(29, "space_kashyyyk", "terrain/space_kashyyyk.trn", true);
+ terrainService.addPlanet(30, "space_light1", "terrain/space_light1.trn", true);
+ terrainService.addPlanet(31, "space_lok", "terrain/space_lok.trn", true);
+ terrainService.addPlanet(32, "space_naboo", "terrain/space_naboo.trn", true);
+ terrainService.addPlanet(33, "space_naboo_2", "terrain/space_naboo_2.trn", true);
+ terrainService.addPlanet(34, "space_nova_orion", "terrain/space_nova_orion.trn", true);
+ terrainService.addPlanet(35, "space_npe_falcon", "terrain/space_npe_falcon.trn", true); // TODO: New Player Tutorial
+ terrainService.addPlanet(36, "space_npe_falcon_2", "terrain/space_npe_falcon_2.trn", true); // TODO: New Player Tutorial
+ terrainService.addPlanet(37, "space_ord_mantell", "terrain/space_ord_mantell.trn", true);
+ terrainService.addPlanet(38, "space_ord_mantell_2", "terrain/space_ord_mantell_2.trn", true);
+ terrainService.addPlanet(39, "space_ord_mantell_3", "terrain/space_ord_mantell_3.trn", true);
+ terrainService.addPlanet(40, "space_ord_mantell_4", "terrain/space_ord_mantell_4.trn", true);
+ terrainService.addPlanet(41, "space_ord_mantell_5", "terrain/space_ord_mantell_5.trn", true);
+ terrainService.addPlanet(42, "space_ord_mantell_6", "terrain/space_ord_mantell_6.trn", true);
+ terrainService.addPlanet(43, "space_tatooine", "terrain/space_tatooine.trn", true);
+ terrainService.addPlanet(44, "space_tatooine_2", "terrain/space_tatooine_2.trn", true);
+ terrainService.addPlanet(45, "space_yavin4", "terrain/space_yavin4.trn", true);*/
+ //PSWG New Content Terrains (WARNING Keep commented out unless you have the current build of kaas!)
+
+ //terrainService.addPlanet(46, "kaas", "terrain/kaas.trn", true);
+
+ //end terrainList
+
+ chatService.loadChatRooms();
+
spawnService = new SpawnService(this);
terrainService.loadClientPois();
// Travel Points
@@ -318,9 +435,16 @@ public class NGECore {
simulationService = new SimulationService(this);
objectService.loadBuildings();
- terrainService.loadSnapShotObjects();
- simulationService.insertSnapShotObjects();
+ if (optionsConfigLoaded && options.getInt("LOAD.RESOURCE.SYSTEM") > 0) {
+ objectService.loadResourceRoots();
+ objectService.loadResources();
+ }
+
+ terrainService.loadSnapShotObjects();
+ objectService.loadServerTemplates();
+ simulationService.insertSnapShotObjects();
+ simulationService.insertPersistentBuildings();
// Zone services that need to be loaded after the above
zoneDispatch.addService(simulationService);
@@ -342,23 +466,52 @@ public class NGECore {
zoneDispatch.addService(skillService);
- //travelService.startShuttleSchedule();
+ instanceService = new InstanceService(this);
+ zoneDispatch.addService(instanceService);
+
weatherService = new WeatherService(this);
weatherService.loadPlanetSettings();
- // spawnService.loadLairTemplates();
- // spawnService.loadLairGroups();
- // spawnService.loadSpawnAreas();
+ spawnService.loadMobileTemplates();
+ spawnService.loadLairTemplates();
+ spawnService.loadLairGroups();
+ spawnService.loadSpawnAreas();
+
+ housingService.loadHousingTemplates();
+ equipmentService.loadBonusSets();
retroService.run();
didServerCrash = false;
System.out.println("Started Server.");
+ cleanupCreatureODB();
setGalaxyStatus(2);
}
+ private void cleanupCreatureODB() {
+ EntityCursor cursor = creatureODB.getCursor(Long.class, CreatureObject.class);
+
+ Iterator it = cursor.iterator();
+ List deletedObjects = new ArrayList();
+
+ while(it.hasNext()) {
+ CreatureObject creature = it.next();
+ if(!characterService.playerExists(creature.getObjectID()))
+ deletedObjects.add(creature);
+ }
+
+ cursor.close();
+
+ Transaction txn = creatureODB.getEnvironment().beginTransaction(null, null);
+ for(CreatureObject creature : deletedObjects) {
+ creatureODB.delete(creature.getObjectID(), Long.class, CreatureObject.class, txn);
+ }
+ txn.commitSync();
+ System.out.println("Deleted " + deletedObjects.size() + " creatures.");
+ }
+
public void stop() {
System.out.println("Stopping Servers and Connections.");
databaseConnection.close();
@@ -457,6 +610,34 @@ public class NGECore {
return buildingODB;
}
+ public ObjectDatabase getObjectIdODB() {
+ return objectIdODB;
+ }
+
+ public ObjectDatabase getDuplicateIdODB() {
+ return duplicateIdODB;
+ }
+
+ public ObjectDatabase getChatRoomODB() {
+ return chatRoomODB;
+ }
+
+ public ObjectDatabase getResourcesODB() {
+ return resourcesODB;
+ }
+
+ public ObjectDatabase getResourceRootsODB() {
+ return resourceRootsODB;
+ }
+
+ public ObjectDatabase getResourceHistoryODB() {
+ return resourceHistoryODB;
+ }
+
+ public ObjectDatabase getAuctionODB() {
+ return auctionODB;
+ }
+
public int getActiveClients() {
int connections = 0;
for (Map.Entry c : clients.entrySet()) {
@@ -520,22 +701,22 @@ public class NGECore {
try {
for(int minutes = 15; minutes > 1; minutes--) {
- simulationService.notifyAllClients(new ChatSystemMessage("The server will be shutting down soon. Please find a safe place to logout. (" + minutes + " minutes left)", (byte) 0 ).serialize());
+ chatService.broadcastGalaxy("The server will be shutting down soon. Please find a safe place to logout. (" + minutes + " minutes left)");
Thread.sleep(60000);
}
setGalaxyStatus(3);
- simulationService.notifyAllClients(new ChatSystemMessage("The server will be shutting down soon. Please find a safe place to logout. (" + 1 + " minutes left)", (byte) 0 ).serialize());
+ chatService.broadcastGalaxy("The server will be shutting down soon. Please find a safe place to logout. (" + 1 + " minutes left)");
Thread.sleep(30000);
- simulationService.notifyAllClients(new ChatSystemMessage("You will be disconnected in 30 seconds so the server can perform a final save before shutting down. Please find a safe place to logout now.", (byte) 0 ).serialize());
+ chatService.broadcastGalaxy("You will be disconnected in 30 seconds so the server can perform a final save before shutting down. Please find a safe place to logout now.");
Thread.sleep(20000);
- simulationService.notifyAllClients(new ChatSystemMessage("You will be disconnected in 10 seconds so the server can perform a final save before shutting down. Please find a safe place to logout now.", (byte) 0 ).serialize());
+ chatService.broadcastGalaxy("You will be disconnected in 10 seconds so the server can perform a final save before shutting down. Please find a safe place to logout now.");
Thread.sleep(10000);
- simulationService.notifyAllClients(new ChatSystemMessage("You will now be disconnected so the server can perform a final save before shutting down.", (byte) 0 ).serialize());
+ chatService.broadcastGalaxy("You will now be disconnected so the server can perform a final save before shutting down.");
synchronized(getActiveConnectionsMap()) {
for(Client client : getActiveConnectionsMap().values()) {
client.getSession().close(true);
- connectionService.disconnect(client.getSession());
+ connectionService.disconnect(client);
}
}
diff --git a/src/protocol/swg/AttributeListMessage.java b/src/protocol/swg/AttributeListMessage.java
index da681a16..55721a52 100644
--- a/src/protocol/swg/AttributeListMessage.java
+++ b/src/protocol/swg/AttributeListMessage.java
@@ -22,7 +22,6 @@
package protocol.swg;
import java.nio.ByteOrder;
-import java.util.Map.Entry;
import org.apache.mina.core.buffer.IoBuffer;
import org.apache.mina.core.buffer.SimpleBufferAllocator;
@@ -47,7 +46,7 @@ public class AttributeListMessage extends SWGMessage {
@Override
public IoBuffer serialize() {
- IoBuffer result = bufferPool.allocate(100, false).order(ByteOrder.LITTLE_ENDIAN);
+ final IoBuffer result = bufferPool.allocate(100, false).order(ByteOrder.LITTLE_ENDIAN);
result.setAutoExpand(true);
result.putShort((short) 5);
@@ -58,17 +57,16 @@ public class AttributeListMessage extends SWGMessage {
synchronized(target.getMutex()) {
result.putInt(target.getAttributes().size());
-
- for(Entry e : target.getAttributes().entrySet()) {
- result.put(getAsciiString(e.getKey()));
- result.put(getUnicodeString(e.getValue()));
- }
+ target.getAttributes().forEach((key, value) -> {
+ result.put(getAsciiString(key));
+ result.put(getUnicodeString(value));
+ });
}
result.putInt(0);
int size = result.position();
- result = bufferPool.allocate(size, false).put(result.array(), 0, size);
+ IoBuffer result2 = bufferPool.allocate(size, false).put(result.array(), 0, size);
- return result.flip();
+ return result2.flip();
}
diff --git a/src/protocol/swg/CharacterSheetResponseMessage.java b/src/protocol/swg/CharacterSheetResponseMessage.java
new file mode 100644
index 00000000..70e14124
--- /dev/null
+++ b/src/protocol/swg/CharacterSheetResponseMessage.java
@@ -0,0 +1,109 @@
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
+package protocol.swg;
+
+import java.nio.ByteOrder;
+
+import main.NGECore;
+
+import org.apache.mina.core.buffer.IoBuffer;
+
+import resources.objects.creature.CreatureObject;
+import resources.objects.player.PlayerObject;
+import engine.resources.common.CRC;
+import engine.resources.objects.SWGObject;
+import engine.resources.scene.Point3D;
+
+public class CharacterSheetResponseMessage extends SWGMessage {
+
+ private PlayerObject player;
+ public CharacterSheetResponseMessage(PlayerObject player) {
+ this.player = player;
+ }
+
+ @Override
+ public void deserialize(IoBuffer data) {
+
+ }
+
+ @Override
+ public IoBuffer serialize() {
+ CreatureObject creature = (CreatureObject) player.getContainer();
+
+ if (creature != null) {
+
+ SWGObject desCloner = null;
+ if (creature.getAttachment("preDesignatedCloner") != null)
+ desCloner = NGECore.getInstance().objectService.getObject((long) creature.getAttachment("preDesignatedCloner"));
+
+ String clonerPlanet = "";
+ String spouse = "";
+
+ if (desCloner != null)
+ clonerPlanet = desCloner.getPlanet().getName();
+
+ if (player.getSpouseName() != null)
+ spouse = player.getSpouseName();
+
+ IoBuffer buffer = IoBuffer.allocate(82 + clonerPlanet.length() + (spouse.length() * 2)).order(ByteOrder.LITTLE_ENDIAN);
+
+ buffer.putShort((short) 12);
+ buffer.putInt(CRC.StringtoCRC("CharacterSheetResponseMessage"));
+
+ buffer.putInt(0);
+ buffer.putInt(0);
+
+ if (desCloner != null) {
+ Point3D loc = desCloner.getPosition();
+ buffer.putFloat(loc.x); // bind x
+ buffer.putFloat(loc.y); // bind z
+ buffer.putFloat(loc.z); // bind y
+ buffer.put(getAsciiString(clonerPlanet)); // bind planet
+ } else {
+ buffer.putFloat(0); // bind x
+ buffer.putFloat(0); // bind z
+ buffer.putFloat(0); // bind y
+ buffer.put(getAsciiString("")); // bind planet
+ }
+
+ buffer.putFloat(0); // bank x
+ buffer.putFloat(0); // bank z
+ buffer.putFloat(0); // bank y
+ buffer.put(getAsciiString("tatooine"));
+
+ buffer.putFloat(0); // home x
+ buffer.putFloat(0); // home z
+ buffer.putFloat(0); // home y
+ buffer.put(getAsciiString("")); // home planet
+
+ buffer.put(getAsciiString("")); // Name of city player resides in
+
+ buffer.put(getUnicodeString(spouse));
+
+ buffer.putInt(creature.getPlayerObject().getLotsRemaining()); // lots remaining
+
+ return buffer.flip();
+ }
+ return null;
+ }
+
+}
diff --git a/src/protocol/swg/ChatSystemMessage.java b/src/protocol/swg/ChatSystemMessage.java
deleted file mode 100644
index e12aa1f4..00000000
--- a/src/protocol/swg/ChatSystemMessage.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013
- *
- * This File is part of NGECore2.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program. If not, see .
- *
- * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
- * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
- ******************************************************************************/
-package protocol.swg;
-
-import java.nio.ByteOrder;
-
-import org.apache.mina.core.buffer.IoBuffer;
-
-import resources.common.Opcodes;
-
-public class ChatSystemMessage extends SWGMessage{
-
- private String stfFilename;
- private String stfName;
- private int stat;
- private String message;
- private byte displayType;
-
- public ChatSystemMessage(String message, byte displayType) {
- this.message = message;
- this.displayType = displayType;
- }
-
- public ChatSystemMessage(String stfFilename, String stfName, int stat, byte displayType) {
- this.stfFilename = stfFilename;
- this.stfName = stfName;
- this.stat = stat;
- this.displayType = displayType;
- }
-
- public void deserialize(IoBuffer data) {
-
- }
-
- public IoBuffer serialize() {
- if (message != null) {
- IoBuffer result = IoBuffer.allocate(15 + message.length() * 2).order(ByteOrder.LITTLE_ENDIAN);
- result.putShort((short) 2);
- result.putInt(Opcodes.ChatSystemMessage);
- result.put(displayType); // 0x00 = Chat and Screen // 0x02 = Chat only
- result.put(getUnicodeString(message));
- result.putInt(0);
- return result.flip();
- } else {
- IoBuffer result = IoBuffer.allocate(99 + stfFilename.length() + stfName.length()).order(ByteOrder.LITTLE_ENDIAN);
- result.putShort((short) 4);
- result.putInt(Opcodes.ChatSystemMessage);
- result.put((byte) 0); //result.put((byte) displayType); // 0x00 = Chat and Screen // 0x02 = Chat only
- result.putInt(0);
- result.putInt(54);
- result.putShort((short) 0);
- result.put((byte) 1);
- result.putInt(-1);
- result.put(getAsciiString(stfFilename));
- result.putInt(0);
- result.put(getAsciiString(stfName));
- result.putInt(0);
- result.putLong(0);
- result.putLong(0);
- result.putLong(0);
- result.putLong(0);
- result.putLong(0);
- result.putLong(0);
- result.putLong(0);
- result.putInt(stat);
- result.putInt(0);
- result.put((byte) 0);
- return result.flip();
- }
- }
-
-}
diff --git a/src/protocol/swg/CollectionServerFirstListRequest.java b/src/protocol/swg/CollectionServerFirstListRequest.java
new file mode 100644
index 00000000..cc053664
--- /dev/null
+++ b/src/protocol/swg/CollectionServerFirstListRequest.java
@@ -0,0 +1,53 @@
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
+package protocol.swg;
+
+import org.apache.mina.core.buffer.IoBuffer;
+
+public class CollectionServerFirstListRequest extends SWGMessage {
+
+ private String server;
+
+ public CollectionServerFirstListRequest() {
+ }
+
+ @Override
+ public void deserialize(IoBuffer data) {
+ data.getShort();
+ data.getInt();
+ setServer(getAsciiString(data));
+ }
+
+ public String getServer() {
+ return server;
+ }
+
+ @Override
+ public IoBuffer serialize() {
+ return null;
+ }
+
+ public void setServer(String server) {
+ this.server = server;
+ }
+
+}
diff --git a/src/protocol/swg/CollectionServerFirstListResponse.java b/src/protocol/swg/CollectionServerFirstListResponse.java
new file mode 100644
index 00000000..0373dc5a
--- /dev/null
+++ b/src/protocol/swg/CollectionServerFirstListResponse.java
@@ -0,0 +1,73 @@
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
+package protocol.swg;
+
+import java.nio.ByteOrder;
+import java.util.Map;
+import java.util.Map.Entry;
+
+import org.apache.mina.core.buffer.IoBuffer;
+
+import services.collections.ServerFirst;
+import engine.resources.common.CRC;
+
+public class CollectionServerFirstListResponse extends SWGMessage {
+
+ private Map sfList;
+ private String server;
+
+ public CollectionServerFirstListResponse(String server, Map serverFirstList){
+ this.sfList = serverFirstList;
+ this.server = server;
+ }
+
+ @Override
+ public void deserialize(IoBuffer data) {
+
+ }
+
+ @Override
+ public IoBuffer serialize() {
+ IoBuffer buffer;
+
+ int size = 0;
+
+ synchronized (sfList) {
+ for (Entry entry : sfList.entrySet()) {
+ size += entry.getValue().getBytes().length;
+ }
+
+ buffer = IoBuffer.allocate(12 + server.length() + size).order(ByteOrder.LITTLE_ENDIAN);
+ buffer.putShort((short) 2);
+ buffer.putInt(CRC.StringtoCRC("CollectionServerFirstListResponse"));
+
+ buffer.put(getAsciiString(server));
+ buffer.putInt(sfList.size());
+
+ for (Entry entry : sfList.entrySet()) {
+ buffer.put(entry.getValue().getBytes());
+
+ }
+ return buffer.flip();
+ }
+ }
+}
diff --git a/src/protocol/swg/CommPlayerMessage.java b/src/protocol/swg/CommPlayerMessage.java
new file mode 100644
index 00000000..5d1274c8
--- /dev/null
+++ b/src/protocol/swg/CommPlayerMessage.java
@@ -0,0 +1,73 @@
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
+package protocol.swg;
+
+import java.nio.ByteOrder;
+
+import org.apache.mina.core.buffer.IoBuffer;
+
+import resources.common.Console;
+import resources.common.OutOfBand;
+import resources.common.StringUtilities;
+
+public class CommPlayerMessage extends SWGMessage {
+
+ private long objectId;
+ private OutOfBand outOfBand;
+
+ public CommPlayerMessage(long objectId, OutOfBand outOfBand) {
+ this.objectId = objectId;
+ this.outOfBand = outOfBand;
+ }
+
+ @Override
+ public void deserialize(IoBuffer data) {
+
+ }
+
+ @Override
+ public IoBuffer serialize() {
+ IoBuffer buffer = IoBuffer.allocate(200).order(ByteOrder.LITTLE_ENDIAN);
+ buffer.putShort((short) 2);
+ buffer.putInt(0x594AD258);
+ buffer.put((byte) 0); // aurebesh borders on comm, space version? Can cause crashes
+ buffer.putLong(objectId);
+ /* Seen numbers:
+ * 52 (Starting Station Comms)
+ * 54 (Tansarii Comms)
+ * 57 (Supply Drops)
+ * 58 (Faction Covert->Overt)
+ * 68 (Imperial stop)
+ */
+ buffer.put(outOfBand.serialize().array());
+ // Officer Supply Drop: 0x3E894347
+ // Rebel Faction Dude: 0x528CB3D7
+ buffer.putInt(0x528CB3D7); // model crc, can be anything w/o crashing
+ buffer.putInt(0); // sound
+ buffer.putShort((short) 0); // unk
+ buffer.putShort((short) 16576); // comm display time, unsure on how it's calculated (probably milliseconds)
+ buffer.flip();
+ Console.println("CPM: " + StringUtilities.bytesToHex(buffer.array()));
+ return buffer;
+ }
+
+}
diff --git a/src/protocol/swg/CreateClientPathMessage.java b/src/protocol/swg/CreateClientPathMessage.java
new file mode 100644
index 00000000..37a6d571
--- /dev/null
+++ b/src/protocol/swg/CreateClientPathMessage.java
@@ -0,0 +1,65 @@
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
+package protocol.swg;
+
+import java.nio.ByteOrder;
+import java.util.List;
+
+import org.apache.mina.core.buffer.IoBuffer;
+
+import resources.common.StringUtilities;
+import engine.resources.common.CRC;
+import engine.resources.scene.Point3D;
+
+public class CreateClientPathMessage extends SWGMessage {
+
+ private List coordinates;
+
+ public CreateClientPathMessage(List coordinates) {
+ this.coordinates = coordinates;
+ }
+
+ @Override
+ public void deserialize(IoBuffer data) {
+
+ }
+
+ @Override
+ public IoBuffer serialize() {
+ IoBuffer buffer = IoBuffer.allocate((coordinates.size() * 12) + 10).order(ByteOrder.LITTLE_ENDIAN);
+
+ buffer.putShort((short) 2);
+ buffer.putInt(CRC.StringtoCRC("CreateClientPathMessage"));
+
+ buffer.putInt(coordinates.size());
+ for(Point3D point : coordinates) {
+ buffer.putFloat(point.x);
+ buffer.putFloat(point.z);
+ buffer.putFloat(point.y);
+ }
+
+ buffer.flip();
+ StringUtilities.printBytes(buffer.array());
+ return buffer;
+ }
+
+}
diff --git a/src/resources/z/exp/group/Member.java b/src/protocol/swg/EnterStructurePlacementModeMessage.java
similarity index 59%
rename from src/resources/z/exp/group/Member.java
rename to src/protocol/swg/EnterStructurePlacementModeMessage.java
index 93c5b64b..3f12cf0a 100644
--- a/src/resources/z/exp/group/Member.java
+++ b/src/protocol/swg/EnterStructurePlacementModeMessage.java
@@ -19,52 +19,46 @@
* Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
* Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
******************************************************************************/
-package resources.z.exp.group;
+package protocol.swg;
import java.nio.ByteOrder;
+import main.NGECore;
+
import org.apache.mina.core.buffer.IoBuffer;
-import com.sleepycat.persist.model.Persistent;
-
+import services.travel.TravelPoint;
import engine.resources.objects.SWGObject;
-import resources.objects.Delta;
+@SuppressWarnings("unused")
+public class EnterStructurePlacementModeMessage extends SWGMessage {
-@Persistent
-public class Member extends Delta {
+ private SWGObject deed;
+ private String structureTemplate;
- private SWGObject member;
-
- public Member(SWGObject member) {
- this.member = member;
+ public EnterStructurePlacementModeMessage(SWGObject deed, String structureTemplate) {
+ this.deed = deed;
+ this.structureTemplate = structureTemplate;
}
- public Member() {
+ @Override
+ public void deserialize(IoBuffer data) {
+
+ }
+
+ @Override
+ public IoBuffer serialize() {
+ IoBuffer result = IoBuffer.allocate(16 + structureTemplate.length()).order(ByteOrder.LITTLE_ENDIAN);
+ result.putShort((short) 3);
+ result.putInt(0xE8A54DC1);
+
+ result.putLong(deed.getObjectID());
+
+ deed.setAttachment("structureTemplate", structureTemplate);
+ result.put(getAsciiString(structureTemplate));
+
+ return result.flip();
}
-
- public SWGObject getMember() {
- synchronized(objectMutex) {
- return member;
- }
- }
-
- public long getObjectId() {
- return member.getObjectID();
- }
-
- public String getCustomName() {
- return member.getCustomName();
- }
-
- public byte[] getBytes() {
- synchronized(objectMutex) {
- IoBuffer buffer = bufferPool.allocate(8 + getAsciiString(getCustomName()).length, false).order(ByteOrder.LITTLE_ENDIAN);
- buffer.putLong(getObjectId());
- buffer.put(getAsciiString(getCustomName()));
- return buffer.array();
- }
- }
-
-}
+
+}
\ No newline at end of file
diff --git a/src/protocol/swg/GuildRequestMessage.java b/src/protocol/swg/GuildRequestMessage.java
new file mode 100644
index 00000000..d9f1f368
--- /dev/null
+++ b/src/protocol/swg/GuildRequestMessage.java
@@ -0,0 +1,31 @@
+package protocol.swg;
+
+import org.apache.mina.core.buffer.IoBuffer;
+
+public class GuildRequestMessage extends SWGMessage {
+
+ private long characterId;
+
+ public GuildRequestMessage() {
+ }
+
+ @Override
+ public void deserialize(IoBuffer data) {
+ //data.getShort();
+ setCharacterId(data.getLong());
+ }
+
+ @Override
+ public IoBuffer serialize() {
+ return null;
+ }
+
+ public long getCharacterId() {
+ return characterId;
+ }
+
+ public void setCharacterId(long characterId) {
+ this.characterId = characterId;
+ }
+
+}
diff --git a/src/resources/z/exp/objects/building/BuildingMessageBuilder.java b/src/protocol/swg/GuildResponseMessage.java
similarity index 62%
rename from src/resources/z/exp/objects/building/BuildingMessageBuilder.java
rename to src/protocol/swg/GuildResponseMessage.java
index b6905d33..f98e6713 100644
--- a/src/resources/z/exp/objects/building/BuildingMessageBuilder.java
+++ b/src/protocol/swg/GuildResponseMessage.java
@@ -19,31 +19,38 @@
* Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
* Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
******************************************************************************/
-package resources.z.exp.objects.building;
+package protocol.swg;
-import java.util.Map;
+import java.nio.ByteOrder;
-import resources.z.exp.objects.Builder;
-import resources.z.exp.objects.tangible.TangibleMessageBuilder;
+import org.apache.mina.core.buffer.IoBuffer;
-public class BuildingMessageBuilder extends TangibleMessageBuilder {
+public class GuildResponseMessage extends SWGMessage {
+
+ private long player;
+ private String guildName;
- public BuildingMessageBuilder(BuildingObject object) {
- super(object);
- }
-
- public BuildingMessageBuilder() {
- super();
+ public GuildResponseMessage(long player, String guild) {
+ this.player = player;
+ this.guildName = guild;
}
@Override
- public void buildBaseline3(Map baselineBuilders, Map deltaBuilders) {
- super.buildBaseline3(deltaBuilders, deltaBuilders);
+ public void deserialize(IoBuffer data) {
+
+
}
-
+
@Override
- public void buildBaseline6(Map baselineBuilders, Map deltaBuilders) {
- super.buildBaseline6(deltaBuilders, deltaBuilders);
+ public IoBuffer serialize() {
+ IoBuffer buffer = IoBuffer.allocate(18 + guildName.length()).order(ByteOrder.LITTLE_ENDIAN);
+
+ buffer.putShort((short) 4);
+ buffer.putInt(0x32263F20);
+
+ buffer.putLong(player);
+ buffer.put(getAsciiString(guildName));
+
+ return buffer.flip();
}
-
}
diff --git a/src/protocol/swg/ObjControllerMessage.java b/src/protocol/swg/ObjControllerMessage.java
index 2aa76b4e..a9f541b8 100644
--- a/src/protocol/swg/ObjControllerMessage.java
+++ b/src/protocol/swg/ObjControllerMessage.java
@@ -26,6 +26,7 @@ import java.nio.ByteOrder;
import org.apache.mina.core.buffer.IoBuffer;
+
import protocol.swg.objectControllerObjects.CommandEnqueue;
import protocol.swg.objectControllerObjects.DataTransform;
import protocol.swg.objectControllerObjects.DataTransformWithParent;
@@ -53,8 +54,26 @@ public class ObjControllerMessage extends SWGMessage {
public static final int SHOW_FLY_TEXT = 0x01BD;
public static final int START_TASK = 0x448;
public static final int ANIMATION = 0x00F2;
- public static final int BUFF_BUILDER_START = 0x025C;
public static final int BUFF_BUILDER_CHANGE = 0x025A;
+ public static final int BUFF_BUILDER_END = 0x025B;
+ public static final int BUFF_BUILDER_START = 0x025C;
+ public static final int UI_PLAY_EFFECT = 0x0401;
+ public static final int SHOW_LOOT_BOX = 0x04BC;
+ public static final int IMAGE_DESIGN_START = 0x023A;
+ public static final int IMAGE_DESIGN_CHANGE = 0x0238;
+ public static final int IMAGE_DESIGN_END = 0x0239;
+ public static final int START_CONVERSATION = 0x00DD;
+ public static final int STOP_CONVERSATION = 0x00DE;
+ public static final int CONVERSATION_MESSAGE = 0x00DF;
+ public static final int CONVERSATION_OPTIONS = 0x00E0;
+ public static final int DRAFT_SCHEMATICS = 0x0102;
+ public static final int DRAFT_SLOTS = 0x0103;
+ public static final int CRAFT_EXPERIMENT = 0x0106;
+ public static final int CRAFT_ACKNOWLEDGE = 0x010C;
+ public static final int CRAFT_CUSTOMIZATION = 0x015A;
+ public static final int NEXT_CRAFTING_STAGE_RESULT = 0x01BE;
+ public static final int DRAFT_SLOTS_QUERY_RESPONSE = 0x01BF;
+ public static final int RESOURCE_WEIGHTS = 0x0207;
public ObjControllerMessage() {
@@ -72,13 +91,14 @@ public class ObjControllerMessage extends SWGMessage {
}
public IoBuffer serialize() {
- IoBuffer buffer = IoBuffer.allocate(1024).order(ByteOrder.LITTLE_ENDIAN);
-
+ //IoBuffer buffer = IoBuffer.allocate(1024).order(ByteOrder.LITTLE_ENDIAN); -> java.nio.BufferOverflowException
+ IoBuffer buffer = IoBuffer.allocate(10).order(ByteOrder.LITTLE_ENDIAN);
+ buffer.setAutoExpand(true);
buffer.putShort((short)5);
buffer.putInt(0x80CE5E46);
buffer.putInt(update);
buffer.put(objControllerObject.serialize());
- //System.out.println("OBJMSG: " + buffer.flip().getHexDump());
+ //System.out.println("OBJMSG: " + StringUtilities.bytesToHex(buffer.flip().array()));
int size = buffer.position();
return IoBuffer.allocate(size).put(buffer.array(), 0, size).flip();
}
diff --git a/src/protocol/swg/ParametersMessage.java b/src/protocol/swg/ParametersMessage.java
index fbc87a36..0d4abb53 100644
--- a/src/protocol/swg/ParametersMessage.java
+++ b/src/protocol/swg/ParametersMessage.java
@@ -40,7 +40,7 @@ public class ParametersMessage extends SWGMessage {
IoBuffer packet = IoBuffer.allocate(10).order(ByteOrder.LITTLE_ENDIAN);
packet.putShort((short) 2);
- packet.putInt(0x7102B15F);
+ packet.putInt(0x487652DA);
packet.putInt(0x00000384);
return packet.flip();
diff --git a/src/protocol/swg/PlayClientEffectObjectMessage.java b/src/protocol/swg/PlayClientEffectObjectMessage.java
index 5e9dead4..ad94129f 100644
--- a/src/protocol/swg/PlayClientEffectObjectMessage.java
+++ b/src/protocol/swg/PlayClientEffectObjectMessage.java
@@ -36,7 +36,6 @@ public class PlayClientEffectObjectMessage extends SWGMessage {
this.effectFile = effectFile;
this.objectId = objectId;
this.commandString = commandString;
-
}
@Override
@@ -47,9 +46,18 @@ public class PlayClientEffectObjectMessage extends SWGMessage {
result.putShort((short) 5);
result.putInt(0x8855434A);
result.put(getAsciiString(effectFile));
- result.putShort((short) 0);
- result.putLong(objectId);
- result.put(getAsciiString(commandString));
+
+ if(!effectFile.startsWith("clienteffect/holoemote_"))
+ {
+ result.putShort((short) 0); // Because waverunner is a dweeb
+ result.putLong(objectId);
+ result.put(getAsciiString(commandString));
+ }
+ else
+ {
+ result.put(getAsciiString(commandString));
+ result.putLong(objectId);
+ }
return result.flip();
diff --git a/src/protocol/swg/PlayClientEffectObjectTransformMessage.java b/src/protocol/swg/PlayClientEffectObjectTransformMessage.java
new file mode 100644
index 00000000..e5a0e7d4
--- /dev/null
+++ b/src/protocol/swg/PlayClientEffectObjectTransformMessage.java
@@ -0,0 +1,90 @@
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
+package protocol.swg;
+
+import java.nio.ByteOrder;
+
+import org.apache.mina.core.buffer.IoBuffer;
+import org.apache.mina.core.buffer.SimpleBufferAllocator;
+
+import engine.resources.scene.Point3D;
+import engine.resources.scene.Quaternion;
+
+public class PlayClientEffectObjectTransformMessage extends SWGMessage {
+
+ private long objectId;
+ private String effectFile;
+ private String commandString;
+ private Point3D effectorPosition;
+ private Quaternion effectorOrientation;
+ public SimpleBufferAllocator bufferPool = new SimpleBufferAllocator();
+
+ public PlayClientEffectObjectTransformMessage(String effectFile, long objectId, String commandString, Point3D effectorPosition, Quaternion effectorOrientation) {
+
+ this.effectFile = effectFile;
+ this.objectId = objectId;
+ this.commandString = commandString;
+ this.effectorPosition = effectorPosition;
+ this.effectorOrientation = effectorOrientation;
+ }
+
+ @Override
+ public IoBuffer serialize() {
+
+ IoBuffer result = bufferPool.allocate(100, false).order(ByteOrder.LITTLE_ENDIAN);
+ result.setAutoExpand(true);
+ result.putShort((short) 5);
+ result.putInt(0x4F5E09B6);
+ result.put(getAsciiString(effectFile));
+ result.putFloat(effectorOrientation.w); // qw
+ result.putFloat(effectorOrientation.x); // qx
+ result.putFloat(effectorOrientation.y); // qy
+ result.putFloat(effectorOrientation.z); // qz
+ result.putFloat(effectorPosition.x); // pos.x
+ result.putFloat(effectorPosition.y); // pos.y
+ result.putFloat(effectorPosition.z); // pos.z
+ result.putLong(objectId);
+ result.put(getAsciiString(commandString));
+
+ int size = result.position();
+ result.flip();
+ result = bufferPool.allocate(size, false).put(result.array(), 0, size);
+
+ return IoBuffer.allocate(size).put(result.array(), 0, size).flip();
+ }
+
+ /*
+ 00 09 54 6C 05 00 B6 09-5E 4F 1B 00 61 70 70 65
+ 61 72 61 6E 63 65 2F 70-74 5F 6C 6F 6F 74 5F 64
+ 69 73 63 2E 70 72 74 00-00 00 00 00 00 00 00 00
+ 00 00 00 00 00 80 3F 00-00 00 00 24 F8 AA 3F 00
+ 00 00 00 3B 54 E1 3E 33-00 00 00 06 00 6C 6F 6F
+ 74 4D 65 01 EB 3C
+ */
+
+ @Override
+ public void deserialize(IoBuffer data) {
+ // TODO Auto-generated method stub
+
+ }
+
+}
diff --git a/src/protocol/swg/PlayerMoneyResponse.java b/src/protocol/swg/PlayerMoneyResponse.java
new file mode 100644
index 00000000..0438dd02
--- /dev/null
+++ b/src/protocol/swg/PlayerMoneyResponse.java
@@ -0,0 +1,57 @@
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
+package protocol.swg;
+
+import java.nio.ByteOrder;
+
+import org.apache.mina.core.buffer.IoBuffer;
+
+public class PlayerMoneyResponse extends SWGMessage {
+
+ int cash;
+ int bank;
+
+ public PlayerMoneyResponse(int cash, int bank) {
+ this.cash = cash;
+ this.bank = bank;
+ }
+
+ @Override
+ public void deserialize(IoBuffer data) {
+
+ }
+
+ @Override
+ public IoBuffer serialize() {
+ IoBuffer buffer = IoBuffer.allocate(14).order(ByteOrder.LITTLE_ENDIAN);
+
+ buffer.putShort((short) 3);
+ buffer.putInt(0x367E737E);
+
+ buffer.putInt(bank);
+ buffer.putInt(cash);
+
+ buffer.flip();
+ return buffer;
+ }
+
+}
diff --git a/src/protocol/swg/ResourceListForSurveyMessage.java b/src/protocol/swg/ResourceListForSurveyMessage.java
new file mode 100644
index 00000000..e1c9c886
--- /dev/null
+++ b/src/protocol/swg/ResourceListForSurveyMessage.java
@@ -0,0 +1,119 @@
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
+package protocol.swg;
+
+import java.io.UnsupportedEncodingException;
+import java.nio.ByteOrder;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Vector;
+
+import main.NGECore;
+
+import org.apache.mina.core.buffer.IoBuffer;
+import protocol.swg.SWGMessage;
+import resources.objects.creature.CreatureObject;
+import resources.objects.resource.GalacticResource;
+import resources.objects.tangible.TangibleObject;
+
+public class ResourceListForSurveyMessage extends SWGMessage {
+
+ private TangibleObject tool;
+ private List resourceList;
+
+ public ResourceListForSurveyMessage(TangibleObject tool, List resourceList) {
+ this.tool = tool;
+ this.resourceList = resourceList;
+ }
+
+ public ResourceListForSurveyMessage(NGECore core, TangibleObject tool, CreatureObject surveyor) {
+ this.tool = tool;
+ this.resourceList = new ArrayList();
+ byte generalType = 0;
+ String toolName = tool.getDetailName();
+ if (toolName.equals("survey_tool_mineral"))
+ generalType = (byte) 0;
+ if (toolName.equals("survey_tool_inorganic"))
+ generalType = (byte) 1;
+ if (toolName.equals("survey_tool_organic") || toolName.equals("survey_tool_lumber"))
+ generalType = (byte) 2;
+ if (toolName.equals("survey_tool_gas"))
+ generalType = (byte) 3;
+ if (toolName.equals("survey_tool_moisture"))
+ generalType = (byte) 4;
+ if (toolName.equals("survey_tool_solar"))
+ generalType = (byte) 5;
+ if (toolName.equals("survey_tool_wind"))
+ generalType = (byte) 6;
+ if (toolName.equals("survey_tool_liquid"))
+ generalType = (byte) 7;
+
+ Vector planetVector = core.resourceService.getSpawnedResourcesByPlanetAndType(surveyor.getPlanetId(),generalType);
+
+ resourceList = new ArrayList(planetVector);
+
+ }
+
+ public void deserialize(IoBuffer data) {
+
+ }
+
+ public IoBuffer serialize() {
+ IoBuffer result = IoBuffer.allocate(10).order(ByteOrder.LITTLE_ENDIAN);
+ result.setAutoExpand(true);
+ result.putShort((short)4);
+ result.putInt(0x8A64B1D5);
+ result.putInt(resourceList.size());
+ GalacticResource resourceElement = null;
+ for (int i = 0; i < resourceList.size(); i++) {
+ resourceElement = resourceList.get(i);
+ try {
+ result.putShort((short)resourceElement.getName().length()); // CStringesque length ahead
+ result.put(resourceElement.getName().getBytes("US-ASCII"));
+ result.putLong(resourceElement.getId());
+ result.putShort((short)resourceElement.getFileName().length());
+ result.put(resourceElement.getFileName().getBytes("US-ASCII"));
+ } catch (UnsupportedEncodingException e) {
+ e.printStackTrace();
+ e.getMessage();
+ e.getCause();
+ }
+ }
+ if (resourceElement != null) {
+ try {
+ result.putShort((short)resourceElement.getCategory().length());
+ result.put(resourceElement.getCategory().getBytes("US-ASCII"));
+ } catch (UnsupportedEncodingException e) {
+ e.printStackTrace();
+ }
+ } else {
+ result.putShort((short)0);
+ }
+
+ result.putLong(tool.getObjectID());
+
+ int size = result.position();
+ result.flip();
+ tools.CharonPacketUtils.printAnalysis(IoBuffer.allocate(size).put(result.array(), 0, size).flip());
+ return IoBuffer.allocate(size).put(result.array(), 0, size).flip();
+ }
+}
diff --git a/src/protocol/swg/SWGMessageFactory.java b/src/protocol/swg/SWGMessageFactory.java
index fc5bd8c3..640b019e 100644
--- a/src/protocol/swg/SWGMessageFactory.java
+++ b/src/protocol/swg/SWGMessageFactory.java
@@ -24,6 +24,7 @@ package protocol.swg;
import java.nio.ByteBuffer;
import protocol.Message;
+import protocol.swg.chat.ChatInstantMessageToCharacter;
public class SWGMessageFactory {
diff --git a/src/protocol/swg/SceneDestroyObject.java b/src/protocol/swg/SceneDestroyObject.java
index e5fbfd02..2048f614 100644
--- a/src/protocol/swg/SceneDestroyObject.java
+++ b/src/protocol/swg/SceneDestroyObject.java
@@ -45,6 +45,7 @@ public class SceneDestroyObject extends SWGMessage {
result.putInt(0x4D45D504);
result.putLong(objectId);
+ result.put((byte) 0); // unk
return result.flip();
}
}
diff --git a/src/protocol/swg/SetWaypointColor.java b/src/protocol/swg/SetWaypointColor.java
index bb53cd75..f7a418d9 100644
--- a/src/protocol/swg/SetWaypointColor.java
+++ b/src/protocol/swg/SetWaypointColor.java
@@ -26,8 +26,6 @@ import java.nio.ByteBuffer;
import org.apache.mina.core.buffer.IoBuffer;
-import resources.common.StringUtilities;
-
public class SetWaypointColor extends SWGMessage {
private long objectId;
diff --git a/src/protocol/swg/ShowBackpack.java b/src/protocol/swg/ShowBackpack.java
new file mode 100644
index 00000000..04ba5b3b
--- /dev/null
+++ b/src/protocol/swg/ShowBackpack.java
@@ -0,0 +1,60 @@
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
+package protocol.swg;
+
+import org.apache.mina.core.buffer.IoBuffer;
+
+public class ShowBackpack extends SWGMessage {
+
+ private long objectId;
+ private boolean showBackpack;
+
+ public ShowBackpack() { }
+
+ @Override
+ public void deserialize(IoBuffer data) {
+ setObjectId(data.getLong());
+ setShowBackpack((data.get() == 1) ? true : false);
+ }
+
+ public long getObjectId() {
+ return objectId;
+ }
+
+ public boolean isShowBackpack() {
+ return showBackpack;
+ }
+
+ @Override
+ public IoBuffer serialize() {
+ return null;
+ }
+
+ public void setObjectId(long objectId) {
+ this.objectId = objectId;
+ }
+
+ public void setShowBackpack(boolean showBackpack) {
+ this.showBackpack = showBackpack;
+ }
+
+}
diff --git a/src/protocol/swg/ShowHelmet.java b/src/protocol/swg/ShowHelmet.java
new file mode 100644
index 00000000..4c5c2ecb
--- /dev/null
+++ b/src/protocol/swg/ShowHelmet.java
@@ -0,0 +1,60 @@
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
+package protocol.swg;
+
+import org.apache.mina.core.buffer.IoBuffer;
+
+public class ShowHelmet extends SWGMessage {
+
+ private long objectId;
+ private boolean showHelmet;
+
+ public ShowHelmet() { }
+
+ @Override
+ public void deserialize(IoBuffer data) {
+ setObjectId(data.getLong());
+ setShowHelmet((data.get() == 1) ? true : false);
+ }
+
+ public long getObjectId() {
+ return objectId;
+ }
+
+ public boolean isShowHelmet() {
+ return showHelmet;
+ }
+
+ @Override
+ public IoBuffer serialize() {
+ return null;
+ }
+
+ public void setObjectId(long objectId) {
+ this.objectId = objectId;
+ }
+
+ public void setShowHelmet(boolean showHelmet) {
+ this.showHelmet = showHelmet;
+ }
+
+}
diff --git a/src/protocol/swg/SurveyMapUpdateMessage.java b/src/protocol/swg/SurveyMapUpdateMessage.java
new file mode 100644
index 00000000..21a2728f
--- /dev/null
+++ b/src/protocol/swg/SurveyMapUpdateMessage.java
@@ -0,0 +1,96 @@
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
+package protocol.swg;
+
+import java.nio.ByteOrder;
+import java.util.Vector;
+
+import org.apache.mina.core.buffer.IoBuffer;
+
+import protocol.swg.SWGMessage;
+import resources.objects.resource.ResourceConcentration;
+
+public class SurveyMapUpdateMessage extends SWGMessage {
+
+ private IoBuffer buffer;
+ private float highestConcentration;
+ float highestX;
+ float highestZ;
+
+ public SurveyMapUpdateMessage(Vector concentrationMap, int pointsAmount) {
+ //this.buffer = buffer;
+
+ this.buffer = IoBuffer.allocate(10).order(ByteOrder.LITTLE_ENDIAN);
+ buffer.setAutoExpand(true);
+ buffer.putInt(pointsAmount);
+ highestX = 0;
+ highestZ = 0;
+ highestConcentration = 0;
+ for (int i = 0; i < pointsAmount; i++) {
+ ResourceConcentration cursorConcentration = concentrationMap.get(i);
+ float concentration = 0.01f*cursorConcentration.getConcentration(); // percentage
+ float markerX = cursorConcentration.getCoordsX();
+ float markerZ = cursorConcentration.getCoordsZ();
+// System.out.println("markerX " + markerX);
+// System.out.println("markerZ " + markerZ);
+// System.out.println("concentration " + concentration);
+ buffer.putFloat(markerX);
+ buffer.putFloat(0);
+ buffer.putFloat(markerZ);
+ buffer.putFloat(concentration);
+ if (highestConcentration baselineBuilders, Map deltaBuilders) {
- super.buildBaseline3(baselineBuilders, deltaBuilders);
+ public void deserialize(IoBuffer data) {
+
}
-
+
@Override
- public void buildBaseline6(Map baselineBuilders, Map deltaBuilders) {
- super.buildBaseline6(baselineBuilders, deltaBuilders);
+ public IoBuffer serialize() {
+ IoBuffer result = IoBuffer.allocate(18).order(ByteOrder.LITTLE_ENDIAN);
+ result.putShort((short) 3);
+ result.putInt(0xC58A446E);
+ result.putLong(itemId);
+ result.putInt(error);
+ return result.flip();
}
-
+
}
diff --git a/src/protocol/swg/auctionManagerClientListener/AuctionItemDescriptionMessage.java b/src/protocol/swg/auctionManagerClientListener/AuctionItemDescriptionMessage.java
new file mode 100644
index 00000000..bdb7e95e
--- /dev/null
+++ b/src/protocol/swg/auctionManagerClientListener/AuctionItemDescriptionMessage.java
@@ -0,0 +1,59 @@
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
+package protocol.swg.auctionManagerClientListener;
+
+import java.nio.ByteOrder;
+
+import org.apache.mina.core.buffer.IoBuffer;
+
+import protocol.swg.SWGMessage;
+
+public class AuctionItemDescriptionMessage extends SWGMessage {
+
+ private long itemId;
+ private String description;
+
+ public AuctionItemDescriptionMessage(long itemId, String description) {
+ this.itemId = itemId;
+ this.description = description;
+ }
+
+
+ @Override
+ public void deserialize(IoBuffer data) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public IoBuffer serialize() {
+ IoBuffer result = IoBuffer.allocate(26 + (description.length() * 2)).order(ByteOrder.LITTLE_ENDIAN);
+ result.putShort((short) 2);
+ result.putInt(0xFE0E644B);
+ result.putLong(itemId);
+ result.put(getUnicodeString(description));
+ result.putInt(0);
+ result.putInt(0);
+ return result.flip();
+ }
+
+}
diff --git a/src/protocol/swg/auctionManagerClientListener/AuctionQueryHeadersMessage.java b/src/protocol/swg/auctionManagerClientListener/AuctionQueryHeadersMessage.java
new file mode 100644
index 00000000..e0ce1fd6
--- /dev/null
+++ b/src/protocol/swg/auctionManagerClientListener/AuctionQueryHeadersMessage.java
@@ -0,0 +1,183 @@
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
+package protocol.swg.auctionManagerClientListener;
+
+import java.io.UnsupportedEncodingException;
+import java.nio.ByteBuffer;
+
+import org.apache.mina.core.buffer.IoBuffer;
+
+import protocol.swg.SWGMessage;
+
+public class AuctionQueryHeadersMessage extends SWGMessage {
+
+ private int range;
+ private int counter;
+ private int screen;
+ private int category;
+ private int itemTypeCRC;
+ private String searchString;
+ private int unkInt;
+ private int minPrice;
+ private int maxPrice;
+ private byte includeEntranceFee;
+ private long vendorId;
+ private byte vendorFlag;
+ private short offset;
+
+ @Override
+ public void deserialize(IoBuffer data) {
+ data.skip(6);
+ setRange(data.getInt());
+ setCounter(data.getInt());
+ setScreen(data.getInt());
+ setCategory(data.getInt());
+ setItemTypeCRC(data.getInt());
+ int size = data.getInt();
+ try {
+ setSearchString(new String(ByteBuffer.allocate(size * 2).put(data.array(), data.position(), size * 2).array(), "UTF-16LE"));
+ } catch (UnsupportedEncodingException e) {
+ e.printStackTrace();
+ }
+ data.position(data.position() + size * 2);
+ setUnkInt(data.getInt());
+ setMinPrice(data.getInt());
+ setMaxPrice(data.getInt());
+ setIncludeEntranceFee(data.get());
+ data.skip(6); // unk
+ setVendorId(data.getLong());
+ setVendorFlag(data.get());
+ setOffset(data.getShort());
+
+ }
+
+ @Override
+ public IoBuffer serialize() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public int getRange() {
+ return range;
+ }
+
+ public void setRange(int range) {
+ this.range = range;
+ }
+
+ public int getCounter() {
+ return counter;
+ }
+
+ public void setCounter(int counter) {
+ this.counter = counter;
+ }
+
+ public int getScreen() {
+ return screen;
+ }
+
+ public void setScreen(int screen) {
+ this.screen = screen;
+ }
+
+ public int getCategory() {
+ return category;
+ }
+
+ public void setCategory(int category) {
+ this.category = category;
+ }
+
+ public int getItemTypeCRC() {
+ return itemTypeCRC;
+ }
+
+ public void setItemTypeCRC(int itemTypeCRC) {
+ this.itemTypeCRC = itemTypeCRC;
+ }
+
+ public String getSearchString() {
+ return searchString;
+ }
+
+ public void setSearchString(String searchString) {
+ this.searchString = searchString;
+ }
+
+ public int getUnkInt() {
+ return unkInt;
+ }
+
+ public void setUnkInt(int unkInt) {
+ this.unkInt = unkInt;
+ }
+
+ public int getMinPrice() {
+ return minPrice;
+ }
+
+ public void setMinPrice(int minPrice) {
+ this.minPrice = minPrice;
+ }
+
+ public int getMaxPrice() {
+ return maxPrice;
+ }
+
+ public void setMaxPrice(int maxPrice) {
+ this.maxPrice = maxPrice;
+ }
+
+ public byte getIncludeEntranceFee() {
+ return includeEntranceFee;
+ }
+
+ public void setIncludeEntranceFee(byte includeEntranceFee) {
+ this.includeEntranceFee = includeEntranceFee;
+ }
+
+ public long getVendorId() {
+ return vendorId;
+ }
+
+ public void setVendorId(long vendorId) {
+ this.vendorId = vendorId;
+ }
+
+ public byte getVendorFlag() {
+ return vendorFlag;
+ }
+
+ public void setVendorFlag(byte vendorFlag) {
+ this.vendorFlag = vendorFlag;
+ }
+
+ public short getOffset() {
+ return offset;
+ }
+
+ public void setOffset(short offset) {
+ this.offset = offset;
+ }
+
+}
diff --git a/src/protocol/swg/auctionManagerClientListener/AuctionQueryHeadersResponseMessage.java b/src/protocol/swg/auctionManagerClientListener/AuctionQueryHeadersResponseMessage.java
new file mode 100644
index 00000000..a36bb523
--- /dev/null
+++ b/src/protocol/swg/auctionManagerClientListener/AuctionQueryHeadersResponseMessage.java
@@ -0,0 +1,179 @@
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
+package protocol.swg.auctionManagerClientListener;
+
+import java.nio.ByteOrder;
+import java.util.HashSet;
+import java.util.LinkedHashSet;
+import java.util.Set;
+import java.util.TreeSet;
+import java.util.Vector;
+
+import org.apache.mina.core.buffer.IoBuffer;
+
+import engine.resources.common.CRC;
+import protocol.swg.SWGMessage;
+import services.bazaar.AuctionItem;
+
+public class AuctionQueryHeadersResponseMessage extends SWGMessage {
+
+ private int screen;
+ private int counter;
+ private LinkedHashSet locationList = new LinkedHashSet();
+ private LinkedHashSet itemList = new LinkedHashSet();
+ private long playerId;
+ private short offset;
+ private boolean continues;
+
+ public AuctionQueryHeadersResponseMessage(long playerId, int screen, int counter, short offset, boolean continues) {
+ this.playerId = playerId;
+ this.screen = screen;
+ this.counter = counter;
+ this.offset = offset;
+ this.continues = continues;
+ }
+
+ @Override
+ public void deserialize(IoBuffer data) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void addItem(AuctionItem item) {
+ locationList.add(item.getVuid());
+ locationList.add(item.getOwnerName());
+
+ if(item.isAuction() && item.getStatus() == AuctionItem.FORSALE)
+ locationList.add(item.getBidderName());
+ else
+ locationList.add("");
+
+ itemList.add(item);
+ }
+
+ @Override
+ public IoBuffer serialize() {
+ final IoBuffer result = IoBuffer.allocate(100).order(ByteOrder.LITTLE_ENDIAN);
+ result.setAutoExpand(true);
+
+ result.putShort((short) 8);
+ result.putInt(0xFA500E52);
+ result.putInt(counter);
+ result.putInt(screen);
+
+ result.putInt(locationList.size());
+
+ for(String str : locationList) {
+ result.put(getAsciiString(str));
+ }
+
+ result.putInt(itemList.size());
+
+ for(AuctionItem item : itemList) {
+ result.put(getUnicodeString(item.getItemName()));
+ }
+
+ result.putInt(itemList.size());
+
+ int i = 0;
+ for(AuctionItem item : itemList) {
+
+ result.putLong(item.getObjectId());
+ result.put((byte) i);
+ result.putInt(item.getPrice());
+ result.putInt((int) ((item.getExpireTime() - System.currentTimeMillis()) / 1000));
+ result.putInt(item.getPrice());
+ result.putShort((short) 0);
+ result.put((byte) 0);
+ result.putInt(CRC.StringtoCRC(item.getItem().getTemplate()));
+ result.putShort((short) 0);
+ result.put((byte) 0);
+ result.put((byte) 1);
+ result.putInt(0);
+ result.putInt(0);
+ result.put((byte) 0);
+ result.putInt(2);
+ result.putInt(0);
+ result.putShort((short) 0);
+ result.putInt(item.getItemType());
+ result.putInt(0);
+ result.putInt(0);
+ result.putInt(0);
+
+/*
+ result.put((byte) (item.isAuction() ? 0 : 1));
+ result.putShort((short) getStringIndex(item.getVuid()));
+ result.putLong(item.getOwnerId());
+ result.putShort((short) getStringIndex(item.getOwnerName()));
+
+ if(item.isAuction() && item.getStatus() == AuctionItem.FORSALE) {
+ result.putLong(item.getBuyerId());
+ result.putShort((short) getStringIndex(item.getBidderName()));
+ } else {
+ result.putLong(0);
+ result.putShort((short) getStringIndex(""));
+ }
+
+ result.putInt(item.getProxyBid());
+ result.putInt(item.getPrice());
+ result.putInt(item.getItemType());
+
+ int options = 0;
+
+ if(item.getOwnerId() == playerId && (item.getStatus() == AuctionItem.OFFERED || item.getStatus() == AuctionItem.FORSALE))
+ options |= 0x800;
+
+ result.putInt(item.getAuctionOptions() | options);
+ result.putInt(0);
+ */
+ i++;
+
+ }
+
+ result.putShort(offset);
+
+ if(continues)
+ result.put((byte) 1);
+ else
+ result.put((byte) 0);
+
+ int size = result.position();
+ IoBuffer result2 = IoBuffer.allocate(size).put(result.array(), 0, size);
+
+ return result2.flip();
+ }
+
+ private int getStringIndex(String str) {
+ int i = 0;
+ for(String string : locationList) {
+ if(str.equals(string))
+ return i;
+ i++;
+ }
+ return i;
+ }
+
+ public void setContinues(boolean continues) {
+ this.continues = continues;
+ }
+
+}
diff --git a/src/protocol/swg/auctionManagerClientListener/BidAuctionMessage.java b/src/protocol/swg/auctionManagerClientListener/BidAuctionMessage.java
new file mode 100644
index 00000000..b065b56e
--- /dev/null
+++ b/src/protocol/swg/auctionManagerClientListener/BidAuctionMessage.java
@@ -0,0 +1,83 @@
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
+package protocol.swg.auctionManagerClientListener;
+
+import org.apache.mina.core.buffer.IoBuffer;
+
+import protocol.swg.SWGMessage;
+
+public class BidAuctionMessage extends SWGMessage {
+
+ private long auctionId;
+ private long vendorId;
+ private int myPrice;
+ private int proxyPrice;
+
+
+ @Override
+ public void deserialize(IoBuffer data) {
+ data.skip(6);
+ setAuctionId(data.getLong());
+ setVendorId(data.getLong());
+ setMyPrice(data.getInt());
+ setProxyPrice(data.getInt());
+ }
+
+ @Override
+ public IoBuffer serialize() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public long getAuctionId() {
+ return auctionId;
+ }
+
+ public void setAuctionId(long auctionId) {
+ this.auctionId = auctionId;
+ }
+
+ public int getMyPrice() {
+ return myPrice;
+ }
+
+ public void setMyPrice(int myPrice) {
+ this.myPrice = myPrice;
+ }
+
+ public int getProxyPrice() {
+ return proxyPrice;
+ }
+
+ public void setProxyPrice(int proxyPrice) {
+ this.proxyPrice = proxyPrice;
+ }
+
+ public long getVendorId() {
+ return vendorId;
+ }
+
+ public void setVendorId(long vendorId) {
+ this.vendorId = vendorId;
+ }
+
+}
diff --git a/src/protocol/swg/auctionManagerClientListener/BidAuctionResponseMessage.java b/src/protocol/swg/auctionManagerClientListener/BidAuctionResponseMessage.java
new file mode 100644
index 00000000..06eff2f5
--- /dev/null
+++ b/src/protocol/swg/auctionManagerClientListener/BidAuctionResponseMessage.java
@@ -0,0 +1,71 @@
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
+package protocol.swg.auctionManagerClientListener;
+
+import java.nio.ByteOrder;
+
+import org.apache.mina.core.buffer.IoBuffer;
+
+import protocol.swg.SWGMessage;
+
+public class BidAuctionResponseMessage extends SWGMessage {
+
+ private long objectId;
+ private int status;
+
+ public static final int SUCCESS = 0;
+ public static final int INVALIDAUCTIONER = 1;
+ public static final int INVALIDITEM = 2;
+ public static final int INVALIDPRICE = 4;
+ public static final int NOTENOUGHCREDITS = 9;
+ public static final int PURCHASEFAILED = 10;
+ public static final int PURCHASEREJECTED = 11;
+ public static final int PRICETOOHIGH = 13;
+ public static final int PRICEOVERFLOW = 14;
+
+ public BidAuctionResponseMessage(long objectId, int status) {
+ this.objectId = objectId;
+ this.status = status;
+ }
+
+ @Override
+ public void deserialize(IoBuffer data) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public IoBuffer serialize() {
+ IoBuffer result = IoBuffer.allocate(18).order(ByteOrder.LITTLE_ENDIAN);
+ result.putShort((short) 3);
+ result.putInt(0x8FCBEF4A);
+ result.putLong(objectId);
+ result.putInt(status);
+ return result.flip();
+ }
+
+ public void setStatus(int status) {
+ this.status = status;
+ }
+
+
+}
diff --git a/src/protocol/swg/auctionManagerClientListener/CancelLiveAuctionMessage.java b/src/protocol/swg/auctionManagerClientListener/CancelLiveAuctionMessage.java
new file mode 100644
index 00000000..cc3705a1
--- /dev/null
+++ b/src/protocol/swg/auctionManagerClientListener/CancelLiveAuctionMessage.java
@@ -0,0 +1,52 @@
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
+package protocol.swg.auctionManagerClientListener;
+
+import org.apache.mina.core.buffer.IoBuffer;
+
+import protocol.swg.SWGMessage;
+
+public class CancelLiveAuctionMessage extends SWGMessage {
+
+ private long objectId;
+
+ @Override
+ public void deserialize(IoBuffer data) {
+ data.skip(6);
+ setObjectId(data.getLong());
+ }
+
+ @Override
+ public IoBuffer serialize() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public long getObjectId() {
+ return objectId;
+ }
+
+ public void setObjectId(long objectId) {
+ this.objectId = objectId;
+ }
+
+}
diff --git a/src/resources/z/exp/group/MemberInfo.java b/src/protocol/swg/auctionManagerClientListener/CancelLiveAuctionResponseMessage.java
similarity index 55%
rename from src/resources/z/exp/group/MemberInfo.java
rename to src/protocol/swg/auctionManagerClientListener/CancelLiveAuctionResponseMessage.java
index a19fce7c..55e1ce02 100644
--- a/src/resources/z/exp/group/MemberInfo.java
+++ b/src/protocol/swg/auctionManagerClientListener/CancelLiveAuctionResponseMessage.java
@@ -19,64 +19,50 @@
* Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
* Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
******************************************************************************/
-package resources.z.exp.group;
+package protocol.swg.auctionManagerClientListener;
import java.nio.ByteOrder;
import org.apache.mina.core.buffer.IoBuffer;
-import com.sleepycat.persist.model.Persistent;
+import protocol.swg.SWGMessage;
-import resources.objects.Delta;
-
-@Persistent
-public class MemberInfo extends Delta {
+public class CancelLiveAuctionResponseMessage extends SWGMessage {
- private long info;
- private int memberId;
+ public static final int SUCCESS = 0;
+ public static final int NOTALLOWED = 1;
+ public static final int INVALIDITEM = 2;
+ public static final int NOTOWNER = 8;
+ public static final int ALREADYCOMPLETED = 15;
+ private long itemId;
+ private int status;
- public MemberInfo(long info, int memberId) {
- this.info = info;
- this.memberId = memberId;
+ public CancelLiveAuctionResponseMessage(long itemId, int status) {
+ this.itemId = itemId;
+ this.status = status;
}
-
- public MemberInfo() {
+
+
+ @Override
+ public void deserialize(IoBuffer data) {
+ // TODO Auto-generated method stub
}
-
- public long getInfo() {
- synchronized(objectMutex) {
- return info;
- }
+
+ @Override
+ public IoBuffer serialize() {
+ IoBuffer result = IoBuffer.allocate(19).order(ByteOrder.LITTLE_ENDIAN);
+ result.putShort((short) 4);
+ result.putInt(0x7DA2246C);
+ result.putLong(itemId);
+ result.putInt(status);
+ result.put((byte) 0); // unk
+ return result.flip();
}
- public MemberInfo setInfo(long info) {
- synchronized(objectMutex) {
- this.info = info;
- return this;
- }
+ public void setStatus(int status) {
+ this.status = status;
}
-
- public int getMemberId() {
- synchronized(objectMutex) {
- return memberId;
- }
- }
-
- public MemberInfo setMemberId(int memberId) {
- synchronized(objectMutex) {
- this.memberId = memberId;
- return this;
- }
- }
-
- public byte[] getBytes() {
- synchronized(objectMutex) {
- IoBuffer buffer = bufferPool.allocate(12, false).order(ByteOrder.LITTLE_ENDIAN);
- buffer.putLong(info);
- buffer.putInt(memberId);
- return buffer.array();
- }
- }
-
+
+
}
diff --git a/src/protocol/swg/auctionManagerClientListener/CommoditiesItemTypeListResponse.java b/src/protocol/swg/auctionManagerClientListener/CommoditiesItemTypeListResponse.java
new file mode 100644
index 00000000..d299a44e
--- /dev/null
+++ b/src/protocol/swg/auctionManagerClientListener/CommoditiesItemTypeListResponse.java
@@ -0,0 +1,52 @@
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
+package protocol.swg.auctionManagerClientListener;
+
+import java.nio.ByteOrder;
+
+import main.NGECore;
+
+import org.apache.mina.core.buffer.IoBuffer;
+
+import protocol.swg.SWGMessage;
+
+public class CommoditiesItemTypeListResponse extends SWGMessage {
+
+ @Override
+ public void deserialize(IoBuffer data) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public IoBuffer serialize() {
+ // TODO: research how categories work
+ String galaxy = NGECore.getInstance().getGalaxyName();
+ IoBuffer result = IoBuffer.allocate(14 + galaxy.length()).order(ByteOrder.LITTLE_ENDIAN);
+ result.putShort((short) 2);
+ result.putInt(0xD4E937FC);
+ result.put(getAsciiString(galaxy + ".0"));
+ result.putInt(0);
+ return result.flip();
+ }
+
+}
diff --git a/src/protocol/swg/auctionManagerClientListener/CommoditiesResourceTypeListResponse.java b/src/protocol/swg/auctionManagerClientListener/CommoditiesResourceTypeListResponse.java
new file mode 100644
index 00000000..f898ade4
--- /dev/null
+++ b/src/protocol/swg/auctionManagerClientListener/CommoditiesResourceTypeListResponse.java
@@ -0,0 +1,69 @@
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
+package protocol.swg.auctionManagerClientListener;
+
+import java.nio.ByteOrder;
+import java.util.Vector;
+
+import main.NGECore;
+
+import org.apache.mina.core.buffer.IoBuffer;
+
+import protocol.swg.SWGMessage;
+
+public class CommoditiesResourceTypeListResponse extends SWGMessage {
+
+ private Vector resNames;
+
+ public CommoditiesResourceTypeListResponse(Vector resNames) {
+ this.resNames = resNames;
+ }
+
+ @Override
+ public void deserialize(IoBuffer data) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public IoBuffer serialize() {
+ String galaxyName = NGECore.getInstance().getGalaxyName();
+ final IoBuffer result = IoBuffer.allocate(100).order(ByteOrder.LITTLE_ENDIAN);
+ result.setAutoExpand(true);
+
+ result.putShort((short) 2);
+ result.putInt(0x5EDD19CB);
+
+ result.put(getAsciiString(galaxyName + "." + String.valueOf(resNames.size())));
+ result.putInt(479);
+ result.putLong(0);
+
+ // wrong struct, TODO: research
+ resNames.forEach(s -> result.put(getAsciiString(s)));
+
+ int size = result.position();
+ IoBuffer result2 = IoBuffer.allocate(size).put(result.array(), 0, size);
+
+ return result2.flip();
+ }
+
+}
diff --git a/src/protocol/swg/auctionManagerClientListener/CreateAuctionMessage.java b/src/protocol/swg/auctionManagerClientListener/CreateAuctionMessage.java
new file mode 100644
index 00000000..d05a6756
--- /dev/null
+++ b/src/protocol/swg/auctionManagerClientListener/CreateAuctionMessage.java
@@ -0,0 +1,115 @@
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
+package protocol.swg.auctionManagerClientListener;
+
+import java.io.UnsupportedEncodingException;
+import java.nio.ByteBuffer;
+
+import org.apache.mina.core.buffer.IoBuffer;
+
+import engine.resources.common.Utilities;
+import protocol.swg.SWGMessage;
+
+public class CreateAuctionMessage extends SWGMessage {
+
+ private long objectId;
+ private long vendorId;
+ private int price;
+ private int duration;
+ private String description;
+ private byte premium;
+
+ @Override
+ public void deserialize(IoBuffer data) {
+ data.skip(6);
+ setObjectId(data.getLong());
+ int size = data.getInt();
+ try {
+ setDescription(new String(ByteBuffer.allocate(size * 2).put(data.array(), data.position(), size * 2).array(), "UTF-16LE"));
+ } catch (UnsupportedEncodingException e) {
+ e.printStackTrace();
+ }
+ data.position(data.position() + size * 2);
+
+ setVendorId(data.getLong());
+ setPrice(data.getInt());
+ setDuration(data.getInt()); // in minutes
+ setPremium(data.get());
+ }
+
+ @Override
+ public IoBuffer serialize() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public long getObjectId() {
+ return objectId;
+ }
+
+ public void setObjectId(long objectId) {
+ this.objectId = objectId;
+ }
+
+ public long getVendorId() {
+ return vendorId;
+ }
+
+ public void setVendorId(long vendorId) {
+ this.vendorId = vendorId;
+ }
+
+ public int getPrice() {
+ return price;
+ }
+
+ public void setPrice(int price) {
+ this.price = price;
+ }
+
+ public int getDuration() {
+ return duration;
+ }
+
+ public void setDuration(int duration) {
+ this.duration = duration;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ public boolean getPremium() {
+ if(premium == 1)
+ return true;
+ return false;
+ }
+
+ public void setPremium(byte premium) {
+ this.premium = premium;
+ }
+
+}
diff --git a/src/protocol/swg/auctionManagerClientListener/CreateAuctionResponseMessage.java b/src/protocol/swg/auctionManagerClientListener/CreateAuctionResponseMessage.java
new file mode 100644
index 00000000..8a067dff
--- /dev/null
+++ b/src/protocol/swg/auctionManagerClientListener/CreateAuctionResponseMessage.java
@@ -0,0 +1,77 @@
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
+package protocol.swg.auctionManagerClientListener;
+
+import java.nio.ByteOrder;
+
+import org.apache.mina.core.buffer.IoBuffer;
+
+import protocol.swg.SWGMessage;
+
+public class CreateAuctionResponseMessage extends SWGMessage {
+
+ public static final int SUCCESS = 0;
+ public static final int INVALIDAUCTIONER = 1;
+ public static final int INVALIDITEM = 2;
+ public static final int BADVENDOR = 3;
+ public static final int INVALIDPRICE = 4;
+ public static final int INVALIDDURATION = 5;
+ public static final int ALREADYFORSALE = 6;
+ public static final int UNKERROR = 6;
+ public static final int DONTOWNITEM = 8;
+ public static final int NOTENOUGHCREDITS = 9;
+ public static final int TOOMANYITEMS = 13;
+ public static final int PRICETOOHIGH = 14;
+ public static final int CANTSELLTRADINGITEM = 19;
+ public static final int VENDORFULL = 25;
+
+ private long objectId;
+ private int status;
+
+ public CreateAuctionResponseMessage(long objectId, int status) {
+ this.objectId = objectId;
+ this.status = status;
+ }
+
+
+ @Override
+ public void deserialize(IoBuffer data) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public IoBuffer serialize() {
+ IoBuffer result = IoBuffer.allocate(20).order(ByteOrder.LITTLE_ENDIAN);
+ result.putShort((short) 4);
+ result.putInt(0x0E61CC92);
+ result.putLong(objectId);
+ result.putInt(status);
+ result.putShort((short) 0);
+ return result.flip();
+ }
+
+ public void setStatus(int status) {
+ this.status = status;
+ }
+
+}
diff --git a/src/protocol/swg/auctionManagerClientListener/CreateImmediateAuctionMessage.java b/src/protocol/swg/auctionManagerClientListener/CreateImmediateAuctionMessage.java
new file mode 100644
index 00000000..33307c41
--- /dev/null
+++ b/src/protocol/swg/auctionManagerClientListener/CreateImmediateAuctionMessage.java
@@ -0,0 +1,111 @@
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
+package protocol.swg.auctionManagerClientListener;
+
+import java.io.UnsupportedEncodingException;
+import java.nio.ByteBuffer;
+
+import org.apache.mina.core.buffer.IoBuffer;
+
+import protocol.swg.SWGMessage;
+
+public class CreateImmediateAuctionMessage extends SWGMessage {
+
+ private long objectId;
+ private long vendorId;
+ private int price;
+ private int duration;
+ private String description;
+ private byte premium;
+
+ @Override
+ public void deserialize(IoBuffer data) {
+ data.skip(6);
+ setObjectId(data.getLong());
+ setVendorId(data.getLong());
+ setPrice(data.getInt());
+ setDuration(data.getInt()); // in minutes
+ int size = data.getInt();
+ try {
+ setDescription(new String(ByteBuffer.allocate(size * 2).put(data.array(), data.position(), size * 2).array(), "UTF-16LE"));
+ } catch (UnsupportedEncodingException e) {
+ e.printStackTrace();
+ }
+ data.position(data.position() + size * 2);
+ setPremium(data.get());
+ }
+
+ @Override
+ public IoBuffer serialize() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public long getObjectId() {
+ return objectId;
+ }
+
+ public void setObjectId(long objectId) {
+ this.objectId = objectId;
+ }
+
+ public long getVendorId() {
+ return vendorId;
+ }
+
+ public void setVendorId(long vendorId) {
+ this.vendorId = vendorId;
+ }
+
+ public int getPrice() {
+ return price;
+ }
+
+ public void setPrice(int price) {
+ this.price = price;
+ }
+
+ public int getDuration() {
+ return duration;
+ }
+
+ public void setDuration(int duration) {
+ this.duration = duration;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ public byte getPremium() {
+ return premium;
+ }
+
+ public void setPremium(byte premium) {
+ this.premium = premium;
+ }
+
+}
diff --git a/src/resources/z/exp/objects/factorycrate/FactoryCrateMessageBuilder.java b/src/protocol/swg/auctionManagerClientListener/GetAuctionDetails.java
similarity index 67%
rename from src/resources/z/exp/objects/factorycrate/FactoryCrateMessageBuilder.java
rename to src/protocol/swg/auctionManagerClientListener/GetAuctionDetails.java
index a3558047..946c0a06 100644
--- a/src/resources/z/exp/objects/factorycrate/FactoryCrateMessageBuilder.java
+++ b/src/protocol/swg/auctionManagerClientListener/GetAuctionDetails.java
@@ -19,8 +19,34 @@
* Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
* Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
******************************************************************************/
-package resources.z.exp.objects.factorycrate;
+package protocol.swg.auctionManagerClientListener;
-public class FactoryCrateMessageBuilder {
+import org.apache.mina.core.buffer.IoBuffer;
+
+import protocol.swg.SWGMessage;
+
+public class GetAuctionDetails extends SWGMessage {
+
+ private long objectId;
+
+ @Override
+ public void deserialize(IoBuffer data) {
+ data.skip(6);
+ setObjectId(data.getLong());
+ }
+
+ @Override
+ public IoBuffer serialize() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public long getObjectId() {
+ return objectId;
+ }
+
+ public void setObjectId(long objectId) {
+ this.objectId = objectId;
+ }
}
diff --git a/src/protocol/swg/auctionManagerClientListener/GetAuctionDetailsResponse.java b/src/protocol/swg/auctionManagerClientListener/GetAuctionDetailsResponse.java
new file mode 100644
index 00000000..458c59d6
--- /dev/null
+++ b/src/protocol/swg/auctionManagerClientListener/GetAuctionDetailsResponse.java
@@ -0,0 +1,75 @@
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
+package protocol.swg.auctionManagerClientListener;
+
+import java.nio.ByteOrder;
+
+import org.apache.mina.core.buffer.IoBuffer;
+
+import engine.resources.objects.SWGObject;
+import protocol.swg.SWGMessage;
+import resources.objects.tangible.TangibleObject;
+import services.bazaar.AuctionItem;
+
+public class GetAuctionDetailsResponse extends SWGMessage {
+
+ private AuctionItem target;
+
+ public GetAuctionDetailsResponse(AuctionItem target) {
+ this.target = target;
+ }
+
+ @Override
+ public void deserialize(IoBuffer data) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public IoBuffer serialize() {
+ final IoBuffer result = IoBuffer.allocate(100).order(ByteOrder.LITTLE_ENDIAN);
+ result.setAutoExpand(true);
+
+ result.putShort((short) 2);
+ result.putInt(0xFE0E644B);
+ result.putLong(target.getObjectId());
+ result.put(getUnicodeString(target.getItemDescription()));
+ result.putInt(target.getItem().getAttributes().size());
+ target.getItem().getAttributes().forEach((key, value) -> {
+ result.put(getAsciiString(key));
+ result.put(getUnicodeString(value));
+ });
+ result.put(getAsciiString(target.getItem().getTemplate()));
+ if(((TangibleObject) target.getItem()).getCustomization() != null) {
+ result.putShort((short) ((TangibleObject) target.getItem()).getCustomization().length);
+ result.put(((TangibleObject) target.getItem()).getCustomization());
+ } else
+ result.putShort((short) 0);
+
+
+ int size = result.position();
+ IoBuffer result2 = IoBuffer.allocate(size).put(result.array(), 0, size);
+
+ return result2.flip();
+ }
+
+}
diff --git a/src/protocol/swg/auctionManagerClientListener/IsVendorOwnerMessage.java b/src/protocol/swg/auctionManagerClientListener/IsVendorOwnerMessage.java
new file mode 100644
index 00000000..35b3b498
--- /dev/null
+++ b/src/protocol/swg/auctionManagerClientListener/IsVendorOwnerMessage.java
@@ -0,0 +1,52 @@
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
+package protocol.swg.auctionManagerClientListener;
+
+import org.apache.mina.core.buffer.IoBuffer;
+
+import protocol.swg.SWGMessage;
+
+public class IsVendorOwnerMessage extends SWGMessage {
+
+ private long terminalId;
+
+ @Override
+ public void deserialize(IoBuffer data) {
+ data.skip(6);
+ setTerminalId(data.getLong());
+ }
+
+ @Override
+ public IoBuffer serialize() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public long getTerminalId() {
+ return terminalId;
+ }
+
+ public void setTerminalId(long terminalId) {
+ this.terminalId = terminalId;
+ }
+
+}
diff --git a/src/protocol/swg/auctionManagerClientListener/IsVendorOwnerResponseMessage.java b/src/protocol/swg/auctionManagerClientListener/IsVendorOwnerResponseMessage.java
new file mode 100644
index 00000000..cfc73637
--- /dev/null
+++ b/src/protocol/swg/auctionManagerClientListener/IsVendorOwnerResponseMessage.java
@@ -0,0 +1,63 @@
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
+package protocol.swg.auctionManagerClientListener;
+
+import java.nio.ByteOrder;
+
+import org.apache.mina.core.buffer.IoBuffer;
+
+import protocol.swg.SWGMessage;
+
+public class IsVendorOwnerResponseMessage extends SWGMessage {
+
+ private int permission;
+ private int errorCode;
+ private long terminalId;
+ private String terminalString;
+
+ public IsVendorOwnerResponseMessage(int permission, int errorCode, long terminalId, String terminalString) {
+ this.permission = permission;
+ this.errorCode = errorCode;
+ this.terminalId = terminalId;
+ this.terminalString = terminalString;
+ }
+
+ @Override
+ public void deserialize(IoBuffer data) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public IoBuffer serialize() {
+ IoBuffer result = IoBuffer.allocate(26 + terminalString.length()).order(ByteOrder.LITTLE_ENDIAN);
+ result.putShort((short) 6);
+ result.putInt(0xCE04173E);
+ result.putInt(permission);
+ result.putInt(errorCode);
+ result.putLong(terminalId);
+ result.put(getAsciiString(terminalString));
+ result.putShort((short) 0x64); // unk
+ return result.flip();
+ }
+
+}
diff --git a/src/resources/z/exp/objects/group/GroupMessageBuilder.java b/src/protocol/swg/auctionManagerClientListener/RetrieveAuctionItemMessage.java
similarity index 62%
rename from src/resources/z/exp/objects/group/GroupMessageBuilder.java
rename to src/protocol/swg/auctionManagerClientListener/RetrieveAuctionItemMessage.java
index 807b0a2a..af2f0c0c 100644
--- a/src/resources/z/exp/objects/group/GroupMessageBuilder.java
+++ b/src/protocol/swg/auctionManagerClientListener/RetrieveAuctionItemMessage.java
@@ -19,31 +19,44 @@
* Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
* Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
******************************************************************************/
-package resources.z.exp.objects.group;
+package protocol.swg.auctionManagerClientListener;
-import java.util.Map;
+import org.apache.mina.core.buffer.IoBuffer;
-import resources.z.exp.objects.Builder;
-import resources.z.exp.objects.universe.UniverseMessageBuilder;
+import protocol.swg.SWGMessage;
+
+public class RetrieveAuctionItemMessage extends SWGMessage {
+
+ private long objectId;
+ private long vendorId;
-public class GroupMessageBuilder extends UniverseMessageBuilder {
-
- public GroupMessageBuilder(GroupObject groupObject) {
- super(groupObject);
- }
-
- public GroupMessageBuilder() {
- super();
- }
-
@Override
- public void buildBaseline3(Map baselineBuilders, Map deltaBuilders) {
- super.buildBaseline3(baselineBuilders, deltaBuilders);
+ public void deserialize(IoBuffer data) {
+ data.skip(6);
+ setObjectId(data.getLong());
+ setVendorId(data.getLong());
}
-
+
@Override
- public void buildBaseline6(Map baselineBuilders, Map deltaBuilders) {
- super.buildBaseline6(baselineBuilders, deltaBuilders);
+ public IoBuffer serialize() {
+ // TODO Auto-generated method stub
+ return null;
}
-
+
+ public long getObjectId() {
+ return objectId;
+ }
+
+ public void setObjectId(long objectId) {
+ this.objectId = objectId;
+ }
+
+ public long getVendorId() {
+ return vendorId;
+ }
+
+ public void setVendorId(long vendorId) {
+ this.vendorId = vendorId;
+ }
+
}
diff --git a/src/protocol/swg/auctionManagerClientListener/RetrieveAuctionItemResponseMessage.java b/src/protocol/swg/auctionManagerClientListener/RetrieveAuctionItemResponseMessage.java
new file mode 100644
index 00000000..ad9093da
--- /dev/null
+++ b/src/protocol/swg/auctionManagerClientListener/RetrieveAuctionItemResponseMessage.java
@@ -0,0 +1,67 @@
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
+package protocol.swg.auctionManagerClientListener;
+
+import java.nio.ByteOrder;
+
+import org.apache.mina.core.buffer.IoBuffer;
+
+import protocol.swg.SWGMessage;
+
+public class RetrieveAuctionItemResponseMessage extends SWGMessage {
+
+ private long objectId;
+ private int status;
+
+ public static final int SUCCESS = 0;
+ public static final int NOTALLOWED = 1;
+ public static final int FULLINVENTORY = 12;
+ public static final int TOOFAR = 0x100;
+ public static final int DONTRETRIEVE = 0x200;
+
+ public RetrieveAuctionItemResponseMessage(long objectId, int status) {
+ this.objectId = objectId;
+ this.status = status;
+ }
+
+ @Override
+ public void deserialize(IoBuffer data) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public IoBuffer serialize() {
+ IoBuffer result = IoBuffer.allocate(18).order(ByteOrder.LITTLE_ENDIAN);
+ result.putShort((short) 3);
+ result.putInt(0x9499EF8C);
+ result.putLong(objectId);
+ result.putInt(status);
+ return result.flip();
+ }
+
+ public void setStatus(int status) {
+ this.status = status;
+ }
+
+
+}
diff --git a/src/protocol/swg/chat/ChatCreateRoom.java b/src/protocol/swg/chat/ChatCreateRoom.java
new file mode 100644
index 00000000..841c1614
--- /dev/null
+++ b/src/protocol/swg/chat/ChatCreateRoom.java
@@ -0,0 +1,69 @@
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
+package protocol.swg.chat;
+
+import org.apache.mina.core.buffer.IoBuffer;
+
+import protocol.swg.SWGMessage;
+
+
+public class ChatCreateRoom extends SWGMessage {
+
+ private String address, title;
+ private boolean privacy, moderatorOnly;
+ private int request;
+
+ public ChatCreateRoom() { }
+ @Override
+ public void deserialize(IoBuffer data) {
+
+ this.privacy = (boolean) ((data.get() == 1) ? false : true);
+ this.moderatorOnly = (boolean) ((data.get() == 1) ? true : false);
+ data.getShort(); // unk
+ this.address = getAsciiString(data);
+ this.title = getAsciiString(data);
+ this.request = data.getInt();
+ }
+
+ @Override
+ public IoBuffer serialize() {
+ return null;
+ }
+
+ public String getAddress() {
+ return address;
+ }
+ public String getTitle() {
+ return title;
+ }
+ public boolean isPrivacy() {
+ return privacy;
+ }
+ public boolean isModeratorOnly() {
+ return moderatorOnly;
+ }
+
+ public int getRequest() {
+ return request;
+ }
+
+}
diff --git a/src/protocol/swg/ChatDeletePersistentMessage.java b/src/protocol/swg/chat/ChatDeletePersistentMessage.java
similarity index 96%
rename from src/protocol/swg/ChatDeletePersistentMessage.java
rename to src/protocol/swg/chat/ChatDeletePersistentMessage.java
index 1e812255..3f0d1b70 100644
--- a/src/protocol/swg/ChatDeletePersistentMessage.java
+++ b/src/protocol/swg/chat/ChatDeletePersistentMessage.java
@@ -19,10 +19,12 @@
* Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
* Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
******************************************************************************/
-package protocol.swg;
+package protocol.swg.chat;
import org.apache.mina.core.buffer.IoBuffer;
+import protocol.swg.SWGMessage;
+
public class ChatDeletePersistentMessage extends SWGMessage {
diff --git a/src/resources/z/exp/objects/staticobject/StaticMessageBuilder.java b/src/protocol/swg/chat/ChatEnterRoomById.java
similarity index 63%
rename from src/resources/z/exp/objects/staticobject/StaticMessageBuilder.java
rename to src/protocol/swg/chat/ChatEnterRoomById.java
index 5156390b..2e2ec8e5 100644
--- a/src/resources/z/exp/objects/staticobject/StaticMessageBuilder.java
+++ b/src/protocol/swg/chat/ChatEnterRoomById.java
@@ -19,31 +19,44 @@
* Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
* Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
******************************************************************************/
-package resources.z.exp.objects.staticobject;
+package protocol.swg.chat;
-import java.util.Map;
+import org.apache.mina.core.buffer.IoBuffer;
-import resources.z.exp.objects.Builder;
-import resources.z.exp.objects.ObjectMessageBuilder;
+import protocol.swg.SWGMessage;
-public class StaticMessageBuilder extends ObjectMessageBuilder {
-
- public StaticMessageBuilder(StaticObject object) {
- super(object);
- }
-
- public StaticMessageBuilder() {
- super();
- }
+public class ChatEnterRoomById extends SWGMessage {
+
+ private int roomId;
+ private int requestId;
+ private String roomName;
+
+ public ChatEnterRoomById() { }
@Override
- public void buildBaseline3(Map baselineBuilders, Map deltaBuilders) {
- super.buildBaseline3(baselineBuilders, deltaBuilders);
+ public void deserialize(IoBuffer data) {
+ data.getShort();
+ data.getInt();
+
+ this.requestId = data.getInt();
+ this.roomId = data.getInt();
+ this.roomName = getAsciiString(data);
}
-
+
@Override
- public void buildBaseline6(Map baselineBuilders, Map deltaBuilders) {
- super.buildBaseline6(baselineBuilders, deltaBuilders);
+ public IoBuffer serialize() {
+ return null;
+ }
+
+ public int getRequestId() {
+ return requestId;
+ }
+
+ public int getRoomId() {
+ return roomId;
}
+ public String getRoomname() {
+ return roomName;
+ }
}
diff --git a/src/protocol/swg/ChatFriendsListUpdate.java b/src/protocol/swg/chat/ChatFriendsListUpdate.java
similarity index 94%
rename from src/protocol/swg/ChatFriendsListUpdate.java
rename to src/protocol/swg/chat/ChatFriendsListUpdate.java
index 313235d7..f3a17a34 100644
--- a/src/protocol/swg/ChatFriendsListUpdate.java
+++ b/src/protocol/swg/chat/ChatFriendsListUpdate.java
@@ -1,4 +1,4 @@
-package protocol.swg;
+package protocol.swg.chat;
import java.nio.ByteOrder;
@@ -6,6 +6,7 @@ import main.NGECore;
import org.apache.mina.core.buffer.IoBuffer;
+import protocol.swg.SWGMessage;
public class ChatFriendsListUpdate extends SWGMessage {
diff --git a/src/protocol/swg/ChatInstantMessageToCharacter.java b/src/protocol/swg/chat/ChatInstantMessageToCharacter.java
similarity index 98%
rename from src/protocol/swg/ChatInstantMessageToCharacter.java
rename to src/protocol/swg/chat/ChatInstantMessageToCharacter.java
index 1d0efccd..8a1414f9 100644
--- a/src/protocol/swg/ChatInstantMessageToCharacter.java
+++ b/src/protocol/swg/chat/ChatInstantMessageToCharacter.java
@@ -19,13 +19,15 @@
* Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
* Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
******************************************************************************/
-package protocol.swg;
+package protocol.swg.chat;
import java.io.UnsupportedEncodingException;
import java.nio.ByteBuffer;
import org.apache.mina.core.buffer.IoBuffer;
+import protocol.swg.SWGMessage;
+
@SuppressWarnings("unused")
public class ChatInstantMessageToCharacter extends SWGMessage {
diff --git a/src/protocol/swg/ChatInstantMessagetoClient.java b/src/protocol/swg/chat/ChatInstantMessagetoClient.java
similarity index 97%
rename from src/protocol/swg/ChatInstantMessagetoClient.java
rename to src/protocol/swg/chat/ChatInstantMessagetoClient.java
index f87c0da8..f11903fc 100644
--- a/src/protocol/swg/ChatInstantMessagetoClient.java
+++ b/src/protocol/swg/chat/ChatInstantMessagetoClient.java
@@ -19,12 +19,14 @@
* Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
* Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
******************************************************************************/
-package protocol.swg;
+package protocol.swg.chat;
import java.nio.ByteOrder;
import org.apache.mina.core.buffer.IoBuffer;
+import protocol.swg.SWGMessage;
+
public class ChatInstantMessagetoClient extends SWGMessage{
diff --git a/src/protocol/swg/ChatOnAddFriend.java b/src/protocol/swg/chat/ChatOnAddFriend.java
similarity index 96%
rename from src/protocol/swg/ChatOnAddFriend.java
rename to src/protocol/swg/chat/ChatOnAddFriend.java
index 0b84e6ff..44b0b8ac 100644
--- a/src/protocol/swg/ChatOnAddFriend.java
+++ b/src/protocol/swg/chat/ChatOnAddFriend.java
@@ -19,12 +19,14 @@
* Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
* Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
******************************************************************************/
-package protocol.swg;
+package protocol.swg.chat;
import java.nio.ByteOrder;
import org.apache.mina.core.buffer.IoBuffer;
+import protocol.swg.SWGMessage;
+
public class ChatOnAddFriend extends SWGMessage {
@Override
diff --git a/src/protocol/swg/ChatOnChangeFriendStatus.java b/src/protocol/swg/chat/ChatOnChangeFriendStatus.java
similarity index 97%
rename from src/protocol/swg/ChatOnChangeFriendStatus.java
rename to src/protocol/swg/chat/ChatOnChangeFriendStatus.java
index a11c85bb..1c770233 100644
--- a/src/protocol/swg/ChatOnChangeFriendStatus.java
+++ b/src/protocol/swg/chat/ChatOnChangeFriendStatus.java
@@ -19,7 +19,7 @@
* Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
* Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
******************************************************************************/
-package protocol.swg;
+package protocol.swg.chat;
import java.nio.ByteOrder;
@@ -27,6 +27,7 @@ import main.NGECore;
import org.apache.mina.core.buffer.IoBuffer;
+import protocol.swg.SWGMessage;
import engine.resources.config.Config;
public class ChatOnChangeFriendStatus extends SWGMessage {
diff --git a/src/resources/z/exp/objects/harvester/HarvesterMessageBuilder.java b/src/protocol/swg/chat/ChatOnConnectAvatar.java
similarity index 67%
rename from src/resources/z/exp/objects/harvester/HarvesterMessageBuilder.java
rename to src/protocol/swg/chat/ChatOnConnectAvatar.java
index 06f08e30..faebcf9d 100644
--- a/src/resources/z/exp/objects/harvester/HarvesterMessageBuilder.java
+++ b/src/protocol/swg/chat/ChatOnConnectAvatar.java
@@ -1,26 +1,48 @@
-/*******************************************************************************
- * Copyright (c) 2013
- *
- * This File is part of NGECore2.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program. If not, see .
- *
- * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
- * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
- ******************************************************************************/
-package resources.z.exp.objects.harvester;
-
-public class HarvesterMessageBuilder {
-
-}
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
+package protocol.swg.chat;
+
+import java.nio.ByteOrder;
+
+import org.apache.mina.core.buffer.IoBuffer;
+
+import protocol.swg.SWGMessage;
+
+public class ChatOnConnectAvatar extends SWGMessage {
+
+ public ChatOnConnectAvatar() { }
+
+ @Override
+ public void deserialize(IoBuffer data) {
+ }
+
+ @Override
+ public IoBuffer serialize() {
+ IoBuffer buffer = IoBuffer.allocate(6).order(ByteOrder.LITTLE_ENDIAN);
+
+ buffer.putShort((short) 1);
+ buffer.putInt(0xD72FE9BE);
+
+ return buffer.flip();
+ }
+
+}
diff --git a/src/protocol/swg/chat/ChatOnCreateRoom.java b/src/protocol/swg/chat/ChatOnCreateRoom.java
new file mode 100644
index 00000000..fc690fae
--- /dev/null
+++ b/src/protocol/swg/chat/ChatOnCreateRoom.java
@@ -0,0 +1,94 @@
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
+package protocol.swg.chat;
+
+import java.nio.ByteOrder;
+
+import main.NGECore;
+
+import org.apache.mina.core.buffer.IoBuffer;
+
+import protocol.swg.SWGMessage;
+import services.chat.ChatRoom;
+
+public class ChatOnCreateRoom extends SWGMessage {
+
+ private ChatRoom room;
+ private int error;
+ private int requestId;
+
+ public ChatOnCreateRoom(ChatRoom room, int error, int requestId) {
+ this.room = room;
+ this.error = error;
+ this.requestId = requestId;
+ }
+
+ @Override
+ public void deserialize(IoBuffer data) {
+
+ }
+
+ @Override
+ public IoBuffer serialize() {
+ String server = NGECore.getInstance().getGalaxyName();
+ IoBuffer data = IoBuffer.allocate(100).order(ByteOrder.LITTLE_ENDIAN);
+ data.setAutoExpand(true);
+
+ data.putShort((short) 4);
+ data.putInt(0x35D7CC9F);
+
+ data.putInt(error);
+ data.putInt(room.getRoomId());
+ data.putInt(room.isPrivateRoom() ? 0 : 1);
+ data.put((byte) (room.isModeratorsOnly() ? 1 : 0));
+ data.put(getAsciiString(room.getRoomAddress()));
+ data.put(getAsciiString("SWG"));
+ data.put(getAsciiString(server));
+ data.put(getAsciiString(room.getCreator()));
+ data.put(getAsciiString("SWG"));
+ data.put(getAsciiString(server));
+ data.put(getAsciiString(room.getOwner()));
+ data.put(getUnicodeString(room.getDescription()));
+
+ data.putInt(0);
+ /*if (room.getModeratorList().size() > 0) {
+ for (CreatureObject creo : room.getModeratorList()) {
+ data.put(getAsciiString("SWG"));
+ data.put(getAsciiString(server));
+ data.put(getAsciiString(creo.getCustomName()));
+ }
+ }*/
+
+ data.putInt(0);
+ /*if (room.getUserList().size() > 0) {
+ for (CreatureObject creo : room.getUserList()) {
+ data.put(getAsciiString("SWG"));
+ data.put(getAsciiString(server));
+ data.put(getAsciiString(creo.getCustomName()));
+ }
+ }*/
+
+ data.putInt(requestId);
+ return data.flip();
+ }
+
+}
diff --git a/src/protocol/swg/chat/ChatOnEnteredRoom.java b/src/protocol/swg/chat/ChatOnEnteredRoom.java
new file mode 100644
index 00000000..fe82b29c
--- /dev/null
+++ b/src/protocol/swg/chat/ChatOnEnteredRoom.java
@@ -0,0 +1,73 @@
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
+package protocol.swg.chat;
+
+import java.nio.ByteOrder;
+
+import main.NGECore;
+
+import org.apache.mina.core.buffer.IoBuffer;
+
+import protocol.swg.SWGMessage;
+import engine.resources.common.CRC;
+import resources.common.Opcodes;
+
+public class ChatOnEnteredRoom extends SWGMessage {
+
+ private String characterName;
+ private int success;
+ private int roomId;
+ private boolean join;
+
+ public ChatOnEnteredRoom(String characterName, int success, int roomId, boolean join) {
+ this.characterName = characterName;
+ this.success = success;
+ this.roomId = roomId;
+ this.join = join;
+ }
+
+ @Override
+ public void deserialize(IoBuffer data) {
+
+ }
+
+ @Override
+ public IoBuffer serialize() {
+ String galaxy = NGECore.getInstance().getGalaxyName();
+ IoBuffer buffer = IoBuffer.allocate(27 + galaxy.length() + characterName.length()).order(ByteOrder.LITTLE_ENDIAN);
+ buffer.putShort((short) 5);
+ if (join)
+ buffer.putInt(Opcodes.ChatOnEnteredRoom);
+ else
+ buffer.putInt(CRC.StringtoCRC("ChatOnLeaveRoom"));
+ buffer.put(getAsciiString("SWG"));
+ buffer.put(getAsciiString(galaxy));
+ buffer.put(getAsciiString(characterName.toLowerCase()));
+ buffer.putInt(success);
+ buffer.putInt(roomId);
+ buffer.putInt(0);
+ return buffer.flip();
+ }
+
+ public static final int JOIN_SUCCESS = 0;
+ public static final int JOIN_FAIL_NO_INVITE = 0x10;
+}
diff --git a/src/protocol/swg/ChatOnGetFriendsList.java b/src/protocol/swg/chat/ChatOnGetFriendsList.java
similarity index 95%
rename from src/protocol/swg/ChatOnGetFriendsList.java
rename to src/protocol/swg/chat/ChatOnGetFriendsList.java
index 3e497bf1..14d5ac8f 100644
--- a/src/protocol/swg/ChatOnGetFriendsList.java
+++ b/src/protocol/swg/chat/ChatOnGetFriendsList.java
@@ -1,4 +1,4 @@
-package protocol.swg;
+package protocol.swg.chat;
import java.nio.ByteOrder;
import java.util.List;
@@ -7,6 +7,7 @@ import main.NGECore;
import org.apache.mina.core.buffer.IoBuffer;
+import protocol.swg.SWGMessage;
import resources.objects.player.PlayerObject;
// This is possibly unused
diff --git a/src/protocol/swg/chat/ChatOnLeaveRoom.java b/src/protocol/swg/chat/ChatOnLeaveRoom.java
new file mode 100644
index 00000000..1fecfe5f
--- /dev/null
+++ b/src/protocol/swg/chat/ChatOnLeaveRoom.java
@@ -0,0 +1,125 @@
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
+package protocol.swg.chat;
+
+import java.nio.ByteOrder;
+
+import org.apache.mina.core.buffer.IoBuffer;
+
+import protocol.swg.SWGMessage;
+import resources.common.StringUtilities;
+
+public class ChatOnLeaveRoom extends SWGMessage {
+
+ private String server;
+ private String character;
+ private String channelAddress;
+ private int errorId;
+ private int channelId;
+ private int requestId;
+
+ public ChatOnLeaveRoom() { }
+
+ public ChatOnLeaveRoom(String server, String character) {
+ this.server = server;
+ this.character = character;
+ this.errorId = 0;
+ this.requestId = 0;
+ }
+
+ @Override
+ public void deserialize(IoBuffer data) {
+ data.getShort();
+ data.getInt();
+ getAsciiString(data);
+ getAsciiString(data);
+ character = getAsciiString(data);
+ channelAddress = getAsciiString(data);
+ }
+
+ @Override
+ public IoBuffer serialize() {
+ IoBuffer buffer = IoBuffer.allocate(28 + server.length() + character.length()).order(ByteOrder.LITTLE_ENDIAN);
+
+ buffer.putShort((short) 5);
+ buffer.putInt(0x60B5098B);
+
+ buffer.put(getAsciiString("SWG"));
+ buffer.put(getAsciiString(server));
+ buffer.put(getAsciiString(character));
+
+ buffer.putInt(errorId);
+ buffer.putInt(channelId);
+ buffer.putInt(requestId);
+
+ return buffer.flip();
+ }
+
+ public String getServer() {
+ return server;
+ }
+
+ public void setServer(String server) {
+ this.server = server;
+ }
+
+ public String getCharacter() {
+ return character;
+ }
+
+ public void setCharacter(String character) {
+ this.character = character;
+ }
+
+ public String getChannelAddress() {
+ return channelAddress;
+ }
+
+ public void setChannelAddress(String channelAddress) {
+ this.channelAddress = channelAddress;
+ }
+
+ public int getErrorId() {
+ return errorId;
+ }
+
+ public void setErrorId(int errorId) {
+ this.errorId = errorId;
+ }
+
+ public int getChannelId() {
+ return channelId;
+ }
+
+ public void setChannelId(int channelId) {
+ this.channelId = channelId;
+ }
+
+ public int getRequestId() {
+ return requestId;
+ }
+
+ public void setRequestId(int requestId) {
+ this.requestId = requestId;
+ }
+
+}
diff --git a/src/protocol/swg/ChatOnSendInstantMessage.java b/src/protocol/swg/chat/ChatOnSendInstantMessage.java
similarity index 96%
rename from src/protocol/swg/ChatOnSendInstantMessage.java
rename to src/protocol/swg/chat/ChatOnSendInstantMessage.java
index 9bcb41da..f1be9e0a 100644
--- a/src/protocol/swg/ChatOnSendInstantMessage.java
+++ b/src/protocol/swg/chat/ChatOnSendInstantMessage.java
@@ -19,12 +19,14 @@
* Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
* Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
******************************************************************************/
-package protocol.swg;
+package protocol.swg.chat;
import java.nio.ByteOrder;
import org.apache.mina.core.buffer.IoBuffer;
+import protocol.swg.SWGMessage;
+
public class ChatOnSendInstantMessage extends SWGMessage {
private int errorType;
diff --git a/src/protocol/swg/ChatOnSendPersistentMessage.java b/src/protocol/swg/chat/ChatOnSendPersistentMessage.java
similarity index 96%
rename from src/protocol/swg/ChatOnSendPersistentMessage.java
rename to src/protocol/swg/chat/ChatOnSendPersistentMessage.java
index 3d8a3a48..9dc28eff 100644
--- a/src/protocol/swg/ChatOnSendPersistentMessage.java
+++ b/src/protocol/swg/chat/ChatOnSendPersistentMessage.java
@@ -19,12 +19,14 @@
* Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
* Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
******************************************************************************/
-package protocol.swg;
+package protocol.swg.chat;
import java.nio.ByteOrder;
import org.apache.mina.core.buffer.IoBuffer;
+import protocol.swg.SWGMessage;
+
public class ChatOnSendPersistentMessage extends SWGMessage {
diff --git a/src/protocol/swg/chat/ChatOnSendRoomMessage.java b/src/protocol/swg/chat/ChatOnSendRoomMessage.java
new file mode 100644
index 00000000..21d03390
--- /dev/null
+++ b/src/protocol/swg/chat/ChatOnSendRoomMessage.java
@@ -0,0 +1,58 @@
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
+package protocol.swg.chat;
+
+import java.nio.ByteOrder;
+
+import org.apache.mina.core.buffer.IoBuffer;
+
+import protocol.swg.SWGMessage;
+
+public class ChatOnSendRoomMessage extends SWGMessage {
+
+ private int errorCode;
+ private int msgId;
+
+ public ChatOnSendRoomMessage(int errorCode, int msgId) {
+ this.errorCode = errorCode;
+ this.msgId = msgId;
+ }
+
+ @Override
+ public void deserialize(IoBuffer data) {
+ }
+
+ @Override
+ public IoBuffer serialize() {
+ IoBuffer buffer = IoBuffer.allocate(14).order(ByteOrder.LITTLE_ENDIAN);
+ buffer.putShort((short) 3);
+ buffer.putInt(0xE7B61633);
+ buffer.putInt(errorCode);
+ buffer.putInt(msgId); // msg id
+ return buffer.flip();
+ }
+
+ public static final int SUCCESS = 0;
+ public static final int FAILED_MODERATOR = 9;
+ public static final int FAILED_LENGTH = 16;
+
+}
diff --git a/src/protocol/swg/ChatPersistentMessageToClient.java b/src/protocol/swg/chat/ChatPersistentMessageToClient.java
similarity index 98%
rename from src/protocol/swg/ChatPersistentMessageToClient.java
rename to src/protocol/swg/chat/ChatPersistentMessageToClient.java
index 3db681b6..a5013ab8 100644
--- a/src/protocol/swg/ChatPersistentMessageToClient.java
+++ b/src/protocol/swg/chat/ChatPersistentMessageToClient.java
@@ -19,11 +19,14 @@
* Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
* Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
******************************************************************************/
-package protocol.swg;
+package protocol.swg.chat;
import java.nio.ByteOrder;
import java.util.List;
+
import org.apache.mina.core.buffer.IoBuffer;
+
+import protocol.swg.SWGMessage;
import services.chat.WaypointAttachment;
diff --git a/src/protocol/swg/ChatPersistentMessageToServer.java b/src/protocol/swg/chat/ChatPersistentMessageToServer.java
similarity index 98%
rename from src/protocol/swg/ChatPersistentMessageToServer.java
rename to src/protocol/swg/chat/ChatPersistentMessageToServer.java
index a8602f83..84fa1e52 100644
--- a/src/protocol/swg/ChatPersistentMessageToServer.java
+++ b/src/protocol/swg/chat/ChatPersistentMessageToServer.java
@@ -19,13 +19,16 @@
* Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
* Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
******************************************************************************/
-package protocol.swg;
+package protocol.swg.chat;
import java.io.UnsupportedEncodingException;
import java.nio.ByteBuffer;
import java.util.ArrayList;
import java.util.List;
+
import org.apache.mina.core.buffer.IoBuffer;
+
+import protocol.swg.SWGMessage;
import services.chat.WaypointAttachment;
diff --git a/src/protocol/swg/chat/ChatQueryRoom.java b/src/protocol/swg/chat/ChatQueryRoom.java
new file mode 100644
index 00000000..25e94d27
--- /dev/null
+++ b/src/protocol/swg/chat/ChatQueryRoom.java
@@ -0,0 +1,130 @@
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
+package protocol.swg.chat;
+
+import java.nio.ByteOrder;
+import java.util.Vector;
+
+import main.NGECore;
+
+import org.apache.mina.core.buffer.IoBuffer;
+
+import protocol.swg.SWGMessage;
+import services.chat.ChatRoom;
+
+public class ChatQueryRoom extends SWGMessage {
+
+ private ChatRoom room;
+ private String roomAddress;
+ private int requestId;
+
+ public ChatQueryRoom() { }
+ public ChatQueryRoom(ChatRoom room, int requestId) {
+ this.room = room;
+ this.requestId = requestId;
+ }
+
+ @Override
+ public void deserialize(IoBuffer data) {
+ data.getShort();
+ data.getInt();
+ requestId = data.getInt();
+ roomAddress = getAsciiString(data);
+ }
+
+ @Override
+ public IoBuffer serialize() {
+ String server = NGECore.getInstance().getGalaxyName();
+ IoBuffer buffer = IoBuffer.allocate(100).order(ByteOrder.LITTLE_ENDIAN);
+ buffer.setAutoExpand(true);
+
+ buffer.putShort((short) 7);
+ buffer.putInt(0xC4DE864E);
+
+ Vector users = room.getUserList();
+
+ buffer.putInt(users.size());
+ if (users.size() > 0) {
+ for (String str : users) {
+ buffer.put(getAsciiString("SWG"));
+ buffer.put(getAsciiString(server));
+ buffer.put(getAsciiString(str));
+ }
+ }
+
+ buffer.putInt(0); // TODO: Invited list for chat rooms
+
+ Vector moderators = room.getModeratorList();
+
+ buffer.putInt(moderators.size());
+ if (moderators.size() > 0) {
+ for (String str : moderators) {
+ buffer.put(getAsciiString("SWG"));
+ buffer.put(getAsciiString(server));
+ buffer.put(getAsciiString(str));
+ }
+ }
+
+ Vector banned = room.getBanList();
+ buffer.putInt(banned.size());
+ if (banned.size() > 0) {
+ for (String str : banned) {
+ buffer.put(getAsciiString("SWG"));
+ buffer.put(getAsciiString(server));
+ buffer.put(getAsciiString(str));
+ }
+ }
+
+ buffer.putInt(requestId);
+ buffer.putInt(room.getRoomId());
+ buffer.putInt(room.isPrivateRoom() ? 0 : 1);
+ buffer.put((byte) (room.isModeratorsOnly() ? 1 : 0));
+
+ buffer.put(getAsciiString(room.getRoomAddress()));
+
+ buffer.put(getAsciiString("SWG"));
+ buffer.put(getAsciiString(server));
+ buffer.put(getAsciiString(room.getOwner()));
+
+ buffer.put(getAsciiString("SWG"));
+ buffer.put(getAsciiString(server));
+ buffer.put(getAsciiString(room.getCreator()));
+
+ buffer.put(getUnicodeString(room.getDescription()));
+
+ buffer.putInt(0); // moderator list
+ buffer.putInt(0); // user list
+ return buffer.flip();
+ }
+ public String getRoomAddress() {
+ return roomAddress;
+ }
+ public void setRoomAddress(String roomAddress) {
+ this.roomAddress = roomAddress;
+ }
+ public int getRequestId() {
+ return requestId;
+ }
+ public void setRequestId(int requestId) {
+ this.requestId = requestId;
+ }
+}
diff --git a/src/protocol/swg/ChatRequestPersistentMessage.java b/src/protocol/swg/chat/ChatRequestPersistentMessage.java
similarity index 96%
rename from src/protocol/swg/ChatRequestPersistentMessage.java
rename to src/protocol/swg/chat/ChatRequestPersistentMessage.java
index d52b4afd..dd9ec88f 100644
--- a/src/protocol/swg/ChatRequestPersistentMessage.java
+++ b/src/protocol/swg/chat/ChatRequestPersistentMessage.java
@@ -19,10 +19,12 @@
* Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
* Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
******************************************************************************/
-package protocol.swg;
+package protocol.swg.chat;
import org.apache.mina.core.buffer.IoBuffer;
+import protocol.swg.SWGMessage;
+
public class ChatRequestPersistentMessage extends SWGMessage {
diff --git a/src/protocol/swg/chat/ChatRoomList.java b/src/protocol/swg/chat/ChatRoomList.java
new file mode 100644
index 00000000..3021f72f
--- /dev/null
+++ b/src/protocol/swg/chat/ChatRoomList.java
@@ -0,0 +1,102 @@
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
+package protocol.swg.chat;
+
+import java.nio.ByteOrder;
+import java.util.concurrent.ConcurrentHashMap;
+
+import main.NGECore;
+
+import org.apache.mina.core.buffer.IoBuffer;
+
+import protocol.swg.SWGMessage;
+import services.chat.ChatRoom;
+
+public class ChatRoomList extends SWGMessage {
+
+ private ConcurrentHashMap chatRooms;
+ private ChatRoom room;
+
+ public ChatRoomList(ConcurrentHashMap chatRooms) {
+ this.chatRooms = chatRooms;
+ }
+
+ public ChatRoomList(ChatRoom room) {
+ this.room = room;
+ }
+
+ @Override
+ public void deserialize(IoBuffer data) {
+
+ }
+
+ @Override
+ public IoBuffer serialize() {
+ String server = NGECore.getInstance().getGalaxyName();
+ IoBuffer buffer = IoBuffer.allocate(53).order(ByteOrder.LITTLE_ENDIAN);
+ buffer.setAutoExpand(true);
+
+ buffer.putShort((short) 2);
+ buffer.putInt(0x70DEB197);
+
+ if (room != null) {
+ buffer.putInt(1);
+
+ buffer.putInt(room.getRoomId());
+ buffer.putInt((int) ((room.isPrivateRoom() ? 1 : 0)));
+ buffer.put((byte) ((room.isModeratorsOnly() ? 1 : 0)));
+ buffer.put(getAsciiString(room.getRoomAddress()));
+ buffer.put(getAsciiString("SWG"));
+ buffer.put(getAsciiString(server));
+ buffer.put(getAsciiString(room.getOwner()));
+ buffer.put(getAsciiString("SWG"));
+ buffer.put(getAsciiString(server));
+ buffer.put(getAsciiString(room.getCreator()));
+ buffer.put(getUnicodeString(room.getDescription()));
+ buffer.putInt(0); // moderator list (not used by client)
+ buffer.putInt(0); // user list (not used by client)
+ } else {
+ buffer.putInt(chatRooms.size());
+ chatRooms.forEach((key, value) -> {
+ if (value.isVisible()) {
+ buffer.putInt(value.getRoomId());
+ buffer.putInt((int) ((value.isPrivateRoom() ? 1 : 0)));
+ buffer.put((byte) ((value.isModeratorsOnly() ? 1 : 0)));
+ buffer.put(getAsciiString(value.getRoomAddress()));
+ buffer.put(getAsciiString("SWG"));
+ buffer.put(getAsciiString(server));
+ buffer.put(getAsciiString(value.getOwner()));
+ buffer.put(getAsciiString("SWG"));
+ buffer.put(getAsciiString(server));
+ buffer.put(getAsciiString(value.getCreator()));
+ buffer.put(getUnicodeString(value.getDescription()));
+ buffer.putInt(0); // moderator list (not used by client)
+ buffer.putInt(0); // user list (not used by client)
+ }
+ });
+ }
+ buffer.flip();
+ //StringUtilities.printBytes(buffer.array());
+ return buffer;
+ }
+
+}
diff --git a/src/protocol/swg/chat/ChatRoomMessage.java b/src/protocol/swg/chat/ChatRoomMessage.java
new file mode 100644
index 00000000..616d019d
--- /dev/null
+++ b/src/protocol/swg/chat/ChatRoomMessage.java
@@ -0,0 +1,65 @@
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
+package protocol.swg.chat;
+
+import java.nio.ByteOrder;
+
+import main.NGECore;
+
+import org.apache.mina.core.buffer.IoBuffer;
+
+import protocol.swg.SWGMessage;
+
+public class ChatRoomMessage extends SWGMessage {
+
+ private String character;
+ private String message;
+ private int roomId;
+
+ public ChatRoomMessage(int roomId, String player, String message) {
+ this.roomId = roomId;
+ this.character = player;
+ this.message = message;
+ }
+
+ @Override
+ public void deserialize(IoBuffer data) {
+ }
+
+ @Override
+ public IoBuffer serialize() {
+ String server = NGECore.getInstance().getGalaxyName();
+
+ IoBuffer buffer = IoBuffer.allocate(27 + server.length() + character.length() + (message.length() * 2)).order(ByteOrder.LITTLE_ENDIAN);
+
+ buffer.putShort((short) 5);
+ buffer.putInt(0xCD4CE444);
+ buffer.put(getAsciiString("SWG"));
+ buffer.put(getAsciiString(server));
+ buffer.put(getAsciiString(character));
+ buffer.putInt(roomId);
+ buffer.put(getUnicodeString(message));
+ buffer.putInt(0); // out of band package ?
+ return buffer.flip();
+ }
+
+}
diff --git a/src/resources/z/exp/gcw/OtherServerGCWZonePercent.java b/src/protocol/swg/chat/ChatSendToRoom.java
similarity index 52%
rename from src/resources/z/exp/gcw/OtherServerGCWZonePercent.java
rename to src/protocol/swg/chat/ChatSendToRoom.java
index 8411980d..1c603c3c 100644
--- a/src/resources/z/exp/gcw/OtherServerGCWZonePercent.java
+++ b/src/protocol/swg/chat/ChatSendToRoom.java
@@ -19,66 +19,67 @@
* Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
* Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
******************************************************************************/
-package resources.z.exp.gcw;
+package protocol.swg.chat;
-import java.nio.ByteOrder;
+import java.io.UnsupportedEncodingException;
+import java.nio.ByteBuffer;
import org.apache.mina.core.buffer.IoBuffer;
-import com.sleepycat.persist.model.Persistent;
+import protocol.swg.SWGMessage;
+import resources.common.StringUtilities;
-import resources.objects.Delta;
-
-@Persistent
-public class OtherServerGCWZonePercent extends Delta implements Cloneable {
+public class ChatSendToRoom extends SWGMessage {
- private String zone = "";
- private int percent = 50;
-
- public OtherServerGCWZonePercent(String zone) {
- this.zone = zone;
- }
+ private String message;
+ private int roomId;
+ private int msgId;
- public OtherServerGCWZonePercent() {
-
- }
-
- public String getZone() {
- synchronized(objectMutex) {
- return zone;
- }
- }
-
- public int getPercent() {
- synchronized(objectMutex) {
- return percent;
- }
- }
-
- public OtherServerGCWZonePercent setPercent(double percent) {
- synchronized(objectMutex) {
- this.percent = (int) percent;
- return this;
- }
- }
-
- public byte[] getBytes() {
- synchronized(objectMutex) {
- IoBuffer buffer = bufferPool.allocate((2 + zone.length() + 4), false).order(ByteOrder.LITTLE_ENDIAN);
- buffer.put(getAsciiString(zone));
- buffer.putInt(percent);
- return buffer.array();
- }
- }
+ public ChatSendToRoom() { }
@Override
- public OtherServerGCWZonePercent clone() {
+ public void deserialize(IoBuffer data) {
try {
- return (OtherServerGCWZonePercent) super.clone();
- } catch (CloneNotSupportedException e) {
+ data.getShort();
+ data.getInt();
+ int size = data.getInt();
+ message = new String(ByteBuffer.allocate(size * 2).put(data.array(), data.position(), size * 2).array(), "UTF-16LE");
+ data.position(data.position() + size * 2);
+ data.getInt();
+ setRoomId(data.getInt());
+ setMsgId(data.getInt());
+ } catch (UnsupportedEncodingException e) {
e.printStackTrace();
- return null;
}
}
-
+
+ @Override
+ public IoBuffer serialize() {
+ return null;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public int getRoomId() {
+ return roomId;
+ }
+
+ public void setRoomId(int roomId) {
+ this.roomId = roomId;
+ }
+
+ public int getMsgId() {
+ return msgId;
+ }
+
+ public void setMsgId(int msgId) {
+ this.msgId = msgId;
+ }
+
}
diff --git a/src/protocol/swg/chat/ChatServerStatus.java b/src/protocol/swg/chat/ChatServerStatus.java
new file mode 100644
index 00000000..2de0db65
--- /dev/null
+++ b/src/protocol/swg/chat/ChatServerStatus.java
@@ -0,0 +1,46 @@
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
+package protocol.swg.chat;
+
+import java.nio.ByteOrder;
+
+import org.apache.mina.core.buffer.IoBuffer;
+
+import protocol.swg.SWGMessage;
+
+public class ChatServerStatus extends SWGMessage {
+
+ public ChatServerStatus() { }
+
+ @Override
+ public void deserialize(IoBuffer data) {
+ }
+
+ @Override
+ public IoBuffer serialize() {
+ IoBuffer buffer = IoBuffer.allocate(7).order(ByteOrder.LITTLE_ENDIAN);
+ buffer.putShort((short) 2);
+ buffer.putInt(0x7102B15F);
+ buffer.put((byte) 1);
+ return buffer.flip();
+ }
+}
diff --git a/src/resources/z/exp/manufacture/Property.java b/src/protocol/swg/chat/ChatSystemMessage.java
similarity index 53%
rename from src/resources/z/exp/manufacture/Property.java
rename to src/protocol/swg/chat/ChatSystemMessage.java
index 254c1689..277eb596 100644
--- a/src/resources/z/exp/manufacture/Property.java
+++ b/src/protocol/swg/chat/ChatSystemMessage.java
@@ -19,66 +19,41 @@
* Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
* Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
******************************************************************************/
-package resources.z.exp.manufacture;
+package protocol.swg.chat;
import java.nio.ByteOrder;
import org.apache.mina.core.buffer.IoBuffer;
-import com.sleepycat.persist.model.Persistent;
+import protocol.swg.SWGMessage;
+import resources.common.Opcodes;
+import resources.common.OutOfBand;
-import resources.objects.Delta;
-
-@Persistent
-public class Property extends Delta {
+public class ChatSystemMessage extends SWGMessage {
- private int unused = 0;
- private String key = "";
- private float value = 0;
+ private String message;
+ private byte displayType;
+ private OutOfBand outOfBand;
- public Property(String key, float value) {
- this.key = key;
- this.value = value;
+ public ChatSystemMessage(String message, OutOfBand outOfBand, byte displayType) {
+ this.message = message;
+ this.displayType = displayType;
+ this.outOfBand = outOfBand;
}
- public Property() {
+ public void deserialize(IoBuffer data) {
}
- public String getKey() {
- synchronized(objectMutex) {
- return key;
- }
- }
-
- public Property setKey(String key) {
- synchronized(objectMutex) {
- this.key = key;
- return this;
- }
- }
-
- public float getValue() {
- synchronized(objectMutex) {
- return value;
- }
- }
-
- public Property setValue(float value) {
- synchronized(objectMutex) {
- this.value = value;
- return this;
- }
- }
-
- public byte[] getBytes() {
- synchronized(objectMutex) {
- IoBuffer buffer = bufferPool.allocate(8 + getAsciiString(key).length, false).order(ByteOrder.LITTLE_ENDIAN);
- buffer.putInt(unused);
- buffer.put(getAsciiString(key));
- buffer.putFloat(value);
- return buffer.array();
- }
+ public IoBuffer serialize() {
+ IoBuffer outOfBandBuffer = outOfBand.serialize();
+ IoBuffer result = IoBuffer.allocate(7 + getUnicodeString(message).length + outOfBandBuffer.array().length).order(ByteOrder.LITTLE_ENDIAN);
+ result.putShort((short) 2);
+ result.putInt(Opcodes.ChatSystemMessage);
+ result.put(displayType);
+ result.put(getUnicodeString(message));
+ result.put(outOfBandBuffer.array());
+ return result.flip();
}
}
diff --git a/src/protocol/swg/chat/VoiceChatStatus.java b/src/protocol/swg/chat/VoiceChatStatus.java
new file mode 100644
index 00000000..97936a19
--- /dev/null
+++ b/src/protocol/swg/chat/VoiceChatStatus.java
@@ -0,0 +1,47 @@
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
+package protocol.swg.chat;
+
+import java.nio.ByteOrder;
+
+import org.apache.mina.core.buffer.IoBuffer;
+
+import protocol.swg.SWGMessage;
+
+public class VoiceChatStatus extends SWGMessage {
+
+ public VoiceChatStatus() { }
+
+ @Override
+ public void deserialize(IoBuffer data) {
+ }
+
+ @Override
+ public IoBuffer serialize() {
+ IoBuffer buffer = IoBuffer.allocate(10).order(ByteOrder.LITTLE_ENDIAN);
+ buffer.putShort((short) 2);
+ buffer.putInt(0x9E601905);
+ buffer.putInt(1);
+ return buffer.flip();
+ }
+
+}
diff --git a/src/protocol/swg/objectControllerObjects/Animation.java b/src/protocol/swg/objectControllerObjects/Animation.java
index c3475969..957cf7d2 100644
--- a/src/protocol/swg/objectControllerObjects/Animation.java
+++ b/src/protocol/swg/objectControllerObjects/Animation.java
@@ -26,7 +26,6 @@ import java.nio.ByteOrder;
import org.apache.mina.core.buffer.IoBuffer;
import protocol.swg.ObjControllerMessage;
-import protocol.swg.SWGMessage;
public class Animation extends ObjControllerObject {
@@ -45,7 +44,7 @@ public class Animation extends ObjControllerObject {
@Override
public IoBuffer serialize() {
- IoBuffer result = IoBuffer.allocate(36).order(ByteOrder.LITTLE_ENDIAN);
+ IoBuffer result = IoBuffer.allocate(20 + animation.length()).order(ByteOrder.LITTLE_ENDIAN);
result.putInt(ObjControllerMessage.ANIMATION);
diff --git a/src/protocol/swg/objectControllerObjects/BiographyUpdate.java b/src/protocol/swg/objectControllerObjects/BiographyUpdate.java
new file mode 100644
index 00000000..290d4580
--- /dev/null
+++ b/src/protocol/swg/objectControllerObjects/BiographyUpdate.java
@@ -0,0 +1,61 @@
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
+package protocol.swg.objectControllerObjects;
+
+import java.nio.ByteOrder;
+
+import org.apache.mina.core.buffer.IoBuffer;
+
+public class BiographyUpdate extends ObjControllerObject {
+
+ private long objectId;
+ private long targetObjectId;
+
+ private String biography;
+
+ public BiographyUpdate(long objectId, long targetObjectId, String biography) {
+ this.objectId = objectId;
+ this.biography = biography;
+ this.targetObjectId = targetObjectId;
+ }
+
+ @Override
+ public void deserialize(IoBuffer data) {
+
+
+ }
+
+ @Override
+ public IoBuffer serialize() {
+ IoBuffer buffer = IoBuffer.allocate(28 + (biography.length() * 2)).order(ByteOrder.LITTLE_ENDIAN);
+
+ buffer.putInt(0x000001DB);
+ buffer.putLong(objectId); // requester
+ buffer.putInt(0);
+ buffer.putLong(targetObjectId);
+ buffer.put(getUnicodeString(biography));
+
+ return buffer.flip();
+ }
+
+
+}
diff --git a/src/protocol/swg/objectControllerObjects/BuffBuilderChangeMessage.java b/src/protocol/swg/objectControllerObjects/BuffBuilderChangeMessage.java
index a877944a..b522ee35 100644
--- a/src/protocol/swg/objectControllerObjects/BuffBuilderChangeMessage.java
+++ b/src/protocol/swg/objectControllerObjects/BuffBuilderChangeMessage.java
@@ -6,28 +6,26 @@ import java.util.Vector;
import org.apache.mina.core.buffer.IoBuffer;
import protocol.swg.ObjControllerMessage;
-import resources.common.ObjControllerOpcodes;
-import resources.common.StringUtilities;
import resources.objects.BuffItem;
public class BuffBuilderChangeMessage extends ObjControllerObject {
+ private boolean accepted;
private int buffCost;
- private int time;
+
+ private long bufferId;
+ private int buffRecipientAccepted;
+ private long buffRecipientId;
private long objectId;
- private long bufferId;
- private long buffRecipientId;
-
- private boolean accepted;
- private int buffRecipientAccepted;
-
private Vector statBuffs = new Vector();
-
+
+ private int time;
+
public BuffBuilderChangeMessage() {
-
+
}
-
+
public BuffBuilderChangeMessage(long objectId, long bufferId, long buffRecipientId, Vector statBuffs) {
this.objectId = objectId;
this.bufferId = bufferId;
@@ -35,136 +33,130 @@ public class BuffBuilderChangeMessage extends ObjControllerObject {
this.statBuffs = statBuffs;
}
-
+
@Override
- public void deserialize(IoBuffer buffer) {
- setObjectId(buffer.getLong());
- buffer.getInt();
- setBufferId(buffer.getLong());
- setBuffRecipientId(buffer.getLong());
- setTime(buffer.getInt());
- setBuffCost(buffer.getInt());
-
- byte value = buffer.get();
+ public void deserialize(IoBuffer data) {
+ setObjectId(data.getLong());
+ data.getInt();
+ setBufferId(data.getLong());
+ setBuffRecipientId(data.getLong());
+ setTime(data.getInt());
+ setBuffCost(data.getInt());
+
+ byte value = data.get();
if (value == (byte) 0)
setAccepted(false);
else if (value == (byte) 1)
setAccepted(true);
-
- setBuffRecipientAccepted(buffer.getInt());
-
- int statSize = buffer.getInt();
+
+ setBuffRecipientAccepted(data.getInt());
+
+ int statSize = data.getInt();
for (int i = 0; i < statSize; i++) {
BuffItem item = new BuffItem();
-
- String statName = getAsciiString(buffer);
- item.setSkillName(statName);
-
- int investedPoints = buffer.getInt();
- item.setInvested(investedPoints);
-
- int maxAmount = buffer.getInt();
- item.setBonusAmount(maxAmount);
-
+
+ item.setSkillName(getAsciiString(data));
+ item.setInvested(data.getInt());
+ item.setEntertainerBonus(data.getInt());
+
statBuffs.add(item);
- System.out.println("Added buff item with " + investedPoints + " invested points " + " which has a bonus amount of " + maxAmount);
}
}
- @Override
- public IoBuffer serialize() {
- IoBuffer result = IoBuffer.allocate(65 + statBuffs.size()).order(ByteOrder.LITTLE_ENDIAN);
- result.setAutoExpand(true);
-
- result.putInt(ObjControllerMessage.BUFF_BUILDER_CHANGE);
- result.putLong(objectId);
-
- result.putInt(0);
-
- result.putLong(bufferId);
- result.putLong(buffRecipientId);
-
- result.putInt(time);
- result.putInt(buffCost);
-
- result.put((byte) ((accepted) ? 1 : 0));
- result.putInt(buffRecipientAccepted);
-
- result.putInt(statBuffs.size());
-
- if (!statBuffs.isEmpty()) {
- for (BuffItem item : statBuffs) {
- result.put(getAsciiString(item.getSkillName()));
- result.putInt(item.getInvested());
- result.putInt(item.getBonusAmount());
- }
- }
-
- return result.flip();
- }
-
- public int getBuffCost() {
- return buffCost;
- }
-
- public void setBuffCost(int buffCost) {
- this.buffCost = buffCost;
- }
-
- public int getTime() {
- return time;
- }
-
- public void setTime(int time) {
- this.time = time;
- }
-
- public long getObjectId() {
- return objectId;
- }
-
- public void setObjectId(long objectId) {
- this.objectId = objectId;
- }
-
- public long getBufferId() {
- return bufferId;
- }
-
- public void setBufferId(long bufferId) {
- this.bufferId = bufferId;
- }
-
- public long getBuffRecipientId() {
- return buffRecipientId;
- }
-
- public void setBuffRecipientId(long buffRecipientId) {
- this.buffRecipientId = buffRecipientId;
- }
-
public boolean getAccepted() {
return accepted;
}
- public void setAccepted(boolean accepted) {
- this.accepted = accepted;
+ public int getBuffCost() {
+ return buffCost;
+ }
+
+ public long getBufferId() {
+ return bufferId;
}
public int getBuffRecipientAccepted() {
return buffRecipientAccepted;
}
- public void setBuffRecipientAccepted(int buffRecipientAccepted) {
- this.buffRecipientAccepted = buffRecipientAccepted;
+ public long getBuffRecipientId() {
+ return buffRecipientId;
+ }
+
+ public long getObjectId() {
+ return objectId;
}
public Vector getStatBuffs() {
return statBuffs;
}
+ public int getTime() {
+ return time;
+ }
+
+ @Override
+ public IoBuffer serialize() {
+ IoBuffer result = IoBuffer.allocate(65 + statBuffs.size()).order(ByteOrder.LITTLE_ENDIAN);
+ result.setAutoExpand(true);
+
+ result.putInt(ObjControllerMessage.BUFF_BUILDER_CHANGE);
+ result.putLong(objectId);
+
+ result.putInt(0);
+
+ result.putLong(bufferId);
+ result.putLong(buffRecipientId);
+
+ result.putInt(time);
+ result.putInt(buffCost);
+
+ result.put((byte) ((accepted) ? 1 : 0));
+ result.putInt(buffRecipientAccepted);
+
+ result.putInt(statBuffs.size());
+
+ if (!statBuffs.isEmpty()) {
+ for (BuffItem item : statBuffs) {
+ result.put(getAsciiString(item.getSkillName()));
+ result.putInt(item.getInvested());
+ result.putInt(item.getEntertainerBonus());
+ }
+ }
+
+ return result.flip();
+ }
+
+ public void setAccepted(boolean accepted) {
+ this.accepted = accepted;
+ }
+
+ public void setBuffCost(int buffCost) {
+ this.buffCost = buffCost;
+ }
+
+ public void setBufferId(long bufferId) {
+ this.bufferId = bufferId;
+ }
+
+ public void setBuffRecipientAccepted(int buffRecipientAccepted) {
+ this.buffRecipientAccepted = buffRecipientAccepted;
+ }
+
+ public void setBuffRecipientId(long buffRecipientId) {
+ this.buffRecipientId = buffRecipientId;
+ }
+
+ public void setObjectId(long objectId) {
+ this.objectId = objectId;
+ }
+
public void setStatBuffs(Vector statBuffs) {
this.statBuffs = statBuffs;
}
+ public void setTime(int time) {
+ this.time = time;
+ }
+
}
diff --git a/src/protocol/swg/objectControllerObjects/BuffBuilderEndMessage.java b/src/protocol/swg/objectControllerObjects/BuffBuilderEndMessage.java
new file mode 100644
index 00000000..96a959db
--- /dev/null
+++ b/src/protocol/swg/objectControllerObjects/BuffBuilderEndMessage.java
@@ -0,0 +1,197 @@
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
+package protocol.swg.objectControllerObjects;
+
+import java.nio.ByteOrder;
+import java.util.Vector;
+
+import org.apache.mina.core.buffer.IoBuffer;
+
+import protocol.swg.ObjControllerMessage;
+import resources.objects.BuffItem;
+
+public class BuffBuilderEndMessage extends ObjControllerObject {
+
+ private boolean accepted;
+ private int buffCost;
+
+ private long bufferId;
+ private int buffRecipientAccepted;
+ private long buffRecipientId;
+
+ private long objectId;
+ private Vector statBuffs = new Vector();
+
+ private int time;
+
+ public BuffBuilderEndMessage() {
+
+ }
+
+ public BuffBuilderEndMessage(BuffBuilderEndMessage endMessage) {
+ this.buffCost = endMessage.getBuffCost();
+ this.time = endMessage.getTime();
+ this.accepted = endMessage.getAccepted();
+ this.buffRecipientAccepted = endMessage.getBuffRecipientAccepted();
+ this.statBuffs = endMessage.getStatBuffs();
+ }
+
+ public BuffBuilderEndMessage(BuffBuilderChangeMessage changeMessage) {
+ this.buffRecipientId = changeMessage.getBuffRecipientId();
+ this.bufferId = changeMessage.getBufferId();
+ this.buffCost = changeMessage.getBuffCost();
+ this.time = changeMessage.getTime();
+ this.accepted = changeMessage.getAccepted();
+ this.buffRecipientAccepted = changeMessage.getBuffRecipientAccepted();
+ this.statBuffs = changeMessage.getStatBuffs();
+ }
+ @Override
+ public void deserialize(IoBuffer data) {
+ setObjectId(data.getLong());
+ data.getInt();
+ setBufferId(data.getLong());
+ setBuffRecipientId(data.getLong());
+ setTime(data.getInt());
+ setBuffCost(data.getInt());
+
+ byte value = data.get();
+ if (value == (byte) 0)
+ setAccepted(false);
+ else if (value == (byte) 1)
+ setAccepted(true);
+
+ setBuffRecipientAccepted(data.getInt());
+
+ int statSize = data.getInt();
+ for (int i = 0; i < statSize; i++) {
+ BuffItem item = new BuffItem();
+
+ String statName = getAsciiString(data);
+ item.setSkillName(statName);
+
+ int investedPoints = data.getInt();
+ item.setInvested(investedPoints);
+
+ int entBonus = data.getInt();
+ item.setEntertainerBonus(entBonus);
+
+ statBuffs.add(item);
+ }
+ }
+
+ public boolean getAccepted() {
+ return accepted;
+ }
+
+ public int getBuffCost() {
+ return buffCost;
+ }
+
+ public long getBufferId() {
+ return bufferId;
+ }
+
+ public int getBuffRecipientAccepted() {
+ return buffRecipientAccepted;
+ }
+
+ public long getBuffRecipientId() {
+ return buffRecipientId;
+ }
+
+ public long getObjectId() {
+ return objectId;
+ }
+
+ public Vector getStatBuffs() {
+ return statBuffs;
+ }
+
+ public int getTime() {
+ return time;
+ }
+
+ @Override
+ public IoBuffer serialize() {
+ IoBuffer result = IoBuffer.allocate(65 + statBuffs.size()).order(ByteOrder.LITTLE_ENDIAN);
+ result.setAutoExpand(true);
+
+ result.putInt(ObjControllerMessage.BUFF_BUILDER_END);
+ result.putLong(objectId);
+
+ result.putInt(0);
+
+ result.putLong(bufferId);
+ result.putLong(buffRecipientId);
+
+ result.putInt(time);
+ result.putInt(buffCost);
+
+ result.put((byte) ((accepted) ? 1 : 0));
+ result.putInt(buffRecipientAccepted);
+
+ result.putInt(statBuffs.size());
+
+ if (!statBuffs.isEmpty()) {
+ for (BuffItem item : statBuffs) {
+ result.put(getAsciiString(item.getSkillName()));
+ result.putInt(item.getInvested());
+ result.putInt(item.getEntertainerBonus());
+ }
+ }
+
+ return result.flip();
+ }
+
+ public void setAccepted(boolean accepted) {
+ this.accepted = accepted;
+ }
+
+ public void setBuffCost(int buffCost) {
+ this.buffCost = buffCost;
+ }
+
+ public void setBufferId(long bufferId) {
+ this.bufferId = bufferId;
+ }
+
+ public void setBuffRecipientAccepted(int buffRecipientAccepted) {
+ this.buffRecipientAccepted = buffRecipientAccepted;
+ }
+
+ public void setBuffRecipientId(long buffRecipientId) {
+ this.buffRecipientId = buffRecipientId;
+ }
+
+ public void setObjectId(long objectId) {
+ this.objectId = objectId;
+ }
+
+ public void setStatBuffs(Vector statBuffs) {
+ this.statBuffs = statBuffs;
+ }
+
+ public void setTime(int time) {
+ this.time = time;
+ }
+
+}
diff --git a/src/protocol/swg/objectControllerObjects/ChangeRoleIconChoice.java b/src/protocol/swg/objectControllerObjects/ChangeRoleIconChoice.java
index 2cb16f10..7a458ead 100644
--- a/src/protocol/swg/objectControllerObjects/ChangeRoleIconChoice.java
+++ b/src/protocol/swg/objectControllerObjects/ChangeRoleIconChoice.java
@@ -21,12 +21,8 @@
******************************************************************************/
package protocol.swg.objectControllerObjects;
-import java.nio.ByteOrder;
-
import org.apache.mina.core.buffer.IoBuffer;
-import engine.resources.common.Utilities;
-
public class ChangeRoleIconChoice extends ObjControllerObject {
private long objectId = 0;
diff --git a/src/protocol/swg/objectControllerObjects/CombatSpam.java b/src/protocol/swg/objectControllerObjects/CombatSpam.java
index 75eaf9cd..fbf836de 100644
--- a/src/protocol/swg/objectControllerObjects/CombatSpam.java
+++ b/src/protocol/swg/objectControllerObjects/CombatSpam.java
@@ -33,9 +33,9 @@ public class CombatSpam extends ObjControllerObject{
private long attackerId;
private long defenderId;
private int damage;
- private String file;
- private String text;
- private byte colorFlag;
+ //private String file;
+ //private String text;
+ //private byte colorFlag;
private boolean hit = true;
private boolean critical = false;
private boolean dodge = false;
diff --git a/src/protocol/swg/objectControllerObjects/ImageDesignMessage.java b/src/protocol/swg/objectControllerObjects/ImageDesignMessage.java
new file mode 100644
index 00000000..8c99498e
--- /dev/null
+++ b/src/protocol/swg/objectControllerObjects/ImageDesignMessage.java
@@ -0,0 +1,361 @@
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
+package protocol.swg.objectControllerObjects;
+
+import java.nio.ByteOrder;
+import java.util.Vector;
+
+import org.apache.mina.core.buffer.IoBuffer;
+
+import protocol.swg.ObjControllerMessage;
+import resources.common.IDAttribute;
+
+public class ImageDesignMessage extends ObjControllerObject {
+
+ private long designerId;
+ private long targetId;
+ private long objectId;
+ private byte unkByte;
+ private String hair;
+ private String unk;
+ private int sessionId;
+ private int moneyDemanded;
+ private int moneyOffered;
+ private boolean designerCommited;
+ private boolean customerAccepted;
+ private byte flagStatMigration;
+
+ private int bodyFormSkill1;
+ private int faceFormSkill1;
+ private int bodyFormSkill2;
+ private int faceFormSkill2;
+
+ private String holoEmote;
+
+ private Vector bodyAttributes;
+ private Vector colorAttributes;
+
+ private boolean endMessage;
+
+ public ImageDesignMessage() { }
+
+ public ImageDesignMessage(long objectId, long designerId, long targetId) {
+ this.objectId = objectId;
+ this.designerId = designerId;
+ this.targetId = targetId;
+ }
+
+ @Override
+ public void deserialize(IoBuffer data) {
+
+ setObjectId(data.getLong());
+ data.getInt();
+ setDesignerId(data.getLong());
+ setTargetId(data.getLong());
+ data.getLong(); // tent id
+
+ setUnkByte(data.get());
+ setHair(getAsciiString(data));
+
+ setUnk(getAsciiString(data));
+ data.getInt(); // timer
+ setSessionId(data.getInt());
+ setMoneyDemanded(data.getInt());
+ setMoneyOffered(data.getInt());
+ setDesignerCommited((boolean) ((data.get() == 1) ? true : false));
+ setCustomerAccepted((boolean) ((data.getInt() == 1) ? true : false));
+
+ setBodyFormSkill1(data.getInt());
+ setFaceFormSkill1(data.getInt());
+
+ setBodyFormSkill2(data.getInt());
+ setFaceFormSkill2(data.getInt());
+
+ int bodyAttributesSize = data.getInt();
+
+ if (bodyAttributesSize > 0) {
+ Vector bodyAttributes = new Vector();
+
+ for (int i = 0; i < bodyAttributesSize; i++) {
+
+ IDAttribute atr = new IDAttribute();
+
+ atr.setName(getAsciiString(data));
+ atr.setFloatValue(data.getFloat());
+
+ bodyAttributes.add(atr);
+ }
+ setBodyAttributes(bodyAttributes);
+ }
+
+ int colorAttributesSize = data.getInt();
+
+ if (colorAttributesSize > 0) {
+ Vector colorAttributes = new Vector();
+
+ for (int i = 0; i < colorAttributesSize; i++) {
+
+ IDAttribute atr = new IDAttribute();
+
+ atr.setName(getAsciiString(data));
+ atr.setValue(data.getInt());
+
+ colorAttributes.add(atr);
+ }
+ setColorAttributes(colorAttributes);
+ }
+
+ setHoloEmote(getAsciiString(data));
+ }
+
+ @Override
+ public IoBuffer serialize() {
+ IoBuffer buffer = IoBuffer.allocate(100).order(ByteOrder.LITTLE_ENDIAN);
+ buffer.setAutoExpand(true);
+
+ if (endMessage)
+ buffer.putInt(ObjControllerMessage.IMAGE_DESIGN_END);
+ else
+ buffer.putInt(ObjControllerMessage.IMAGE_DESIGN_CHANGE);
+
+ buffer.putLong(objectId);
+ buffer.putInt(0);
+
+ buffer.putLong(designerId);
+ buffer.putLong(targetId);
+ buffer.putLong(0); // tent id
+
+ buffer.put(unkByte);
+ if (hair != null)
+ buffer.put(getAsciiString(hair));
+ else
+ buffer.putShort((short) 0);
+
+ if (unk != null)
+ buffer.put(getAsciiString(unk));
+ else
+ buffer.putShort((short) 0);
+
+ buffer.putInt(0); // timer
+
+ buffer.putInt(sessionId);
+
+ buffer.putInt(moneyDemanded);
+ buffer.putInt(moneyOffered);
+
+ buffer.put((byte) ((designerCommited) ? 1 : 0));
+ buffer.putInt((int) ((customerAccepted) ? 1 : 0));
+
+ buffer.putInt(bodyFormSkill1);
+ buffer.putInt(faceFormSkill1);
+ buffer.putInt(bodyFormSkill2);
+ buffer.putInt(faceFormSkill2);
+
+ if(bodyAttributes != null && bodyAttributes.size() > 0) {
+ buffer.putInt(bodyAttributes.size());
+ for (IDAttribute atr : bodyAttributes) {
+ buffer.put(getAsciiString(atr.getName()));
+ buffer.putFloat(atr.getFloatValue());
+ }
+ } else {
+ buffer.putInt(0);
+ }
+
+ if (colorAttributes != null && colorAttributes.size() > 0) {
+ buffer.putInt(colorAttributes.size());
+ for (IDAttribute atr : colorAttributes) {
+ buffer.put(getAsciiString(atr.getName()));
+ buffer.putInt(atr.getValue());
+ }
+ } else {
+ buffer.putInt(0);
+ }
+
+ if (holoEmote != null)
+ buffer.put(getAsciiString(holoEmote));
+ else
+ buffer.putShort((short) 0);
+
+ return buffer.flip();
+ }
+
+ public long getDesignerId() {
+ return designerId;
+ }
+
+ public void setDesignerId(long designerId) {
+ this.designerId = designerId;
+ }
+
+ public long getTargetId() {
+ return targetId;
+ }
+
+ public void setTargetId(long targetId) {
+ this.targetId = targetId;
+ }
+
+ public long getObjectId() {
+ return objectId;
+ }
+
+ public void setObjectId(long objectId) {
+ this.objectId = objectId;
+ }
+
+ public byte getUnkByte() {
+ return unkByte;
+ }
+
+ public void setUnkByte(byte unkByte) {
+ this.unkByte = unkByte;
+ }
+
+ public String getHair() {
+ return hair;
+ }
+
+ public void setHair(String hair) {
+ this.hair = hair;
+ }
+
+ public String getUnk() {
+ return unk;
+ }
+
+ public void setUnk(String unk) {
+ this.unk = unk;
+ }
+
+ public int getSessionId() {
+ return sessionId;
+ }
+
+ public void setSessionId(int sessionId) {
+ this.sessionId = sessionId;
+ }
+
+ public int getMoneyDemanded() {
+ return moneyDemanded;
+ }
+
+ public void setMoneyDemanded(int moneyDemanded) {
+ this.moneyDemanded = moneyDemanded;
+ }
+
+ public int getMoneyOffered() {
+ return moneyOffered;
+ }
+
+ public void setMoneyOffered(int moneyOffered) {
+ this.moneyOffered = moneyOffered;
+ }
+
+ public boolean isDesignerCommited() {
+ return designerCommited;
+ }
+
+ public void setDesignerCommited(boolean designerCommited) {
+ this.designerCommited = designerCommited;
+ }
+
+ public boolean isCustomerAccepted() {
+ return customerAccepted;
+ }
+
+ public void setCustomerAccepted(boolean customerAccepted) {
+ this.customerAccepted = customerAccepted;
+ }
+
+ public byte getFlagStatMigration() {
+ return flagStatMigration;
+ }
+
+ public void setFlagStatMigration(byte flagStatMigration) {
+ this.flagStatMigration = flagStatMigration;
+ }
+
+ public int getBodyFormSkill1() {
+ return bodyFormSkill1;
+ }
+
+ public void setBodyFormSkill1(int bodyFormSkill1) {
+ this.bodyFormSkill1 = bodyFormSkill1;
+ }
+
+ public int getFaceFormSkill1() {
+ return faceFormSkill1;
+ }
+
+ public void setFaceFormSkill1(int faceFormSkill1) {
+ this.faceFormSkill1 = faceFormSkill1;
+ }
+
+ public int getBodyFormSkill2() {
+ return bodyFormSkill2;
+ }
+
+ public void setBodyFormSkill2(int bodyFormSkill2) {
+ this.bodyFormSkill2 = bodyFormSkill2;
+ }
+
+ public int getFaceFormSkill2() {
+ return faceFormSkill2;
+ }
+
+ public void setFaceFormSkill2(int faceFormSkill2) {
+ this.faceFormSkill2 = faceFormSkill2;
+ }
+
+ public String getHoloEmote() {
+ return holoEmote;
+ }
+
+ public void setHoloEmote(String holoEmote) {
+ this.holoEmote = holoEmote;
+ }
+
+ public Vector getBodyAttributes() {
+ return bodyAttributes;
+ }
+
+ public void setBodyAttributes(Vector bodyAttributes) {
+ this.bodyAttributes = bodyAttributes;
+ }
+
+ public Vector getColorAttributes() {
+ return colorAttributes;
+ }
+
+ public void setColorAttributes(Vector colorAttributes) {
+ this.colorAttributes = colorAttributes;
+ }
+
+ public boolean isEndMessage() {
+ return endMessage;
+ }
+
+ public void setEndMessage(boolean endMessage) {
+ this.endMessage = endMessage;
+ }
+
+}
diff --git a/src/protocol/swg/objectControllerObjects/ImageDesignStartMessage.java b/src/protocol/swg/objectControllerObjects/ImageDesignStartMessage.java
new file mode 100644
index 00000000..fdada211
--- /dev/null
+++ b/src/protocol/swg/objectControllerObjects/ImageDesignStartMessage.java
@@ -0,0 +1,61 @@
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
+package protocol.swg.objectControllerObjects;
+
+import java.nio.ByteOrder;
+
+import org.apache.mina.core.buffer.IoBuffer;
+
+import protocol.swg.ObjControllerMessage;
+
+public class ImageDesignStartMessage extends ObjControllerObject {
+
+ private long objectId;
+ private long designer;
+ private long target;
+
+ public ImageDesignStartMessage(long objectId, long designer, long target) {
+ this.designer = designer;
+ this.target = target;
+ this.objectId = objectId;
+ }
+
+ @Override
+ public void deserialize(IoBuffer data) {
+ }
+
+ @Override
+ public IoBuffer serialize() {
+ IoBuffer buffer = IoBuffer.allocate(46).order(ByteOrder.LITTLE_ENDIAN);
+
+ buffer.putInt(ObjControllerMessage.IMAGE_DESIGN_START);
+ buffer.putLong(objectId);
+
+ buffer.putInt(0);
+ buffer.putLong(designer);
+ buffer.putLong(target);
+ buffer.putLong(0);
+ buffer.putShort((short) 0);
+ return buffer.flip();
+ }
+
+}
diff --git a/src/protocol/swg/objectControllerObjects/MissionListRequest.java b/src/protocol/swg/objectControllerObjects/MissionListRequest.java
index 6a2878cd..5e7aa208 100644
--- a/src/protocol/swg/objectControllerObjects/MissionListRequest.java
+++ b/src/protocol/swg/objectControllerObjects/MissionListRequest.java
@@ -21,11 +21,8 @@
******************************************************************************/
package protocol.swg.objectControllerObjects;
-import java.nio.ByteOrder;
-
import org.apache.mina.core.buffer.IoBuffer;
-import protocol.swg.ObjControllerMessage;
import resources.common.Console;
import resources.common.StringUtilities;
diff --git a/src/protocol/swg/objectControllerObjects/NpcConversationMessage.java b/src/protocol/swg/objectControllerObjects/NpcConversationMessage.java
new file mode 100644
index 00000000..eceff19c
--- /dev/null
+++ b/src/protocol/swg/objectControllerObjects/NpcConversationMessage.java
@@ -0,0 +1,58 @@
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
+package protocol.swg.objectControllerObjects;
+
+import java.nio.ByteOrder;
+
+import org.apache.mina.core.buffer.IoBuffer;
+
+import protocol.swg.ObjControllerMessage;
+import resources.common.OutOfBand;
+
+public class NpcConversationMessage extends ObjControllerObject {
+
+ private long objectId;
+ private OutOfBand outOfBand;
+
+ public NpcConversationMessage(long objectId, OutOfBand outOfBand) {
+ this.objectId = objectId;
+ this.outOfBand = outOfBand;
+ outOfBand.setHeaderBytes(2);
+ }
+
+ @Override
+ public void deserialize(IoBuffer data) {
+
+ }
+
+ @Override
+ public IoBuffer serialize() {
+ IoBuffer outOfBandBuffer = outOfBand.serialize();
+ IoBuffer buffer = IoBuffer.allocate(16 + outOfBandBuffer.array().length).order(ByteOrder.LITTLE_ENDIAN);
+ buffer.putInt(ObjControllerMessage.CONVERSATION_MESSAGE);
+ buffer.putLong(objectId);
+ buffer.putInt(0);
+ buffer.put(outOfBandBuffer.array());
+ return buffer.flip();
+ }
+
+}
diff --git a/src/resources/z/exp/gcw/CurrentServerGCWZoneHistory.java b/src/protocol/swg/objectControllerObjects/NpcConversationOptions.java
similarity index 53%
rename from src/resources/z/exp/gcw/CurrentServerGCWZoneHistory.java
rename to src/protocol/swg/objectControllerObjects/NpcConversationOptions.java
index 3171a5eb..092b2556 100644
--- a/src/resources/z/exp/gcw/CurrentServerGCWZoneHistory.java
+++ b/src/protocol/swg/objectControllerObjects/NpcConversationOptions.java
@@ -19,59 +19,47 @@
* Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
* Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
******************************************************************************/
-package resources.z.exp.gcw;
+package protocol.swg.objectControllerObjects;
import java.nio.ByteOrder;
+import java.util.Vector;
import org.apache.mina.core.buffer.IoBuffer;
-import com.sleepycat.persist.model.Persistent;
-
+import protocol.swg.ObjControllerMessage;
+import resources.common.ConversationOption;
import resources.objects.Delta;
-@Persistent
-public class CurrentServerGCWZoneHistory extends Delta implements Cloneable {
+public class NpcConversationOptions extends ObjControllerObject {
- private int lastUpdateTime;
- private int percent;
-
- public CurrentServerGCWZoneHistory(CurrentServerGCWZonePercent zone) {
- this.percent = zone.getPercent().intValue();
- this.lastUpdateTime = zone.getLastUpdateTime();
- }
-
- public CurrentServerGCWZoneHistory() {
-
- }
-
- public int getLastUpdateTime() {
- synchronized(objectMutex) {
- return lastUpdateTime;
- }
+ private long objectId;
+ private Vector conversationOptions = new Vector();
+
+ public NpcConversationOptions(long objectId) {
+ this.objectId = objectId;
}
- public int getPercent() {
- synchronized(objectMutex) {
- return percent;
- }
+ @Override
+ public void deserialize(IoBuffer data) {
}
- public byte[] getBytes() {
- synchronized(objectMutex) {
- IoBuffer buffer = bufferPool.allocate((8), false).order(ByteOrder.LITTLE_ENDIAN);
- buffer.putInt(lastUpdateTime);
- buffer.putInt(percent);
- return buffer.array();
- }
+ public void addOption(ConversationOption option) {
+ conversationOptions.add(option);
}
-
- public CurrentServerGCWZoneHistory clone() {
- try {
- return (CurrentServerGCWZoneHistory) super.clone();
- } catch (CloneNotSupportedException e) {
- e.printStackTrace();
- return null;
+
+ @Override
+ public IoBuffer serialize() {
+ IoBuffer buffer = IoBuffer.allocate(17).order(ByteOrder.LITTLE_ENDIAN);
+ buffer.setAutoExpand(true);
+ buffer.putInt(ObjControllerMessage.CONVERSATION_OPTIONS);
+ buffer.putLong(objectId);
+ buffer.putInt(0);
+ buffer.put((byte) conversationOptions.size());
+ for (ConversationOption option : conversationOptions) {
+ option.getOutOfBand().setHeaderBytes(2);
+ buffer.put(option.getOutOfBand().serialize().array());
}
+ return Delta.resizeBuffer(buffer);
}
-
+
}
diff --git a/src/protocol/swg/objectControllerObjects/ObjectMenuResponse.java b/src/protocol/swg/objectControllerObjects/ObjectMenuResponse.java
index 1d1ae2c5..fd833068 100644
--- a/src/protocol/swg/objectControllerObjects/ObjectMenuResponse.java
+++ b/src/protocol/swg/objectControllerObjects/ObjectMenuResponse.java
@@ -59,41 +59,31 @@ public class ObjectMenuResponse extends ObjControllerObject {
@Override
public IoBuffer serialize() {
+ int size = 37;
+ byte counter = 0;
- IoBuffer result = IoBuffer.allocate(100).order(ByteOrder.LITTLE_ENDIAN);
- result.setAutoExpand(true);
+ for (RadialOptions radialOption : radialOptions) {
+ size += 5 + getUnicodeString(radialOption.getDescription()).length;
+ }
+ IoBuffer result = IoBuffer.allocate(size).order(ByteOrder.LITTLE_ENDIAN);
result.putInt(ObjControllerMessage.OBJECT_MENU_RESPONSE);
result.putLong(ownerId);
result.putInt(0);
result.putLong(targetId);
result.putLong(ownerId);
-
- int size = radialOptions.size();
- result.putInt(size);
-
- if(size > 0) {
- byte counter = 0;
- for(RadialOptions radialOption : radialOptions) {
- result.put(++counter);
- result.put(radialOption.getParentId());
- result.putShort(radialOption.getOptionId());
- //result.put(radialOption.getOptionType());
- result.put((byte) 3);
-
- if(radialOption.getDescription().length() > 0)
- result.put(getUnicodeString(radialOption.getDescription()));
- else
- result.putInt(0);
-
- }
+ result.putInt(radialOptions.size());
+ for (RadialOptions radialOption : radialOptions) {
+ result.put(++counter);
+ result.put(radialOption.getParentId());
+ result.putShort(radialOption.getOptionId());
+ //result.put(radialOption.getOptionType());
+ result.put((byte) 3);
+ result.put(getUnicodeString(radialOption.getDescription()));
}
result.put(radialCount);
- int packetSize = result.position();
- result = IoBuffer.allocate(packetSize).put(result.array(), 0, packetSize);
return result.flip();
-
}
}
diff --git a/src/protocol/swg/objectControllerObjects/Posture.java b/src/protocol/swg/objectControllerObjects/Posture.java
index c08ffaad..905a66b3 100644
--- a/src/protocol/swg/objectControllerObjects/Posture.java
+++ b/src/protocol/swg/objectControllerObjects/Posture.java
@@ -47,9 +47,9 @@ public class Posture extends ObjControllerObject {
result.putInt(ObjControllerMessage.POSTURE);
result.putLong(objectId);
- result.putInt(0); //unk
+ result.putInt(0); // tick count ?
result.put((byte) posture);
- result.put((byte) 0);
+ result.put((byte) 0); // seen also as 1
return result.flip();
}
diff --git a/src/protocol/swg/objectControllerObjects/SecureTrade.java b/src/protocol/swg/objectControllerObjects/SecureTrade.java
index e621072f..3f48253c 100644
--- a/src/protocol/swg/objectControllerObjects/SecureTrade.java
+++ b/src/protocol/swg/objectControllerObjects/SecureTrade.java
@@ -1,3 +1,24 @@
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
package protocol.swg.objectControllerObjects;
import java.nio.ByteOrder;
@@ -27,8 +48,7 @@ public class SecureTrade extends ObjControllerObject{
@Override
public IoBuffer serialize() {
- IoBuffer result = IoBuffer.allocate(100).order(ByteOrder.LITTLE_ENDIAN);
- result.setAutoExpand(true);
+ IoBuffer result = IoBuffer.allocate(40).order(ByteOrder.LITTLE_ENDIAN);
result.putInt(ObjControllerMessage.SPACIAL_CHAT);
result.putInt(1);
diff --git a/src/protocol/swg/objectControllerObjects/SetProfessionTemplate.java b/src/protocol/swg/objectControllerObjects/SetProfessionTemplate.java
new file mode 100644
index 00000000..f9c0bb77
--- /dev/null
+++ b/src/protocol/swg/objectControllerObjects/SetProfessionTemplate.java
@@ -0,0 +1,60 @@
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
+package protocol.swg.objectControllerObjects;
+
+import java.io.UnsupportedEncodingException;
+import java.nio.ByteBuffer;
+
+import org.apache.mina.core.buffer.IoBuffer;
+
+public class SetProfessionTemplate extends ObjControllerObject {
+
+ private String profession;
+
+ @Override
+ public void deserialize(IoBuffer data) {
+ data.getLong();
+ data.getInt();
+ short size = data.getShort();
+ try {
+ profession = new String(ByteBuffer.allocate(size).put(data.array(), data.position(), size).array(), "US-ASCII");
+ } catch (UnsupportedEncodingException e) {
+ e.printStackTrace();
+ }
+ data.position(data.position() + size);
+ }
+
+ @Override
+ public IoBuffer serialize() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public String getProfession() {
+ return profession;
+ }
+
+ public void setProfession(String profession) {
+ this.profession = profession;
+ }
+
+}
diff --git a/src/protocol/swg/objectControllerObjects/ShowFlyText.java b/src/protocol/swg/objectControllerObjects/ShowFlyText.java
index 41325368..39530a87 100644
--- a/src/protocol/swg/objectControllerObjects/ShowFlyText.java
+++ b/src/protocol/swg/objectControllerObjects/ShowFlyText.java
@@ -26,50 +26,28 @@ import java.nio.ByteOrder;
import org.apache.mina.core.buffer.IoBuffer;
import protocol.swg.ObjControllerMessage;
+import resources.common.OutOfBand;
import resources.common.RGB;
+import resources.common.Stf;
public class ShowFlyText extends ObjControllerObject {
- private long recieverId;
+ private long receiverId;
private long objectId;
- private int unknownInt1;
- private short unknownShort1;
- private byte unknownByte1;
- private int unknownInt2;
- private String stfFile;
- private String stfString;
- private short xp;
+ private Stf stf;
+ private OutOfBand outOfBand;
private float scale;
private RGB color;
private int displayType;
- private boolean alternativeStructure;
- private String customText;
- public ShowFlyText(long recieverId, long objectId, String stfFile, String stfString, float scale, RGB color, int displayType) {
- this.recieverId = recieverId;
+ public ShowFlyText(long receiverId, long objectId, String stf, OutOfBand outOfBand, float scale, RGB color, int displayType) {
+ this.receiverId = receiverId;
this.objectId = objectId;
- this.stfFile = stfFile;
- this.stfString = stfString;
+ this.stf = new Stf(stf);
+ this.outOfBand = outOfBand;
this.scale = scale;
this.color = color;
this.displayType = displayType;
- this.alternativeStructure = false;
- }
-
- public ShowFlyText(long recieverId, long objectId, int unknownInt1, int unknownShort1, int unknownByte1, int unknownInt2, String stfFile, String stfString, String customText, int xp, float scale, RGB color, int displayType) {
- this.recieverId = recieverId;
- this.objectId = objectId;
- this.unknownInt1 = unknownInt1;
- this.unknownShort1 = (short) unknownShort1;
- this.unknownByte1 = (byte) unknownByte1;
- this.unknownInt2 = unknownInt2;
- this.stfFile = stfFile;
- this.stfString = stfString;
- this.customText = customText;
- this.xp = (short) xp;
- this.scale = scale;
- this.color = color;
- this.alternativeStructure = true;
}
@Override
@@ -80,51 +58,20 @@ public class ShowFlyText extends ObjControllerObject {
@Override
public IoBuffer serialize() {
- if (!alternativeStructure) {
- IoBuffer result = IoBuffer.allocate(47 + stfFile.length() + stfString.length()).order(ByteOrder.LITTLE_ENDIAN);
- result.setAutoExpand(true);
- result.putInt(ObjControllerMessage.SHOW_FLY_TEXT);
- result.putLong(recieverId);
- result.putInt(0);
- result.putLong(objectId);
- result.put(getAsciiString(stfFile));
- result.putInt(0);
- result.put(getAsciiString(stfString));
- result.putInt(0);
- result.putFloat(scale);
- result.put(color.getBytes());
- result.putInt(displayType);
- return result.flip();
- } else {
- IoBuffer result = IoBuffer.allocate(124 + stfFile.length() + stfString.length()).order(ByteOrder.LITTLE_ENDIAN);
- result.setAutoExpand(true);
- result.putInt(ObjControllerMessage.SHOW_FLY_TEXT);
- result.putLong(recieverId);
- result.putInt(0);
- result.putLong(objectId);
- result.putLong(0);
- result.putInt(unknownInt1);
- result.putShort(unknownShort1);
- result.put(unknownByte1);
- result.putInt(unknownInt2);
- result.put(getAsciiString(stfFile));
- result.putInt(0);
- result.put(getAsciiString(stfString));
- result.putLong(0);
- result.putLong(0);
- result.putLong(0);
- result.putLong(0);
- result.putLong(0);
- result.putLong(0);
- result.putLong(0);
- result.put(getUnicodeString(customText));
- result.putShort(xp);
- result.putLong(0);
- result.putFloat(scale);
- result.put(color.getBytes());
- result.putInt(displayType);
- return result.flip();
- }
+ IoBuffer outOfBandBuffer = outOfBand.serialize();
+ IoBuffer result = IoBuffer.allocate(35 + outOfBandBuffer.array().length).order(ByteOrder.LITTLE_ENDIAN);
+ result.setAutoExpand(true);
+ result.putInt(ObjControllerMessage.SHOW_FLY_TEXT);
+ result.putLong(receiverId);
+ result.putInt(0);
+ result.putLong(objectId);
+ result.put(stf.getBytes());
+ result.put(outOfBandBuffer.array());
+ result.putFloat(scale);
+ result.put(color.getBytes());
+ result.putInt(displayType);
+ result.flip();
+ return result;
}
}
diff --git a/src/protocol/swg/objectControllerObjects/ShowLootBox.java b/src/protocol/swg/objectControllerObjects/ShowLootBox.java
new file mode 100644
index 00000000..c20121a3
--- /dev/null
+++ b/src/protocol/swg/objectControllerObjects/ShowLootBox.java
@@ -0,0 +1,80 @@
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
+package protocol.swg.objectControllerObjects;
+
+import java.nio.ByteOrder;
+import java.util.Vector;
+
+import org.apache.mina.core.buffer.IoBuffer;
+
+import engine.resources.objects.SWGObject;
+import protocol.swg.ObjControllerMessage;
+
+public class ShowLootBox extends ObjControllerObject {
+
+ private long playerId;
+ private Vector rewards;
+ private SWGObject reward;
+
+ public ShowLootBox(long playerId, SWGObject reward) {
+ this.playerId = playerId;
+ this.reward = reward;
+ }
+
+ public ShowLootBox(long playerId, Vector rewards) {
+ this.playerId = playerId;
+ this.rewards = rewards;
+ }
+
+ @Override
+ public void deserialize(IoBuffer data) {
+
+ }
+
+ @Override
+ public IoBuffer serialize() {
+ IoBuffer buffer;
+
+ if (rewards != null)
+ buffer = IoBuffer.allocate(20 + (rewards.size() * 8)).order(ByteOrder.LITTLE_ENDIAN);
+
+ else
+ buffer = IoBuffer.allocate(28).order(ByteOrder.LITTLE_ENDIAN);
+
+ buffer.putInt(ObjControllerMessage.SHOW_LOOT_BOX);
+ buffer.putLong(playerId);
+
+ buffer.putInt(0); // 1 for a black background on icon, 0 or 2 for transparent (default)
+
+ if (rewards == null) {
+ buffer.putInt(1);
+ buffer.putLong(reward.getObjectId());
+ } else {
+ buffer.putInt(rewards.size());
+ for(SWGObject obj : rewards) {
+ buffer.putLong(obj.getObjectID());
+ }
+ }
+ return buffer.flip();
+ }
+
+}
diff --git a/src/protocol/swg/objectControllerObjects/SpatialChat.java b/src/protocol/swg/objectControllerObjects/SpatialChat.java
index 1d2ac34e..bf86de8f 100644
--- a/src/protocol/swg/objectControllerObjects/SpatialChat.java
+++ b/src/protocol/swg/objectControllerObjects/SpatialChat.java
@@ -26,12 +26,12 @@ import java.nio.ByteOrder;
import org.apache.mina.core.buffer.IoBuffer;
import protocol.swg.ObjControllerMessage;
+import resources.common.OutOfBand;
@SuppressWarnings("unused")
-
public class SpatialChat extends ObjControllerObject {
- private long audienceId;
+ private long destinationId;
private long sourceId;
private long targetId;
private String chatMessage;
@@ -40,15 +40,19 @@ public class SpatialChat extends ObjControllerObject {
private short balloonType = 1;
private short chatType;
private short moodId;
+ private byte languageId = 1;
+ private OutOfBand outOfBand;
- public SpatialChat(long sourceId, long targetId, String chatMessage, short chatType, short moodId) {
+ public SpatialChat(long destinationId, long sourceId, long targetId, String chatMessage, short chatType, short moodId, int languageId, OutOfBand outOfBand) {
try {
- this.audienceId = sourceId;
+ this.destinationId = destinationId;
this.sourceId = sourceId;
this.targetId = targetId;
this.chatMessage = chatMessage;
this.chatType = chatType;
this.moodId = moodId;
+ this.languageId = (byte) languageId;
+ this.outOfBand = ((outOfBand == null) ? new OutOfBand() : outOfBand);
/*String[] chatMessageParse = chatMessage.split(" ", 6);
@@ -62,19 +66,20 @@ public class SpatialChat extends ObjControllerObject {
}
}
- public void setDestinationId(long audienceId) {
- this.audienceId = audienceId;
+ public void setDestinationId(long destinationId) {
+ this.destinationId = destinationId;
}
-
+
public void deserialize(IoBuffer data) {
}
public IoBuffer serialize() {
- IoBuffer result = IoBuffer.allocate(55 + chatMessage.length() * 2).order(ByteOrder.LITTLE_ENDIAN);
-
+ outOfBand.setHeaderBytes(2);
+ IoBuffer outOfBandBuffer = outOfBand.serialize();
+ IoBuffer result = IoBuffer.allocate(51 + (chatMessage.length() * 2) + outOfBandBuffer.array().length).order(ByteOrder.LITTLE_ENDIAN);
result.putInt(ObjControllerMessage.SPACIAL_CHAT);
- result.putLong(audienceId);
+ result.putLong(destinationId);
result.putInt(0);
result.putLong(sourceId);
result.putLong(targetId);
@@ -83,11 +88,9 @@ public class SpatialChat extends ObjControllerObject {
result.putShort((short) 0x32);
result.putShort(chatType);
result.putShort(moodId);
- result.put((byte) 1);
-
+ result.put(languageId);
result.putInt(0);
- result.putInt(0);
-
+ result.put(outOfBandBuffer.array());
return result.flip();
}
diff --git a/src/protocol/swg/objectControllerObjects/StartNpcConversation.java b/src/protocol/swg/objectControllerObjects/StartNpcConversation.java
new file mode 100644
index 00000000..a696ca70
--- /dev/null
+++ b/src/protocol/swg/objectControllerObjects/StartNpcConversation.java
@@ -0,0 +1,62 @@
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
+package protocol.swg.objectControllerObjects;
+
+import java.nio.ByteOrder;
+
+import org.apache.mina.core.buffer.IoBuffer;
+
+import protocol.swg.ObjControllerMessage;
+
+public class StartNpcConversation extends ObjControllerObject {
+
+ private long npcId;
+ private long objectId;
+
+ public StartNpcConversation(long objectId, long npcId) {
+ this.objectId = objectId;
+ this.npcId = npcId;
+ }
+
+ @Override
+ public void deserialize(IoBuffer data) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public IoBuffer serialize() {
+ IoBuffer buffer = IoBuffer.allocate(31).order(ByteOrder.LITTLE_ENDIAN);
+
+ buffer.putInt(ObjControllerMessage.START_CONVERSATION);
+ buffer.putLong(objectId);
+
+ buffer.putInt(0);
+ buffer.putLong(npcId);
+ buffer.putInt(0);
+ buffer.putShort((short) 0);
+ buffer.put((byte) 0);
+
+ return buffer.flip();
+ }
+
+}
diff --git a/src/protocol/swg/objectControllerObjects/StopNpcConversation.java b/src/protocol/swg/objectControllerObjects/StopNpcConversation.java
new file mode 100644
index 00000000..4690140d
--- /dev/null
+++ b/src/protocol/swg/objectControllerObjects/StopNpcConversation.java
@@ -0,0 +1,66 @@
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
+package protocol.swg.objectControllerObjects;
+
+import java.nio.ByteOrder;
+
+import org.apache.mina.core.buffer.IoBuffer;
+
+import protocol.swg.ObjControllerMessage;
+
+public class StopNpcConversation extends ObjControllerObject {
+
+ private long npcId;
+ private long objectId;
+ private String stfFile;
+ private String stfLabel;
+
+ public StopNpcConversation(long objectId, long npcId, String stfFile, String stfLabel) {
+ this.objectId = objectId;
+ this.npcId = npcId;
+ this.stfFile = stfFile;
+ this.stfLabel = stfLabel;
+ }
+
+ @Override
+ public void deserialize(IoBuffer data) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public IoBuffer serialize() {
+ IoBuffer buffer = IoBuffer.allocate(40 + stfFile.length() + stfLabel.length()).order(ByteOrder.LITTLE_ENDIAN);
+
+ buffer.putInt(ObjControllerMessage.STOP_CONVERSATION);
+ buffer.putLong(objectId);
+
+ buffer.putInt(0);
+ buffer.putLong(npcId);
+ buffer.put(getAsciiString(stfFile));
+ buffer.putInt(0);
+ buffer.put(getAsciiString(stfLabel));
+ buffer.putLong(0);
+
+ return buffer.flip();
+ }
+}
diff --git a/src/protocol/swg/objectControllerObjects/TargetUpdate.java b/src/protocol/swg/objectControllerObjects/TargetUpdate.java
index bfac2b1b..bd01c8a8 100644
--- a/src/protocol/swg/objectControllerObjects/TargetUpdate.java
+++ b/src/protocol/swg/objectControllerObjects/TargetUpdate.java
@@ -39,7 +39,7 @@ public class TargetUpdate extends ObjControllerObject {
@Override
public IoBuffer serialize() {
- // TODO Auto-generated method stub
+
return null;
}
diff --git a/src/protocol/swg/objectControllerObjects/UiPlayEffect.java b/src/protocol/swg/objectControllerObjects/UiPlayEffect.java
new file mode 100644
index 00000000..a4b776fd
--- /dev/null
+++ b/src/protocol/swg/objectControllerObjects/UiPlayEffect.java
@@ -0,0 +1,60 @@
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
+package protocol.swg.objectControllerObjects;
+
+import java.nio.ByteOrder;
+
+import org.apache.mina.core.buffer.IoBuffer;
+
+import protocol.swg.ObjControllerMessage;
+
+public class UiPlayEffect extends ObjControllerObject {
+
+ private long objectId;
+ private String uiString;
+
+ public UiPlayEffect(long objectId, String uiString) {
+ this.uiString = uiString;
+ this.objectId = objectId;
+ }
+
+ @Override
+ public void deserialize(IoBuffer data) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public IoBuffer serialize() {
+
+ IoBuffer result = IoBuffer.allocate(26 + uiString.length()).order(ByteOrder.LITTLE_ENDIAN);
+
+ result.putInt(ObjControllerMessage.UI_PLAY_EFFECT);
+ result.putLong(objectId);
+ result.putInt(0);
+ result.putLong(objectId);
+ result.put(getAsciiString(uiString));
+
+ return result.flip();
+
+ }
+}
diff --git a/src/resources/common/BuffBuilder.java b/src/resources/common/BuffBuilder.java
index c376ae5a..83b2d9fb 100644
--- a/src/resources/common/BuffBuilder.java
+++ b/src/resources/common/BuffBuilder.java
@@ -1,70 +1,92 @@
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
package resources.common;
public class BuffBuilder {
- private String statName;
- private String statAffects;
- private int maxTimesApplied;
private int affectAmount;
- private String requiredExperience;
-
- private int entBonus;
-
+ private String category;
+ private int cost;
+ private int maxTimesApplied;
+ private String requiredExpertise;
+ private String statAffects;
+ private String statName;
+
public BuffBuilder() {
-
- }
- public String getStatName() {
- return statName;
- }
-
- public void setStatName(String statName) {
- this.statName = statName;
- }
-
- public String getStatAffects() {
- return statAffects;
- }
-
- public void setStatAffects(String statAffects) {
- this.statAffects = statAffects;
- }
-
- public int getMaxTimesApplied() {
- return maxTimesApplied;
- }
-
- public void setMaxTimesApplied(int maxTimesApplied) {
- this.maxTimesApplied = maxTimesApplied;
}
public int getAffectAmount() {
return affectAmount;
}
+ public String getCategory() {
+ return category;
+ }
+
+ public int getCost() {
+ return this.cost;
+ }
+
+ public int getMaxTimesApplied() {
+ return maxTimesApplied;
+ }
+
+ public String getRequiredExpertise() {
+ return requiredExpertise;
+ }
+
+ public String getStatAffects() {
+ return statAffects;
+ }
+
+ public String getStatName() {
+ return statName;
+ }
+
public void setAffectAmount(int affectAmount) {
this.affectAmount = affectAmount;
}
- public String getRequiredExperience() {
- return requiredExperience;
+ public void setCategory(String category) {
+ this.category = category;
}
- public void setRequiredExperience(String requiredExperience) {
- this.requiredExperience = requiredExperience;
- }
-
- public int getTotalAffected() {
- // 10 * 10 = 100
- int totalAffected = getMaxTimesApplied() * getAffectAmount();
- Console.println("Total Affected: " + totalAffected + getEntBonus());
- return totalAffected + getEntBonus();
+ public void setCost(int cost) {
+ this.cost = cost;
}
- public int getEntBonus() {
- return entBonus;
+ public void setMaxTimesApplied(int maxTimesApplied) {
+ this.maxTimesApplied = maxTimesApplied;
}
- public void setEntBonus(int entBonus) {
- this.entBonus = entBonus;
+ public void setRequiredExpertise(String requiredExpertise) {
+ this.requiredExpertise = requiredExpertise;
+ }
+
+ public void setStatAffects(String statAffects) {
+ this.statAffects = statAffects;
+ }
+
+ public void setStatName(String statName) {
+ this.statName = statName;
}
}
diff --git a/src/resources/common/ConversationOption.java b/src/resources/common/ConversationOption.java
new file mode 100644
index 00000000..840fdcba
--- /dev/null
+++ b/src/resources/common/ConversationOption.java
@@ -0,0 +1,50 @@
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
+package resources.common;
+
+public class ConversationOption {
+
+ private OutOfBand outOfBand;
+ private int index;
+
+ public ConversationOption(OutOfBand outOfBand, int index) {
+ this.setOutOfBand(outOfBand);
+ this.setIndex(index);
+ }
+
+ public OutOfBand getOutOfBand() {
+ return outOfBand;
+ }
+
+ public void setOutOfBand(OutOfBand outOfBand) {
+ this.outOfBand = outOfBand;
+ }
+
+ public int getIndex() {
+ return index;
+ }
+
+ public void setIndex(int index) {
+ this.index = index;
+ }
+
+}
diff --git a/src/resources/common/Cooldown.java b/src/resources/common/Cooldown.java
new file mode 100644
index 00000000..2c7e2240
--- /dev/null
+++ b/src/resources/common/Cooldown.java
@@ -0,0 +1,60 @@
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
+package resources.common;
+
+import java.util.concurrent.ScheduledFuture;
+
+public class Cooldown {
+ private long startTimestamp;
+ private long endTimestamp;
+
+ private ScheduledFuture> removalTask;
+
+ public Cooldown(long end) {
+ startTimestamp = System.currentTimeMillis();
+ endTimestamp = startTimestamp + end;
+ }
+
+ public long getStartTimestamp() {
+ return startTimestamp;
+ }
+
+ public void setStartTimestamp(long startTimestamp) {
+ this.startTimestamp = startTimestamp;
+ }
+
+ public long getEndTimestamp() {
+ return endTimestamp;
+ }
+
+ public void setEndTimestamp(long endTimestamp) {
+ this.endTimestamp = endTimestamp;
+ }
+
+ public ScheduledFuture> getRemovalTask() {
+ return removalTask;
+ }
+
+ public void setRemovalTask(ScheduledFuture> removalTask) {
+ this.removalTask = removalTask;
+ }
+}
diff --git a/src/resources/z/exp/objects/harvester/HarvesterObject.java b/src/resources/common/IDAttribute.java
similarity index 67%
rename from src/resources/z/exp/objects/harvester/HarvesterObject.java
rename to src/resources/common/IDAttribute.java
index a09905cb..b17edf9d 100644
--- a/src/resources/z/exp/objects/harvester/HarvesterObject.java
+++ b/src/resources/common/IDAttribute.java
@@ -16,11 +16,41 @@
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see .
*
- * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
* Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
******************************************************************************/
-package resources.z.exp.objects.harvester;
+package resources.common;
-public class HarvesterObject {
+public class IDAttribute {
-}
+ private float floatValue;
+ private String name;
+ private int value;
+
+ public IDAttribute() { }
+
+ public float getFloatValue() {
+ return floatValue;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public int getValue() {
+ return value;
+ }
+
+ public void setFloatValue(float floatValue) {
+ this.floatValue = floatValue;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public void setValue(int value) {
+ this.value = value;
+ }
+
+}
\ No newline at end of file
diff --git a/src/resources/common/MathUtilities.java b/src/resources/common/MathUtilities.java
index 8cf73cc0..8decf30b 100644
--- a/src/resources/common/MathUtilities.java
+++ b/src/resources/common/MathUtilities.java
@@ -21,6 +21,8 @@
******************************************************************************/
package resources.common;
+import java.math.BigDecimal;
+
import engine.resources.scene.*;
public class MathUtilities {
@@ -43,5 +45,27 @@ public class MathUtilities {
q1.w * q2.z + q1.z * q2.w + q1.x * q2.y - q1.y * q2.x);
}
+
+ /**
+ * Converts seconds to a whole hour.
+ * @author Waverunner
+ * @param seconds
+ * @return hour(s)
+ */
+ public static int secondsToWholeHours(int seconds) {
+ BigDecimal dec = new BigDecimal(seconds);
+ return dec.divide(new BigDecimal(3600), BigDecimal.ROUND_FLOOR).intValue();
+ }
+
+ /**
+ * Converts seconds to minutes of the hour.
+ * @author Waverunner
+ * @param seconds
+ * @return hour(s)
+ */
+ public static int secondsToHourMinutes(int seconds) {
+ BigDecimal dec = new BigDecimal(seconds);
+ return dec.remainder(new BigDecimal(3600)).divide(new BigDecimal(60), BigDecimal.ROUND_FLOOR).intValue();
+ }
}
diff --git a/src/resources/common/ObjControllerOpcodes.java b/src/resources/common/ObjControllerOpcodes.java
index 7d6e6b21..8cc142fd 100644
--- a/src/resources/common/ObjControllerOpcodes.java
+++ b/src/resources/common/ObjControllerOpcodes.java
@@ -26,12 +26,33 @@ public class ObjControllerOpcodes {
public static final int DATA_TRANSFORM = 0x71000000;
public static final int DATA_TRANSFORM_WITH_PARENT = 0xF1000000;
public static final int COMMAND_QUEUE_ENQUEUE = 0x16010000;
- public static final int HOVER_TARGET = 0x26010000; // lookAtTarget
- public static final int TARGET_UPDATE = 0xC5040000; // intendedTarget
+ public static final int COMMAND_QUEUE_REMOVE = 0x17010000;
+ public static final int lookAtTarget = 0x26010000;
+ public static final int intendedTarget = 0xC5040000;
public static final int OBJECT_MENU_REQUEST = 0x46010000;
public static final int SECURE_TRADE = 0x15010000;
public static final int BUFF_BUILDER_CHANGE = 0x5A020000;
+ public static final int BUFF_BUILDER_END = 0x5B020000;
public static final int MISSION_LIST_REQUEST = 0xF5000000;
public static final int ChangeRoleIconChoice = 0x4D040000;
+ public static final int IMAGE_DESIGN_CHANGE = 0x38020000;
+ public static final int IMAGE_DESIGN_END = 0x39020000;
+ public static final int NPC_CONVERSATION_MESSAGE = 0xDF000000;
+ public static final int START_NPC_CONVERSATION = 0xDD000000;
+ public static final int STOP_NPC_CONVERSATION = 0xDE000000;
+ public static final int NPC_CONVERSATION_OPTIONS = 0xE0000000;
+ public static final int SET_PROFESSION_TEMPLATE = 0x5C040000;
+ public static final int RESOURCE_EMPTY_HOPPER = 0xED000000;
+ public static final int DRAFT_SCHEMATICS = 0x0102;
+ public static final int DRAFT_SLOTS = 0x0103;
+ public static final int CRAFT_EXPERIMENT = 0x0106;
+ public static final int CRAFT_FILLSLOT = 0x7010000;
+ public static final int CRAFT_EMPTYSLOT = 0x8010000;
+ public static final int CRAFT_ACKNOWLEDGE = 0x010C;
+ public static final int CRAFT_CUSTOMIZATION = 0x5a010000;
+ public static final int NEXT_CRAFTING_STAGE_RESULT = 0x01BE;
+ public static final int DRAFT_SLOTS_QUERY_RESPONSE = 0x01BF;
+ public static final int RESOURCE_WEIGHTS = 0x0207;
+
}
diff --git a/src/resources/common/Opcodes.java b/src/resources/common/Opcodes.java
index b9284791..8a8cc6d8 100644
--- a/src/resources/common/Opcodes.java
+++ b/src/resources/common/Opcodes.java
@@ -25,12 +25,21 @@ import engine.resources.common.CRC;
public class Opcodes {
+ public static int AuctionQueryHeadersMessage = CRC.StringtoCRC("AuctionQueryHeadersMessage");
+ public static int CreateImmediateAuctionMessage = CRC.StringtoCRC("CreateImmediateAuctionMessage");
+ public static int ChatLeaveRoom = 0x493E3FFA;
+ public static int ChatEnterRoomById = CRC.StringtoCRC("ChatEnterRoomById");
+ public static int ChatSendToRoom = CRC.StringtoCRC("ChatSendToRoom");
public static int ChatDeletePersistentMessage = 0x8F251641;
public static int ChatInstantMessageToCharacter = 0x84BB21F7;
public static int ChatPersistentMessageToServer = 0x25A29FA6;
public static int ChatRequestPersistentMessage = 0x07E3559F;
+ public static int ChatRequestRoomList = 0x4C3D2CFA;
public static int ChatSystemMessage = CRC.StringtoCRC("ChatSystemMessage");
public static int ClientOpenContainerMessage = 0x2D2D6EE1;
+ public static int CommoditiesItemTypeListRequest = 0x48F493C5;
+ public static int CommoditiesResourceTypeListRequest = 0xCB1AE82D;
+ public static int NewbieTutorialResponse = 0xCA88FBAD;
public static int CmdSceneReady = 0x43FD1C22;
public static int ConnectPlayerMessage = 0x2E365218;
public static int ClientCreateCharacter = 0xB97F3074;
@@ -39,6 +48,7 @@ public class Opcodes {
public static int ClientVerifyAndLockNameRequest = 0x9eb04b9f;
public static int DeleteCharacterMessage = 0xE87AD031;
public static int GetMapLocationsMessage = 0x1A7AB839;
+ public static int IsVendorOwnerMessage = CRC.StringtoCRC("IsVendorOwnerMessage");
public static int LagRequest = 0x31805EE0;
public static int LoginClientId = 0x41131F96;
public static int ObjControllerMessage = 0x80CE5E46;
@@ -59,5 +69,27 @@ public class Opcodes {
public static int FactionRequestMessage = CRC.StringtoCRC("FactionRequestMessage");
public static int FactionResponseMessage = CRC.StringtoCRC("FactionResponseMessage");
public static int SetWaypointColor = CRC.StringtoCRC("SetWaypointColor");
-
+ public static int GuildRequestMessage = CRC.StringtoCRC("GuildRequestMessage");
+ public static int PlayerMoneyRequest = CRC.StringtoCRC("PlayerMoneyRequest");
+ public static int LagReport = CRC.StringtoCRC("LagReport");
+ public static int GetSpecificMapLocationsMessage = CRC.StringtoCRC("GetSpecificMapLocationsMessage");
+ public static int SetCombatSpamFilter = CRC.StringtoCRC("SetCombatSpamFilter");
+ public static int SetCombatSpamRangeFilter = CRC.StringtoCRC("SetCombatSpamRangeFilter");
+ public static int SetLfgInterests = CRC.StringtoCRC("SetLfgInterests");
+ public static int SetFurnitureRoationDegree = CRC.StringtoCRC("SetFurnitureRotationDegree");
+ public static int SetJediSlotInfo = CRC.StringtoCRC("SetJediSlotInfo");
+ public static int CollectionServerFirstListRequest = CRC.StringtoCRC("CollectionServerFirstListRequest");
+ public static int ShowHelmet = CRC.StringtoCRC("ShowHelmet");
+ public static int ShowBackpack = CRC.StringtoCRC("ShowBackpack");
+ public static int CreateAuctionMessage = CRC.StringtoCRC("CreateAuctionMessage");
+ public static int ChatOnEnteredRoom = CRC.StringtoCRC("ChatOnEnteredRoom");
+ public static int ChatCreateRoom = CRC.StringtoCRC("ChatCreateRoom");
+ public static int ChatQueryRoom = 0x9CF2B192;
+ public static int Unknown = 0x173B91C2; // packet sent to server on every character load-in
+ public static int GetAuctionDetails = CRC.StringtoCRC("GetAuctionDetails");
+ public static int CancelLiveAuctionMessage = CRC.StringtoCRC("CancelLiveAuctionMessage");
+ public static int BidAuctionMessage = CRC.StringtoCRC("BidAuctionMessage");
+ public static int RetrieveAuctionItemMessage = CRC.StringtoCRC("RetrieveAuctionItemMessage");
+
+
}
diff --git a/src/resources/common/OutOfBand.java b/src/resources/common/OutOfBand.java
new file mode 100644
index 00000000..be36d672
--- /dev/null
+++ b/src/resources/common/OutOfBand.java
@@ -0,0 +1,133 @@
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
+package resources.common;
+
+import java.nio.ByteOrder;
+import java.util.Vector;
+
+import resources.common.StringUtilities;
+import resources.objects.Delta;
+
+import org.apache.mina.core.buffer.IoBuffer;
+
+public class OutOfBand {
+
+ private Vector prosePackages = new Vector();
+ private int headerBytes = 0;
+
+ public OutOfBand(Vector prosePackages) {
+ setProsePackages(prosePackages);
+ }
+
+ public OutOfBand(ProsePackage prosePackage) {
+ addProsePackage(prosePackage);
+ }
+
+ public OutOfBand() {
+
+ }
+
+ public static OutOfBand ProsePackage(Object ... objects) {
+ return new OutOfBand(new ProsePackage(objects));
+ }
+
+ public void addProsePackage(ProsePackage prosePackage) {
+ prosePackages.add(prosePackage);
+ }
+
+ public IoBuffer serialize() {
+ IoBuffer buffer = IoBuffer.allocate(50).order(ByteOrder.LITTLE_ENDIAN);
+ buffer.setAutoExpand(true);
+
+ // The short that was here is only in conversation OutOfBands.
+ // Count doesn't seem to be count. It seems to be indicating if there's an extra byte.
+
+ for (ProsePackage prosePackage : prosePackages) {
+ buffer.put((byte) 1);
+ buffer.putInt(-1);
+ buffer.put(prosePackage.getStf().getBytes());
+
+ buffer.putLong(prosePackage.getTuObjectId());
+ buffer.put(prosePackage.getTuStf().getBytes());
+ buffer.put(StringUtilities.getUnicodeString(prosePackage.getTuCustomString()));
+
+ buffer.putLong(prosePackage.getTtObjectId());
+ buffer.put(prosePackage.getTtStf().getBytes());
+ buffer.put(StringUtilities.getUnicodeString(prosePackage.getTtCustomString()));
+
+ buffer.putLong(prosePackage.getToObjectId());
+ buffer.put(prosePackage.getToStf().getBytes());
+ buffer.put(StringUtilities.getUnicodeString(prosePackage.getToCustomString()));
+
+ buffer.putInt(prosePackage.getDiInteger());
+ buffer.putFloat(prosePackage.getDfFloat());
+
+ buffer.put((byte) 0);
+ }
+
+ int size = buffer.position();
+
+ if (size > 0) {
+ if ((size % 2) == 1) {
+ size++;
+ buffer.put((byte) 0);
+ buffer = Delta.createBuffer(size + 2).putShort((short) 1).put(buffer.flip().array(), 0, size);
+ } else {
+ buffer = Delta.createBuffer(size + 2).putShort((short) 0).put(buffer.flip().array(), 0, size);
+ }
+
+ size += 2;
+ } else {
+ return Delta.createBuffer(4).putInt(size);
+ }
+
+ if (headerBytes > 0) {
+ IoBuffer result = Delta.createBuffer(size + headerBytes);
+
+ for (int i = 0; i < headerBytes; i++) {
+ result.put((byte) 0);
+ }
+
+ buffer = result.put(buffer.flip().array(), 0, size);
+ size += headerBytes;
+ }
+
+ return Delta.resizeBuffer(Delta.createBuffer(size + 4).putInt(size / 2).put(buffer.flip().array()));
+ }
+
+ /*
+ * No idea what the extra short in conversation OutOfBands is.
+ * It's not in any of the other packets that use OutOfBand.
+ */
+ public void setHeaderBytes(int headerBytes) {
+ this.headerBytes = headerBytes;
+ }
+
+ public Vector getProsePackages() {
+ return prosePackages;
+ }
+
+ public void setProsePackages(Vector prosePackages) {
+ this.prosePackages = prosePackages;
+ }
+
+}
diff --git a/src/resources/common/Performance.java b/src/resources/common/Performance.java
index 9100e2f2..4179f4be 100644
--- a/src/resources/common/Performance.java
+++ b/src/resources/common/Performance.java
@@ -1,3 +1,24 @@
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
package resources.common;
public class Performance {
diff --git a/src/resources/common/PerformanceEffect.java b/src/resources/common/PerformanceEffect.java
new file mode 100644
index 00000000..09afddd0
--- /dev/null
+++ b/src/resources/common/PerformanceEffect.java
@@ -0,0 +1,108 @@
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
+package resources.common;
+
+public class PerformanceEffect {
+
+ private int effectActionCost;
+ private float effectDuration;
+ private String name;
+ private String performanceType;
+ private boolean requiredPerforming;
+ private int requiredSkillModValue;
+ private int targetType;
+ private boolean music;
+ private boolean dance;
+
+ public PerformanceEffect() { }
+
+ public int getEffectActionCost() {
+ return effectActionCost;
+ }
+ public float getEffectDuration() {
+ return effectDuration;
+ }
+ public String getName() {
+ return name;
+ }
+ public int getRequiredSkillModValue() {
+ return requiredSkillModValue;
+ }
+ public int getTargetType() {
+ return targetType;
+ }
+ public String getPerformanceType() {
+ return performanceType;
+ }
+ public boolean isRequiredPerforming() {
+ return requiredPerforming;
+ }
+ public void setEffectActionCost(int effectActionCost) {
+ this.effectActionCost = effectActionCost;
+ }
+ public void setEffectDuration(float effectDuration) {
+ this.effectDuration = effectDuration;
+ }
+ public void setName(String name) {
+ this.name = name;
+ }
+ public void setPerformanceType(String performanceType) {
+ this.performanceType = performanceType;
+
+ if (performanceType.contains(",")) {
+ String[] array = performanceType.split(",");
+ if(array.length < 2)
+ return;
+
+ this.dance = true;
+ this.music = true;
+ }
+ else if (performanceType.equals("music")) { this.music = true; }
+ else if (performanceType.equals("dance")) { this.dance = true; }
+ }
+ public void setRequiredPerforming(boolean requiredPerforming) {
+ this.requiredPerforming = requiredPerforming;
+ }
+ public void setRequiredSkillModValue(int requiredSkillModValue) {
+ this.requiredSkillModValue = requiredSkillModValue;
+ }
+ public void setTargetType(int targetType) {
+ this.targetType = targetType;
+ }
+
+ public boolean isMusic() {
+ return music;
+ }
+
+ public void setMusic(boolean music) {
+ this.music = music;
+ }
+
+ public boolean isDance() {
+ return dance;
+ }
+
+ public void setDance(boolean dance) {
+ this.dance = dance;
+ }
+
+}
diff --git a/src/resources/common/ProsePackage.java b/src/resources/common/ProsePackage.java
new file mode 100644
index 00000000..b461bb8e
--- /dev/null
+++ b/src/resources/common/ProsePackage.java
@@ -0,0 +1,234 @@
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
+package resources.common;
+
+public class ProsePackage {
+
+ /*
+ * TU = Text User
+ * TT = Text Target
+ * TO = Text Object
+ * DI = Decimal Integer
+ * DF = Decimal Float
+ */
+
+ private Stf stf = new Stf();
+
+ private long tuObjectId = 0;
+ private Stf tuStf = new Stf();
+ private String tuCustomString = "";
+
+ private long ttObjectId = 0;
+ private Stf ttStf = new Stf();
+ private String ttCustomString = "";
+
+ private long toObjectId = 0;
+ private Stf toStf = new Stf();
+ private String toCustomString = "";
+
+ private int diInteger = 0;
+ private float dfFloat = 0;
+
+ // TODO: Add more constructors
+
+ public ProsePackage(String stfFile, String stfLabel) {
+ stf.setStfFilename(stfFile);
+ stf.setStfName(stfLabel);
+ }
+
+ public ProsePackage(String stfFile, String stfLabel, long tuObjectId, String tuStfFile, String tuStfLabel, String tuCustomString) {
+ stf.setStfFilename(stfFile);
+ stf.setStfName(stfLabel);
+ this.tuObjectId = tuObjectId;
+ tuStf.setStfFilename(tuStfFile);
+ tuStf.setStfName(tuStfLabel);
+ this.tuCustomString = tuCustomString;
+ }
+
+ /*
+ * Any parameters can be entered.
+ *
+ * Any integers set diInteger
+ * Any floats set dfFloat
+ * Any "@stfFile:label" sets the default stf
+ * "TU" followed by objectId, "@stfFile:label" or customString
+ * "TT" followed by objectId, "@stfFile:label" or customString
+ * "TO" followed by objectId, "@stfFile:label" or customString
+ */
+ public ProsePackage(Object ... objects) {
+ for (Object object: objects) {
+ if (object instanceof Object[]) {
+ objects = (Object[]) object;
+ break;
+ }
+ }
+
+ for (int i = 0; i < objects.length; i++) {
+ Object object = objects[i];
+
+ if (object instanceof String) {
+ String string = (String) object;
+
+ if ((i + 1) < objects.length) {
+ long objectId = 0;
+ Stf stf = null;
+ String customString = null;
+
+ if (objects[i + 1] instanceof Long) {
+ objectId = (Long) objects[i + 1];
+ } else if (objects[i + 1] instanceof String) {
+ String str = (String) objects[i + 1];
+
+ if (str.startsWith("@") && str.contains(":") && !str.contains(" ")) {
+ stf = new Stf(str);
+ } else {
+ customString = str;
+ }
+ }
+
+ switch (string.toUpperCase()) {
+ case "TU":
+ tuObjectId = (objectId == 0) ? tuObjectId : objectId;
+ tuStf = (stf == null) ? tuStf : stf;
+ tuCustomString = (customString == null) ? tuCustomString : customString;
+ continue;
+ case "TT":
+ ttObjectId = (objectId == 0) ? ttObjectId : objectId;
+ ttStf = (stf == null) ? ttStf : stf;
+ ttCustomString = (customString == null) ? ttCustomString : customString;
+ continue;
+ case "TO":
+ toObjectId = (objectId == 0) ? toObjectId : objectId;
+ toStf = (stf == null) ? toStf : stf;
+ toCustomString = (customString == null) ? toCustomString : customString;
+ continue;
+ default:
+ //
+ }
+ }
+
+ stf.setString((String) object);
+ } else if (object instanceof Integer) {
+ diInteger = (Integer) object;
+ } else if (object instanceof Float) {
+ dfFloat = (Float) object;
+ }
+ }
+ }
+
+ public Stf getStf() {
+ return stf;
+ }
+
+ public void setStf(Stf stf) {
+ this.stf = stf;
+ }
+
+ public long getTuObjectId() {
+ return tuObjectId;
+ }
+
+ public void setTuObjectId(long tuObjectId) {
+ this.tuObjectId = tuObjectId;
+ }
+
+ public Stf getTuStf() {
+ return tuStf;
+ }
+
+ public void setTuStf(Stf tuStf) {
+ this.tuStf = tuStf;
+ }
+
+ public String getTuCustomString() {
+ return tuCustomString;
+ }
+
+ public void setTuCustomString(String tuCustomString) {
+ this.tuCustomString = tuCustomString;
+ }
+
+ public long getTtObjectId() {
+ return ttObjectId;
+ }
+
+ public void setTtObjectId(long ttObjectId) {
+ this.ttObjectId = ttObjectId;
+ }
+
+ public Stf getTtStf() {
+ return ttStf;
+ }
+
+ public void setTtStf(Stf ttStf) {
+ this.ttStf = ttStf;
+ }
+
+ public String getTtCustomString() {
+ return ttCustomString;
+ }
+
+ public void setTtCustomString(String ttCustomString) {
+ this.ttCustomString = ttCustomString;
+ }
+
+ public long getToObjectId() {
+ return toObjectId;
+ }
+
+ public void setToObjectId(long toObjectId) {
+ this.toObjectId = toObjectId;
+ }
+
+ public Stf getToStf() {
+ return toStf;
+ }
+
+ public void setToStf(Stf toStf) {
+ this.toStf = toStf;
+ }
+
+ public String getToCustomString() {
+ return toCustomString;
+ }
+
+ public void setToCustomString(String toCustomString) {
+ this.toCustomString = toCustomString;
+ }
+
+ public int getDiInteger() {
+ return diInteger;
+ }
+
+ public void setDiInteger(int diInteger) {
+ this.diInteger = diInteger;
+ }
+
+ public float getDfFloat() {
+ return dfFloat;
+ }
+
+ public void setDfFloat(float dfFloat) {
+ this.dfFloat = dfFloat;
+ }
+
+}
diff --git a/src/resources/common/Stf.java b/src/resources/common/Stf.java
index 191b2a60..8907ecba 100644
--- a/src/resources/common/Stf.java
+++ b/src/resources/common/Stf.java
@@ -23,7 +23,6 @@ package resources.common;
import org.apache.mina.core.buffer.IoBuffer;
-import resources.z.exp.objects.Baseline;
import resources.objects.Delta;
import com.sleepycat.persist.model.Persistent;
@@ -31,9 +30,9 @@ import com.sleepycat.persist.model.Persistent;
@Persistent
public class Stf extends Delta {
- private AString stfFilename;
+ private AString stfFilename = new AString("");
private int spacer = 0;
- private AString stfName;
+ private AString stfName = new AString("");
public Stf(String stfFilename, int spacer, String stfName) {
this.stfFilename = new AString(stfFilename);
@@ -41,6 +40,10 @@ public class Stf extends Delta {
this.stfName = new AString(stfName);
}
+ public Stf(String stf) {
+ setString(stf);
+ }
+
public Stf() {
}
@@ -81,11 +84,30 @@ public class Stf extends Delta {
}
}
+ public String getString() {
+ synchronized(objectMutex) {
+ return ("@" + stfFilename.get() + ":" + stfName.get());
+ }
+ }
+
+ public void setString(String stf) {
+ synchronized(objectMutex) {
+ if (stf == null || stf.equals("")) {
+ stfFilename.set("");
+ stfName.set("");
+ } else if (stf.contains(":")) {
+ stf = stf.replace("@", "");
+ stfFilename.set(stf.split(":")[0]);
+ stfName.set(stf.split(":")[1]);
+ }
+ }
+ }
+
public byte[] getBytes() {
synchronized(objectMutex) {
int size = stfFilename.getBytes().length + 4 + stfName.getBytes().length;
- IoBuffer buffer = Baseline.createBuffer(size);
+ IoBuffer buffer = createBuffer(size);
buffer.put(stfFilename.getBytes());
buffer.putInt(spacer);
buffer.put(stfName.getBytes());
diff --git a/src/resources/common/StringUtilities.java b/src/resources/common/StringUtilities.java
index a28bf368..e7d34d3a 100644
--- a/src/resources/common/StringUtilities.java
+++ b/src/resources/common/StringUtilities.java
@@ -27,6 +27,8 @@ import java.nio.ByteOrder;
import org.apache.mina.core.buffer.IoBuffer;
+import engine.resources.common.Utilities;
+
public class StringUtilities {
final protected static char[] hexArray = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
@@ -166,16 +168,20 @@ public class StringUtilities {
}
public static String bytesToHex(byte[] bytes) {
- char[] hexChars = new char[bytes.length * 2];
- int v;
-
- for ( int j = 0; j < bytes.length; j++ ) {
- v = bytes[j] & 0xFF;
- hexChars[j * 2] = hexArray[v >>> 4];
- hexChars[j * 2 + 1] = hexArray[v & 0x0F];
- }
-
- return new String(hexChars);
+ char[] hexChars = new char[bytes.length * 2];
+ int v;
+
+ for ( int j = 0; j < bytes.length; j++ ) {
+ v = bytes[j] & 0xFF;
+ hexChars[j * 2] = hexArray[v >>> 4];
+ hexChars[j * 2 + 1] = hexArray[v & 0x0F];
+ }
+
+ return new String(hexChars);
+ }
+
+ public static void printBytes(byte[] bytes) {
+ System.out.println(Utilities.getHexString(bytes));
}
}
diff --git a/src/resources/common/ThreadMonitor.java b/src/resources/common/ThreadMonitor.java
index 19c83baa..bf5c2cb8 100644
--- a/src/resources/common/ThreadMonitor.java
+++ b/src/resources/common/ThreadMonitor.java
@@ -187,7 +187,8 @@ public class ThreadMonitor {
return true;
}
- private void parseMBeanInfo() throws IOException {
+ @SuppressWarnings("unused")
+ private void parseMBeanInfo() throws IOException {
try {
MBeanOperationInfo[] mopis = server.getMBeanInfo(objname).getOperations();
diff --git a/src/resources/common/UString.java b/src/resources/common/UString.java
index 5aa290dc..dec215af 100644
--- a/src/resources/common/UString.java
+++ b/src/resources/common/UString.java
@@ -22,9 +22,6 @@
package resources.common;
import java.io.UnsupportedEncodingException;
-import java.nio.ByteOrder;
-
-import org.apache.mina.core.buffer.IoBuffer;
import com.sleepycat.persist.model.Persistent;
@@ -64,7 +61,7 @@ public final class UString extends Delta {
public byte[] getBytes() {
synchronized(objectMutex) {
try {
- return IoBuffer.allocate(4 + string.length(), false).order(ByteOrder.LITTLE_ENDIAN).putInt(string.length()).put(string.getBytes("UTF-16LE")).flip().array();
+ return createBuffer(4 + (string.length() * 2)).putInt(string.length()).put(string.getBytes("UTF-16LE")).flip().array();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
return new byte[] { 0x00, 0x00, 0x00, 0x00 };
diff --git a/src/resources/common/collidables/AbstractCollidable.java b/src/resources/common/collidables/AbstractCollidable.java
index 443903b7..b7f9a157 100644
--- a/src/resources/common/collidables/AbstractCollidable.java
+++ b/src/resources/common/collidables/AbstractCollidable.java
@@ -60,6 +60,8 @@ public abstract class AbstractCollidable {
}
public void removeCollidedObject(SWGObject obj) {
+ if(!collidedObjects.contains(obj))
+ return;
collidedObjects.remove(obj);
ExitEvent event = new ExitEvent();
event.object = obj;
diff --git a/src/resources/datatables/DisplayType.java b/src/resources/datatables/DisplayType.java
new file mode 100644
index 00000000..0e13f62a
--- /dev/null
+++ b/src/resources/datatables/DisplayType.java
@@ -0,0 +1,35 @@
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
+package resources.datatables;
+
+public class DisplayType {
+
+ public static byte Broadcast = 0; // Level up. combatspam/skill_up
+ //public static byte Screen = 1; // Screen? XP gain
+ public static byte Chat = 2;
+ //public static byte Overhead = 3; // Flytext? Seen on ent duration
+ //public static byte Combat = 4; // CombatSpam?
+ //public static byte Combat = 5; // Seen in combat flytext
+ //public static byte Combat = 11; // Seen when blocking
+
+}
+
diff --git a/src/resources/datatables/Elemental.java b/src/resources/datatables/Elemental.java
new file mode 100644
index 00000000..007f04c0
--- /dev/null
+++ b/src/resources/datatables/Elemental.java
@@ -0,0 +1,91 @@
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
+package resources.datatables;
+
+public enum Elemental {
+
+ KINETIC(1), ENERGY(2), BLAST(4), STUN(8), HEAT(32), COLD(64), ACID(128), ELECTRICITY(256);
+
+ private int element;
+
+ private Elemental(int element) {
+ this.element = element;
+ }
+
+ @Override
+ public String toString() {
+ switch(this) {
+ case KINETIC:
+ return "kinetic";
+ case ENERGY:
+ return "energy";
+ case BLAST:
+ return "blast";
+ case STUN:
+ return "stun";
+ case HEAT:
+ return "heat";
+ case COLD:
+ return "cold";
+ case ACID:
+ return "acid";
+ case ELECTRICITY:
+ return "electricity";
+ }
+ return null;
+ }
+
+ public int getValue() {
+ return element;
+ }
+
+ public static int getElementalNum(String element) {
+ switch(element) {
+ case "kinetic":
+ return 1;
+ case "energy":
+ return 2;
+ case "blast":
+ return 4;
+ case "stun":
+ return 8;
+ case "heat":
+ return 32;
+ case "cold":
+ return 64;
+ case "acid":
+ return 128;
+ case "electricity":
+ return 256;
+ }
+ return 0;
+ }
+
+ public static String getElementalName(int elementalType) {
+ for (Elemental element : Elemental.values()) {
+ if (element.getValue() == elementalType) {
+ return element.toString();
+ }
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/src/resources/datatables/Posture.java b/src/resources/datatables/Posture.java
new file mode 100644
index 00000000..f319ea46
--- /dev/null
+++ b/src/resources/datatables/Posture.java
@@ -0,0 +1,23 @@
+package resources.datatables;
+
+public class Posture {
+
+ // Posture.iff
+ public static final byte Invalid = -1;
+ public static final byte Upright = 0;
+ public static final byte Crouched = 1;
+ public static final byte Prone = 2;
+ public static final byte Sneaking = 3;
+ public static final byte Blocking = 4;
+ public static final byte Climbing = 5;
+ public static final byte Flying = 6;
+ public static final byte LyingDown = 7;
+ public static final byte Sitting = 8;
+ public static final byte SkillAnimating = 9;
+ public static final byte DrivingVehicle = 10;
+ public static final byte RidingCreature = 11;
+ public static final byte KnockedDown = 12;
+ public static final byte Incapacitated = 13;
+ public static final byte Dead = 14;
+
+}
diff --git a/src/resources/datatables/State.java b/src/resources/datatables/State.java
new file mode 100644
index 00000000..dafd0c64
--- /dev/null
+++ b/src/resources/datatables/State.java
@@ -0,0 +1,69 @@
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
+package resources.datatables;
+
+public class State {
+
+ public static long Invalid = 0x00L;
+ public static long Cover = 0x1L;
+ public static long Combat = 0x2L;
+ public static long Peace = 0x4L;
+ public static long Aiming = 0x8L;
+ public static long Alert = 0x10L;
+ public static long Berserk = 0x20L;
+ public static long FeignDeath = 0x40L;
+ public static long CombatAttitudeEvasive = 0x80L;
+ public static long CombatAttitudeNormal = 0x100L;
+ public static long CombatAttitudeAggressive = 0x200L;
+ public static long Tumbling = 0x400L;
+ public static long Rallied = 0x800L;
+ public static long Stunned = 0x1000L;
+ public static long Blinded = 0x2000L;
+ public static long Dizzy = 0x4000L;
+ public static long Intimidated = 0x8000L;
+ public static long Immobilized = 0x10000L;
+ public static long Frozen = 0x20000L;
+ public static long Swimming = 0x40000L;
+ public static long SittingOnChair = 0x80000L;
+ public static long Crafting = 0x100000L;
+ public static long GlowingJedi = 0x200000L;
+ public static long MaskScent = 0x400000L;
+ public static long Poisoned = 0x800000L;
+ public static long Bleeding = 0x1000000L;
+ public static long Diseased = 0x2000000L;
+ public static long OnFire = 0x4000000L;
+ public static long RidingMount = 0x8000000L;
+ public static long MountedCreature = 0x10000000L;
+ public static long PilotingShip = 0x20000000L;
+ public static long ShipOperations = 0x40000000L;
+ public static long ShipGunner = 0x80000000L;
+ public static long ShipInterior = 0x100000000L;
+ public static long PilotingPobShip = 0x200000000L;
+ public static long PerformingDeathBlow = 0x400000000L;
+ public static long Disguised = 0x800000000L;
+ public static long ElectricBurned = 0x1000000000L;
+ public static long ColdBurned = 0x2000000000L;
+ public static long AcidBurned = 0x4000000000L;
+ public static long EnergyBurned = 0x8000000000L;
+ public static long KineticBurned = 0x10000000000L;
+
+}
diff --git a/src/resources/datatables/WeaponType.java b/src/resources/datatables/WeaponType.java
new file mode 100644
index 00000000..187332a4
--- /dev/null
+++ b/src/resources/datatables/WeaponType.java
@@ -0,0 +1,40 @@
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
+package resources.datatables;
+
+public class WeaponType {
+
+ public static final int RIFLE = 0;
+ public static final int CARBINE = 1;
+ public static final int PISTOL = 2;
+ public static final int ONEHANDEDMELEE = 4;
+ public static final int TWOHANDEDMELEE = 5;
+ public static final int UNARMED = 6;
+ public static final int POLEARMMELEE = 7;
+ public static final int THROWN = 8;
+ public static final int ONEHANDEDSABER = 9;
+ public static final int TWOHANDEDSABER = 10;
+ public static final int POLEARMSABER = 11;
+ public static final int HEAVYWEAPON = 12;
+ public static final int FLAMETHROWER = 13;
+
+}
diff --git a/src/resources/gcw/CurrentServerGCWZoneHistory.java b/src/resources/gcw/CurrentServerGCWZoneHistory.java
index a7a77e98..66874d64 100644
--- a/src/resources/gcw/CurrentServerGCWZoneHistory.java
+++ b/src/resources/gcw/CurrentServerGCWZoneHistory.java
@@ -21,15 +21,13 @@
******************************************************************************/
package resources.gcw;
-import java.nio.ByteOrder;
-
import org.apache.mina.core.buffer.IoBuffer;
import com.sleepycat.persist.model.Persistent;
import resources.objects.Delta;
-@Persistent
+@Persistent(version=0)
public class CurrentServerGCWZoneHistory extends Delta implements Cloneable {
private int lastUpdateTime;
@@ -40,6 +38,10 @@ public class CurrentServerGCWZoneHistory extends Delta implements Cloneable {
this.lastUpdateTime = zone.getLastUpdateTime();
}
+ public CurrentServerGCWZoneHistory() {
+
+ }
+
public int getLastUpdateTime() {
synchronized(objectMutex) {
return lastUpdateTime;
@@ -54,7 +56,7 @@ public class CurrentServerGCWZoneHistory extends Delta implements Cloneable {
public byte[] getBytes() {
synchronized(objectMutex) {
- IoBuffer buffer = bufferPool.allocate((8), false).order(ByteOrder.LITTLE_ENDIAN);
+ IoBuffer buffer = createBuffer(8);
buffer.putInt(lastUpdateTime);
buffer.putInt(percent);
return buffer.array();
diff --git a/src/resources/gcw/CurrentServerGCWZonePercent.java b/src/resources/gcw/CurrentServerGCWZonePercent.java
index 09034cf6..ea825d7a 100644
--- a/src/resources/gcw/CurrentServerGCWZonePercent.java
+++ b/src/resources/gcw/CurrentServerGCWZonePercent.java
@@ -23,7 +23,6 @@ package resources.gcw;
import java.math.BigDecimal;
import java.math.MathContext;
-import java.nio.ByteOrder;
import org.apache.mina.core.buffer.IoBuffer;
@@ -33,7 +32,7 @@ import engine.resources.scene.Point2D;
import resources.objects.Delta;
-@Persistent
+@Persistent(version=0)
public class CurrentServerGCWZonePercent extends Delta implements Cloneable {
private Point2D position;
@@ -53,6 +52,10 @@ public class CurrentServerGCWZonePercent extends Delta implements Cloneable {
this.percent = new BigDecimal("50.0", MathContext.DECIMAL128);
}
+ public CurrentServerGCWZonePercent() {
+
+ }
+
public Point2D getPosition() {
synchronized(objectMutex) {
return position.clone();
@@ -148,7 +151,7 @@ public class CurrentServerGCWZonePercent extends Delta implements Cloneable {
public byte[] getBytes() {
synchronized(objectMutex) {
- IoBuffer buffer = bufferPool.allocate(4, false).order(ByteOrder.LITTLE_ENDIAN);
+ IoBuffer buffer = createBuffer(4);
buffer.putInt(percent.intValue());
return buffer.array();
}
diff --git a/src/resources/gcw/OtherServerGCWZonePercent.java b/src/resources/gcw/OtherServerGCWZonePercent.java
index a006d7a8..ab8048eb 100644
--- a/src/resources/gcw/OtherServerGCWZonePercent.java
+++ b/src/resources/gcw/OtherServerGCWZonePercent.java
@@ -21,15 +21,13 @@
******************************************************************************/
package resources.gcw;
-import java.nio.ByteOrder;
-
import org.apache.mina.core.buffer.IoBuffer;
import com.sleepycat.persist.model.Persistent;
import resources.objects.Delta;
-@Persistent
+@Persistent(version=0)
public class OtherServerGCWZonePercent extends Delta implements Cloneable {
private String zone = "";
@@ -39,6 +37,10 @@ public class OtherServerGCWZonePercent extends Delta implements Cloneable {
this.zone = zone;
}
+ public OtherServerGCWZonePercent() {
+
+ }
+
public String getZone() {
synchronized(objectMutex) {
return zone;
@@ -60,7 +62,7 @@ public class OtherServerGCWZonePercent extends Delta implements Cloneable {
public byte[] getBytes() {
synchronized(objectMutex) {
- IoBuffer buffer = bufferPool.allocate((2 + zone.length() + 4), false).order(ByteOrder.LITTLE_ENDIAN);
+ IoBuffer buffer = createBuffer((2 + zone.length() + 4));
buffer.put(getAsciiString(zone));
buffer.putInt(percent);
return buffer.array();
diff --git a/src/resources/guild/Guild.java b/src/resources/guild/Guild.java
index 1cebf0f6..5651c2d0 100644
--- a/src/resources/guild/Guild.java
+++ b/src/resources/guild/Guild.java
@@ -21,15 +21,17 @@
******************************************************************************/
package resources.guild;
-import java.nio.ByteOrder;
import java.util.List;
import org.apache.mina.core.buffer.IoBuffer;
+import com.sleepycat.persist.model.Persistent;
+
import resources.objects.Delta;
import engine.resources.objects.SWGObject;
+@Persistent(version=0)
public class Guild extends Delta {
private int id;
@@ -46,6 +48,10 @@ public class Guild extends Delta {
this.members.add(leader);
}
+ public Guild() {
+
+ }
+
public int getId() {
synchronized(objectMutex) {
return id;
@@ -83,17 +89,19 @@ public class Guild extends Delta {
}
public String getString() {
- synchronized(objectMutex) {
- return (Integer.toString(id) + ":" + abbreviation);
- }
+ return (Integer.toString(getId()) + ":" + getAbbreviation());
}
public SWGObject getLeader() {
- return leader;
+ synchronized(objectMutex) {
+ return leader;
+ }
}
public void setLeader(SWGObject leader) {
- this.leader = leader;
+ synchronized(objectMutex) {
+ this.leader = leader;
+ }
}
public List getMembers() {
@@ -102,7 +110,7 @@ public class Guild extends Delta {
public byte[] getBytes() {
synchronized(objectMutex) {
- IoBuffer buffer = bufferPool.allocate((getString().length() + 2), false).order(ByteOrder.LITTLE_ENDIAN);
+ IoBuffer buffer = createBuffer((getString().length() + 2));
buffer.put(getAsciiString(getString()));
return buffer.array();
}
diff --git a/src/resources/objects/Buff.java b/src/resources/objects/Buff.java
index c545b5a0..fd6aa4e0 100644
--- a/src/resources/objects/Buff.java
+++ b/src/resources/objects/Buff.java
@@ -36,16 +36,14 @@ import resources.objects.creature.CreatureObject;
import com.sleepycat.persist.model.NotPersistent;
import com.sleepycat.persist.model.Persistent;
-import engine.clientdata.ClientFileManager;
-import engine.clientdata.visitors.DatatableVisitor;
import engine.resources.common.CRC;
-@Persistent(version=8)
+@Persistent(version=10)
public class Buff implements IDelta {
@NotPersistent
private SimpleBufferAllocator bufferPool = new SimpleBufferAllocator();
- private String group1;
+ private String group1, group2;
private int priority;
private float duration;
private String buffName;
@@ -69,12 +67,43 @@ public class Buff implements IDelta {
private ScheduledFuture> removalTask;
private int stacks = 1;
private long groupBufferId;
+ private int buffCRC;
- public Buff(String buffName, long ownerId) {
+ public Buff(Buff baseBuff, long ownerId) {
+ this.buffName = baseBuff.getBuffName();
+ this.buffCRC = baseBuff.getBuffCRC();
+ this.group1 = baseBuff.getGroup1();
+ this.group2 = baseBuff.getGroup2();
+ this.priority = baseBuff.getPriority();
+ this.duration = baseBuff.getDuration();
+ this.effect1Name = baseBuff.getEffect1Name();
+ this.effect1Value = baseBuff.getEffect1Value();
+ this.effect2Name = baseBuff.getEffect2Name();
+ this.effect2Value = baseBuff.getEffect2Value();
+ this.effect3Name = baseBuff.getEffect3Name();
+ this.effect3Value = baseBuff.getEffect3Value();
+ this.effect4Name = baseBuff.getEffect4Name();
+ this.effect4Value = baseBuff.getEffect4Value();
+ this.effect5Name = baseBuff.getEffect5Name();
+ this.effect5Value = baseBuff.getEffect5Value();
+ this.callback = baseBuff.getCallback();
+ this.particleEffect = baseBuff.getParticleEffect();
+ this.isDebuff = baseBuff.isDebuff();
+ this.removeOnDeath = baseBuff.isRemoveOnDeath();
+ this.isRemovableByPlayer = baseBuff.isRemovableByPlayer();
+ this.maxStacks = baseBuff.getMaxStacks();
+ this.isPersistent = baseBuff.isPersistent();
+ this.removeOnRespec = baseBuff.isRemoveOnRespec();
+ this.aiRemoveOnEndCombat = baseBuff.isAiRemoveOnEndCombat();
+ this.decayOnPvPDeath = baseBuff.isDecayOnPvPDeath();
+ }
+
+ /*public Buff(String buffName, long ownerId) {
this.buffName = buffName;
this.ownerId = ownerId;
-
+ this.buffCRC = CRC.StringtoCRC(buffName);
+
DatatableVisitor visitor;
try {
@@ -86,6 +115,7 @@ public class Buff implements IDelta {
if(((String) visitor.getObject(i, 0)).equalsIgnoreCase(buffName)) {
group1 = (String) visitor.getObject(i, 1);
+ group2 = (String) visitor.getObject(i, 2);
priority = (int) visitor.getObject(i, 4);
duration = (Float) visitor.getObject(i, 6);
effect1Name = (String) visitor.getObject(i, 7);
@@ -116,12 +146,8 @@ public class Buff implements IDelta {
} catch (InstantiationException | IllegalAccessException e) {
e.printStackTrace();
}
-
-
+ }*/
-
- }
-
public Buff() { }
@Override
@@ -156,7 +182,7 @@ public class Buff implements IDelta {
this.group1 = group1;
}
- public float getPriority() {
+ public int getPriority() {
return priority;
}
@@ -429,7 +455,7 @@ public class Buff implements IDelta {
}
public boolean isGroupBuff() {
- return effect1Name.equals("group");
+ return effect1Name == null ? false : effect1Name.equals("group");
}
public long getGroupBufferId() {
@@ -440,4 +466,20 @@ public class Buff implements IDelta {
this.groupBufferId = groupBufferId;
}
+ public String getGroup2() {
+ return group2;
+ }
+
+ public void setGroup2(String group2) {
+ this.group2 = group2;
+ }
+
+ public int getBuffCRC() {
+ return buffCRC;
+ }
+
+ public void setBuffCRC(int buffCRC) {
+ this.buffCRC = buffCRC;
+ }
+
}
diff --git a/src/resources/objects/BuffItem.java b/src/resources/objects/BuffItem.java
index 8d647d4a..b87ce0af 100644
--- a/src/resources/objects/BuffItem.java
+++ b/src/resources/objects/BuffItem.java
@@ -16,47 +16,59 @@
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see .
*
- * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
* Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
******************************************************************************/
package resources.objects;
+import com.sleepycat.persist.model.Persistent;
+
+@Persistent
public class BuffItem {
- private String skillName;
+ private int affectAmount;
+ private int entertainerBonus;
private int invested;
- private int bonusAmount; // expertise bonus (50%*4 = 200) which would then result in bonusAmount + (maxTimesApplied * affectAmount) = result
-
+ private String skillName;
+
public BuffItem() {
-
+
}
-
- public BuffItem(String skillName, int invested, int amount) {
+
+ public BuffItem(String skillName, int invested, int entBonus) {
this.skillName = skillName;
this.invested = invested;
- this.bonusAmount = amount;
+ this.entertainerBonus = entBonus;
}
- public String getSkillName() {
- return skillName;
+ public int getAffectAmount() {
+ return affectAmount;
}
- public void setSkillName(String skillName) {
- this.skillName = skillName;
+ public int getEntertainerBonus() {
+ return entertainerBonus;
}
public int getInvested() {
return invested;
}
+ public String getSkillName() {
+ return skillName;
+ }
+
+ public void setAffectAmount(int amount) {
+ this.affectAmount = amount;
+ }
+
+ public void setEntertainerBonus(int entertainerBonus) {
+ this.entertainerBonus = entertainerBonus;
+ }
+
public void setInvested(int invested) {
this.invested = invested;
}
- public int getBonusAmount() {
- return bonusAmount;
- }
-
- public void setBonusAmount(int amount) {
- this.bonusAmount = amount;
+ public void setSkillName(String skillName) {
+ this.skillName = skillName;
}
}
diff --git a/src/resources/objects/Delta.java b/src/resources/objects/Delta.java
index 8b1e7f18..35ef4299 100644
--- a/src/resources/objects/Delta.java
+++ b/src/resources/objects/Delta.java
@@ -22,19 +22,27 @@
package resources.objects;
import java.nio.ByteBuffer;
+import java.nio.ByteOrder;
+import org.apache.mina.core.buffer.IoBuffer;
import org.apache.mina.core.buffer.SimpleBufferAllocator;
+import com.sleepycat.persist.model.NotPersistent;
+import com.sleepycat.persist.model.Persistent;
import resources.common.StringUtilities;
-
+@Persistent
public abstract class Delta implements IDelta {
- public Delta() { }
-
+ @NotPersistent
protected final Object objectMutex = new Object();
- public SimpleBufferAllocator bufferPool = new SimpleBufferAllocator();
+ @NotPersistent
+ private static SimpleBufferAllocator bufferPool = new SimpleBufferAllocator();
+
+ public Delta() {
+
+ }
protected String getAsciiString(ByteBuffer buffer) {
return StringUtilities.getAsciiString(buffer);
@@ -56,4 +64,13 @@ public abstract class Delta implements IDelta {
return ((byte) ((variable) ? 1 : 0));
}
+ public static IoBuffer createBuffer(int size) {
+ return IoBuffer.allocate(size, false).order(ByteOrder.LITTLE_ENDIAN);
+ }
+
+ public static IoBuffer resizeBuffer(IoBuffer buffer) {
+ int size = buffer.position();
+ return buffer == null ? createBuffer(0) : createBuffer(size).put(buffer.flip().array(), 0, size).flip();
+ }
+
}
diff --git a/src/resources/objects/SWGList.java b/src/resources/objects/SWGList.java
index ae185112..7471305c 100644
--- a/src/resources/objects/SWGList.java
+++ b/src/resources/objects/SWGList.java
@@ -24,11 +24,18 @@ package resources.objects;
import java.nio.ByteOrder;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.Comparator;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
+import java.util.Spliterator;
+import java.util.function.Consumer;
+import java.util.function.Predicate;
+import java.util.function.UnaryOperator;
+import java.util.stream.Stream;
import org.apache.mina.core.buffer.IoBuffer;
+import org.python.google.common.collect.Lists;
import com.sleepycat.persist.model.NotPersistent;
import com.sleepycat.persist.model.Persistent;
@@ -384,5 +391,51 @@ public class SWGList implements List {
messageBuilder.sendListDelta(viewType, updateType, buffer);
}
+
+ @Override
+ public boolean removeIf(Predicate super E> filter) {
+ return false;
+ }
+
+ public List reverseGet()
+ {
+ return Lists.reverse(list);
+ }
+
+ @Override
+ public Stream stream() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public Stream parallelStream() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public void forEach(Consumer super E> action) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void replaceAll(UnaryOperator operator) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void sort(Comparator super E> c) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public Spliterator spliterator() {
+ // TODO Auto-generated method stub
+ return null;
+ }
}
diff --git a/src/resources/objects/SWGMap.java b/src/resources/objects/SWGMap.java
index 57e6e7a9..b8f9610d 100644
--- a/src/resources/objects/SWGMap.java
+++ b/src/resources/objects/SWGMap.java
@@ -29,6 +29,9 @@ import java.util.Map;
import java.util.Set;
import java.util.TreeMap;
import java.util.Map.Entry;
+import java.util.function.BiConsumer;
+import java.util.function.BiFunction;
+import java.util.function.Function;
import org.apache.mina.core.buffer.IoBuffer;
@@ -116,7 +119,9 @@ public class SWGMap implements Map {
if (map.containsKey(key)) {
V oldValue = map.put(key, value);
- queue(item(2, (String) key, ((IDelta) value).getBytes(), true, true));
+ if (oldValue != null) {
+ queue(item(2, (String) key, ((IDelta) value).getBytes(), true, true));
+ }
return oldValue;
} else {
@@ -167,7 +172,9 @@ public class SWGMap implements Map {
key instanceof Integer || key instanceof Float || key instanceof Long) {
V value = map.remove(key);
- queue(item(1, key, ((IDelta) map.get(key)).getBytes(), true, true));
+ if (value != null) {
+ queue(item(1, (String) key, ((IDelta) value).getBytes(), true, true));
+ }
return value;
}
@@ -227,6 +234,7 @@ public class SWGMap implements Map {
}
}
if (useData) buffer.put(data);
+ buffer.flip();
updateCounter++;
@@ -238,6 +246,7 @@ public class SWGMap implements Map {
buffer.putInt(1);
buffer.putInt(updateCounter);
buffer.put(data);
+ buffer.flip();
messageBuilder.sendListDelta(viewType, updateType, buffer);
}
@@ -252,8 +261,80 @@ public class SWGMap implements Map {
buffer.putInt(data.size());
buffer.putInt(updateCounter);
for (byte[] queued : data) buffer.put(queued);
+ buffer.flip();
messageBuilder.sendListDelta(viewType, updateType, buffer);
}
+
+ @Override
+ public V getOrDefault(Object key, V defaultValue) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public void forEach(BiConsumer super K, ? super V> action) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void replaceAll(
+ BiFunction super K, ? super V, ? extends V> function) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public V putIfAbsent(K key, V value) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public boolean remove(Object key, Object value) {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ @Override
+ public boolean replace(K key, V oldValue, V newValue) {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ @Override
+ public V replace(K key, V value) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public V computeIfAbsent(K key,
+ Function super K, ? extends V> mappingFunction) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public V computeIfPresent(K key,
+ BiFunction super K, ? super V, ? extends V> remappingFunction) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public V compute(K key,
+ BiFunction super K, ? super V, ? extends V> remappingFunction) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public V merge(K key, V value,
+ BiFunction super V, ? super V, ? extends V> remappingFunction) {
+ // TODO Auto-generated method stub
+ return null;
+ }
}
diff --git a/src/resources/z/exp/manufacture/SubList.java b/src/resources/objects/SkillMod.java
similarity index 61%
rename from src/resources/z/exp/manufacture/SubList.java
rename to src/resources/objects/SkillMod.java
index 4a65aaa9..a9550ce4 100644
--- a/src/resources/z/exp/manufacture/SubList.java
+++ b/src/resources/objects/SkillMod.java
@@ -19,45 +19,58 @@
* Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
* Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
******************************************************************************/
-package resources.z.exp.manufacture;
-
-import java.nio.ByteOrder;
-import java.util.List;
-import java.util.concurrent.CopyOnWriteArrayList;
+package resources.objects;
import org.apache.mina.core.buffer.IoBuffer;
import com.sleepycat.persist.model.Persistent;
-import resources.objects.Delta;
-import resources.z.exp.objects.Baseline;
+@Persistent(version=1)
+public class SkillMod extends Delta {
-@Persistent
-public class SubList extends Delta {
-
- private List list = new CopyOnWriteArrayList();
-
- public SubList() {
-
+ private int base;
+ private float modifier;
+ private String name;
+
+ public SkillMod() {
}
- public List getList() {
- return list;
+ public SkillMod(String name, int base, int modifier) {
+ this.name = name;
+ this.base = base;
+ this.modifier = modifier;
}
+ public int getBase() {
+ return base;
+ }
+
+ public void setBase(int base) {
+ this.base = base;
+ }
+
+ public float getModifier() {
+ return modifier;
+ }
+
+ public void setModifier(float modifier) {
+ this.modifier = modifier;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ @Override
public byte[] getBytes() {
- synchronized(objectMutex) {
- int size = 4;
- for (o object : list) size += Baseline.toBytes(object).length;
-
- IoBuffer buffer = bufferPool.allocate(size, false).order(ByteOrder.LITTLE_ENDIAN);
- buffer.putInt(list.size());
- for (o object : list) {
- buffer.put(Baseline.toBytes(object));
- }
-
- return buffer.array();
- }
+ IoBuffer buffer = createBuffer(8);
+ buffer.putInt(base);
+ buffer.putInt((int) modifier);
+ return buffer.array();
}
-
+
}
diff --git a/src/resources/objects/building/BuildingMessageBuilder.java b/src/resources/objects/building/BuildingMessageBuilder.java
index d044e0ac..8dbf7ec8 100644
--- a/src/resources/objects/building/BuildingMessageBuilder.java
+++ b/src/resources/objects/building/BuildingMessageBuilder.java
@@ -22,7 +22,10 @@
package resources.objects.building;
import java.nio.ByteOrder;
+import java.util.Vector;
+
import org.apache.mina.core.buffer.IoBuffer;
+
import resources.objects.ObjectMessageBuilder;
public class BuildingMessageBuilder extends ObjectMessageBuilder {
@@ -107,7 +110,7 @@ public class BuildingMessageBuilder extends ObjectMessageBuilder {
int size = buffer.position();
buffer = IoBuffer.allocate(size).put(buffer.array(), 0, size);
buffer.flip();
- buffer = createBaseline("TANO", (byte) 8, buffer, size);
+ buffer = createBaseline("BUIO", (byte) 8, buffer, size);
return buffer;
}
@@ -118,10 +121,30 @@ public class BuildingMessageBuilder extends ObjectMessageBuilder {
int size = buffer.position();
buffer = IoBuffer.allocate(size).put(buffer.array(), 0, size);
buffer.flip();
- buffer = createBaseline("TANO", (byte) 9, buffer, size);
+ buffer = createBaseline("BUIO", (byte) 9, buffer, size);
return buffer;
}
+
+ public IoBuffer buildPermissionListCreate(Vector permissionList, String listName) {
+ IoBuffer buffer = IoBuffer.allocate(10).order(ByteOrder.LITTLE_ENDIAN);
+ buffer.setAutoExpand(true);
+ int listSize = permissionList.size();
+ buffer.putShort((short)4);
+ buffer.putInt(0x52F364B8);
+ buffer.putInt(listSize);
+ for (String name : permissionList){
+ buffer.put(getUnicodeString(name));
+ }
+ //buffer.putInt(0x61);
+ buffer.putInt(0);
+ //buffer.putShort((short)0);
+ buffer.put(getUnicodeString(listName));
+ int size = buffer.position();
+ buffer.flip();
+ tools.CharonPacketUtils.printAnalysis(IoBuffer.allocate(size).put(buffer.array(), 0, size).flip());
+ return IoBuffer.allocate(size).put(buffer.array(), 0, size).flip();
+ }
@Override
diff --git a/src/resources/objects/building/BuildingObject.java b/src/resources/objects/building/BuildingObject.java
index 15d84777..36486462 100644
--- a/src/resources/objects/building/BuildingObject.java
+++ b/src/resources/objects/building/BuildingObject.java
@@ -21,38 +21,57 @@
******************************************************************************/
package resources.objects.building;
+import java.util.Vector;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicReference;
+
+import main.NGECore;
import resources.objects.cell.CellObject;
+import resources.objects.creature.CreatureObject;
+
import com.sleepycat.je.Environment;
import com.sleepycat.je.Transaction;
+
import resources.objects.tangible.TangibleObject;
+
import com.sleepycat.persist.model.Entity;
import com.sleepycat.persist.model.NotPersistent;
+
import engine.clients.Client;
-import engine.resources.container.Traverser;
import engine.resources.objects.IPersistent;
-import engine.resources.objects.SWGObject;
import engine.resources.scene.Planet;
import engine.resources.scene.Point3D;
import engine.resources.scene.Quaternion;
-@Entity(version=0)
+@Entity(version=6)
public class BuildingObject extends TangibleObject implements IPersistent {
@NotPersistent
private BuildingMessageBuilder messageBuilder;
@NotPersistent
private Transaction txn;
+
+ private float maintenanceAmount = 0;
+ private int BMR = 0;
+ private String deedTemplate="";
+ private boolean residency=false;
+ private byte privacy=(byte)0;
+ public static byte PRIVATE = (byte)0;
+ public static byte PUBLIC = (byte)1;
+ private short maximumStorageCapacity=0;
+ private Vector entryList = new Vector(); // Preferably the OIDs should be stored, because of name changes
+ private Vector banList = new Vector();
public BuildingObject() {
super();
messageBuilder = new BuildingMessageBuilder(this);
+ this.setConditionDamage(100);
}
public BuildingObject(long objectID, Planet planet, Point3D position, Quaternion orientation, String Template) {
super(objectID, planet, Template, position, orientation);
messageBuilder = new BuildingMessageBuilder(this);
+ this.setConditionDamage(100);
}
public CellObject getCellByCellNumber(final int cellNumber) {
@@ -60,24 +79,143 @@ public class BuildingObject extends TangibleObject implements IPersistent {
final AtomicReference ref = new AtomicReference();
synchronized(objectMutex) {
-
- this.viewChildren(this, true, false, new Traverser() {
-
- @Override
- public void process(SWGObject obj) {
-
- if(obj instanceof CellObject && ((CellObject) obj).getCellNumber() == cellNumber)
- ref.set((CellObject) obj);
-
- }
-
+ this.viewChildren(this, true, false, (obj) -> {
+ if(obj instanceof CellObject && ((CellObject) obj).getCellNumber() == cellNumber)
+ ref.set((CellObject) obj);
});
-
}
return ref.get();
}
+
+ public float getMaintenanceAmount() {
+ return maintenanceAmount;
+ }
+
+ public void setMaintenanceAmount(float maintenanceAmount) {
+ this.maintenanceAmount = maintenanceAmount;
+ }
+
+ public void setDeedTemplate(String deedTemplate){
+ this.deedTemplate = deedTemplate;
+ }
+
+ public String getDeedTemplate(){
+ return this.deedTemplate;
+ }
+
+ public String getBuildingName() {
+ return this.getCustomName();
+ }
+
+ public void setBuildingName(String buildingName, CreatureObject owner) {
+ //owner.getClient().getSession().write(messageBuilder.buildCustomNameDelta(this,buildingName));
+ this.setCustomName(buildingName);
+ ((CreatureObject)owner).sendSystemMessage("Structure renamed.", (byte) 0);
+ }
+
+ public int getBMR() {
+ return BMR;
+ }
+
+ public void setBMR(int BMR) {
+ this.BMR = BMR;
+ }
+
+ public void setResidency(CreatureObject owner){
+ owner.sendSystemMessage("@player_structure:declared_residency", (byte) 1);
+ residency = true;
+ }
+
+ public boolean getResidency(){
+ return this.residency;
+ }
+
+ public byte getPrivacy() {
+ return privacy;
+ }
+
+ public String getPrivacyString() {
+ if (privacy==PRIVATE)
+ return "private";
+ if (privacy==PUBLIC)
+ return "public";
+ return "42";
+ }
+
+ public void setPrivacy(byte privacy) {
+ this.privacy = privacy;
+ }
+
+ public Vector getItemsList() {
+ Vector items = new Vector();
+ getCells().forEach(c -> c.viewChildren(c, true, false, (item) -> {
+ if(!(item instanceof CreatureObject) && item.getTemplate() != "object/tangible/terminal/shared_terminal_player_structure.iff")
+ items.add((TangibleObject) item);
+ }));
+ return items;
+ }
+
+ public short getMaximumStorageCapacity() {
+ return maximumStorageCapacity;
+ }
+
+ public void setMaximumStorageCapacity(short maximumStorageCapacity) {
+ this.maximumStorageCapacity = maximumStorageCapacity;
+ }
+
+ public void setPermissionEntry(String name,CreatureObject owner){
+ Vector entryListFirstNames = new Vector();
+ for (long oid : entryList){
+ String firstName = NGECore.getInstance().characterService.getPlayerFirstName(oid);
+ entryListFirstNames.add(firstName);
+ }
+ entryListFirstNames.add("Peter");
+ entryListFirstNames.add("Jackson");
+ owner.getClient().getSession().write(messageBuilder.buildPermissionListCreate(entryListFirstNames, name));
+ }
+
+ public void setPermissionBan(String name,CreatureObject owner){
+ Vector banListFirstNames = new Vector();
+ for (long oid : banList){
+ String firstName = NGECore.getInstance().characterService.getPlayerFirstName(oid);
+ banListFirstNames.add(firstName);
+ }
+ banListFirstNames.add("Peter");
+ banListFirstNames.add("Smith");
+ owner.getClient().getSession().write(messageBuilder.buildPermissionListCreate(banListFirstNames, name));
+ }
+
+ public void addPlayerToEntryList(CreatureObject owner,long oid, String firstName){
+ if (!entryList.contains(oid)){
+ this.entryList.add(oid);
+ owner.sendSystemMessage(firstName+ " added to the list.", (byte)1); // player_added %NO added to the list.
+ }
+ }
+
+ public void removePlayerFromEntryList(CreatureObject owner,long oid, String firstName){
+ if (entryList.contains(oid)){
+ this.entryList.remove(oid);
+ owner.sendSystemMessage(firstName+ " removed to the list.", (byte)1); // player_removed %NO removed from the list.
+ }
+ }
+
+ public void addPlayerToBanList(CreatureObject owner,long oid, String firstName){
+ if (!banList.contains(oid)){
+ this.banList.add(oid);
+ owner.sendSystemMessage(firstName+ " added to the list.", (byte)1);
+ }
+ }
+
+ public void removePlayerFromBanList(CreatureObject owner,long oid, String firstName){
+ if (banList.contains(oid)){
+ this.banList.remove(oid);
+ owner.sendSystemMessage(firstName+ " removed to the list.", (byte)1);
+ }
+ }
+
+
@Override
public void sendBaselines(Client destination) {
@@ -100,5 +238,14 @@ public class BuildingObject extends TangibleObject implements IPersistent {
txn = env.beginTransaction(null, null);
txn.setLockTimeout(500, TimeUnit.MILLISECONDS);
}
-
+
+ public Vector getCells() {
+ final Vector cells = new Vector();
+ this.viewChildren(this, true, false, (obj) -> {
+ if(obj instanceof CellObject)
+ cells.add((CellObject) obj);
+ });
+ return cells;
+ }
+
}
diff --git a/src/resources/objects/craft/DraftSchematic.java b/src/resources/objects/craft/DraftSchematic.java
new file mode 100644
index 00000000..3e47ae31
--- /dev/null
+++ b/src/resources/objects/craft/DraftSchematic.java
@@ -0,0 +1,46 @@
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
+package resources.objects.craft;
+
+import com.sleepycat.persist.model.Persistent;
+import engine.clients.Client;
+import engine.resources.objects.SWGObject;
+import engine.resources.scene.Planet;
+import engine.resources.scene.Point3D;
+import engine.resources.scene.Quaternion;
+
+@Persistent
+public class DraftSchematic extends SWGObject {
+
+
+ public DraftSchematic(long objectID, Planet planet, String template, Point3D position, Quaternion orientation){
+ super(objectID, planet, position, orientation, template);
+ }
+
+ @Override
+ public void sendBaselines(Client arg0) {
+ // TODO Auto-generated method stub
+
+ }
+
+
+}
diff --git a/src/resources/objects/creature/CreatureMessageBuilder.java b/src/resources/objects/creature/CreatureMessageBuilder.java
index 5582100e..8d6a01c6 100644
--- a/src/resources/objects/creature/CreatureMessageBuilder.java
+++ b/src/resources/objects/creature/CreatureMessageBuilder.java
@@ -24,6 +24,7 @@ package resources.objects.creature;
import java.nio.ByteOrder;
+
import org.apache.mina.core.buffer.IoBuffer;
import com.sleepycat.persist.model.Persistent;
@@ -31,9 +32,8 @@ import com.sleepycat.persist.model.Persistent;
import engine.resources.common.CRC;
import resources.objects.Buff;
import resources.objects.ObjectMessageBuilder;
+import resources.objects.SkillMod;
import engine.resources.objects.SWGObject;
-import engine.resources.objects.SkillMod;
-
import resources.objects.player.PlayerObject;
import resources.objects.tangible.TangibleObject;
import resources.objects.weapon.WeaponObject;
@@ -72,7 +72,7 @@ public class CreatureMessageBuilder extends ObjectMessageBuilder {
} else {
buffer.putInt(creature.getSkills().size());
buffer.putInt(creature.getSkillsUpdateCounter());
- for(String skill : creature.getSkills().get())
+ for(String skill : creature.getSkills())
buffer.put(getAsciiString(skill));
}
int size = buffer.position();
@@ -89,6 +89,11 @@ public class CreatureMessageBuilder extends ObjectMessageBuilder {
CreatureObject creature = (CreatureObject) object;
IoBuffer buffer = bufferPool.allocate(100, false).order(ByteOrder.LITTLE_ENDIAN);
buffer.setAutoExpand(true);
+
+ if(creature.getStfName() == null || creature.getStfFilename() == null) {
+ creature.setStfName("");
+ creature.setStfFilename("");
+ }
buffer.putShort((short) 19); // Object Count
buffer.putFloat(1);
@@ -97,7 +102,8 @@ public class CreatureMessageBuilder extends ObjectMessageBuilder {
buffer.put(getAsciiString(creature.getStfName()));
if (creature.getCustomName() == null) { creature.setCustomName(""); }//Not all CreatureObjects have CustomName (Shuttles)
buffer.put(getUnicodeString(creature.getCustomName()));
- buffer.putInt(0x000F4240); // volume
+ // buffer.putInt(0x000F4240); // volume
+ buffer.putInt(1);
buffer.putInt(CRC.StringtoCRC(creature.getFaction()));
buffer.putInt(creature.getFactionStatus());
@@ -110,11 +116,11 @@ public class CreatureMessageBuilder extends ObjectMessageBuilder {
buffer.putShort((short) customizationData.length);
buffer.put(customizationData);
}
- buffer.putInt(1);
+ //buffer.putInt(1);
buffer.putInt(0); // TANO Data
buffer.putInt(0);
- // buffer.putInt(creature.getOptionsBitmask()); // 0x80 = Player, 0x08 = Quest NPC,
- buffer.putInt(0x80);
+ buffer.putInt(creature.getOptionsBitmask()); // 0x80 = Player, 0x08 = Quest NPC,
+ //buffer.putInt(0x80);
buffer.putInt(creature.getIncapTimer());
buffer.putInt(0);
buffer.putInt(0x3A98);
@@ -126,8 +132,8 @@ public class CreatureMessageBuilder extends ObjectMessageBuilder {
buffer.putLong(creature.getOwnerId());
float height = creature.getHeight();
- if (height < 0.7 || height > 1.5)
- height = 1;
+ //if (height < 0.7 || height > 1.5)
+ // height = 1;
buffer.putFloat(height);
buffer.putInt(0); // battle fatigue
buffer.putLong(creature.getStateBitmask());
@@ -152,23 +158,21 @@ public class CreatureMessageBuilder extends ObjectMessageBuilder {
buffer.putInt(0); // HAM Encumberance List unused in NGE
buffer.putInt(0);
- if(creature.getSkillMods().isEmpty()) {
- buffer.putInt(0);
- buffer.putInt(0);
- } else {
- buffer.putInt(creature.getSkillMods().size());
- buffer.putInt(creature.getSkillModsUpdateCounter());
-
- for(SkillMod skillMod : creature.getSkillMods().get()) {
- buffer.put((byte) 0);
- buffer.put(getAsciiString(skillMod.getSkillModString()));
- buffer.putInt(skillMod.getBase());
- buffer.putInt(skillMod.getModifier());
- }
+ buffer.putInt(creature.getSkillMods().size());
+ buffer.putInt(creature.getSkillMods().getUpdateCounter());
+ for (SkillMod skillMod : creature.getSkillMods().values()) {
+ buffer.put((byte) 0);
+ buffer.put(getAsciiString(skillMod.getName()));
+ buffer.put(skillMod.getBytes());
}
+
buffer.putFloat(creature.getSpeedMultiplierBase());
buffer.putFloat(creature.getSpeedMultiplierMod());
- buffer.putLong(creature.getListenToId());
+
+ if(creature.getPerformanceListenee() != null)
+ buffer.putLong(creature.getPerformanceListenee().getObjectId());
+ else
+ buffer.putLong(0);
buffer.putFloat(creature.getRunSpeed());
@@ -195,7 +199,7 @@ public class CreatureMessageBuilder extends ObjectMessageBuilder {
buffer.putInt(1);
}
}
- buffer.putInt(0); // unk
+ buffer.putInt(creature.getXpBarValue()); // xp bar value
int size = buffer.position();
buffer = bufferPool.allocate(size, false).put(buffer.array(), 0, size);
@@ -212,21 +216,23 @@ public class CreatureMessageBuilder extends ObjectMessageBuilder {
IoBuffer buffer = bufferPool.allocate(100, false).order(ByteOrder.LITTLE_ENDIAN);
buffer.setAutoExpand(true);
buffer.putShort((short) 0x23);
- buffer.putInt(0x43);
+ buffer.putInt(0x43); // serverId
- buffer.putInt(0); // defenders list unused in NGE
- buffer.putInt(0);
+ buffer.putShort((short) 0); // detaiLStfFilename
+ buffer.putInt(0); // detailStfSpacer
+ buffer.putShort((short) 0); // detailStfName
+
+ // TANO 6 lists TODO: research
buffer.put(creature.getCombatFlag());
-
- buffer.putLong(0);
- buffer.putLong(0);
- buffer.putLong(0); // Vehicle vars or TANO 6 vars TODO: research
- buffer.putLong(0);
- buffer.putInt(0);
+
+ buffer.putLong(0); //List possibly defenders list
+ buffer.putInt(0); //Int
+ buffer.putLong(0); //List
+ buffer.putLong(0); //List
+ buffer.putLong(0); //List
buffer.putShort(creature.getLevel());
- //buffer.putShort((short) 90);
buffer.putInt(creature.getGrantedHealth()); // From player_level.iff. Ranges from 0-2000 as you level, consistent with that table.
//0A
@@ -252,8 +258,9 @@ public class CreatureMessageBuilder extends ObjectMessageBuilder {
buffer.putLong(creature.getInviteCounter());
buffer.putInt(creature.getGuildId());
- //10
- buffer.putLong(creature.getTargetId());
+
+ buffer.putLong(creature.getLookAtTarget()); // lookAtTarget 0x10
+ buffer.putLong(creature.getIntendedTarget()); // intendedTarget 0x11
buffer.put(creature.getMoodId());
buffer.putInt(creature.getPerformanceCounter());
/*
@@ -261,9 +268,6 @@ public class CreatureMessageBuilder extends ObjectMessageBuilder {
* in the CREO, otherwise the evul note bubbles appear
*/
buffer.putInt((creature.getPerformanceType()) ? 0 : creature.getPerformanceId());
-
- buffer.putInt(0); // unks
- buffer.putInt(0);
buffer.putInt(6); // Current HAM
buffer.putInt(creature.getHamListCounter());
@@ -296,7 +300,7 @@ public class CreatureMessageBuilder extends ObjectMessageBuilder {
for(SWGObject obj : creature.getEquipmentList().get()) {
- if(obj instanceof TangibleObject) {
+ if(obj instanceof TangibleObject && !(obj instanceof WeaponObject)) {
TangibleObject tangible = (TangibleObject) obj;
if(tangible.getCustomization() == null || tangible.getCustomization().length == 0) {
buffer.putShort((short) 0);
@@ -331,9 +335,9 @@ public class CreatureMessageBuilder extends ObjectMessageBuilder {
}
- buffer.putShort((short) 0);
+ buffer.putShort((short) 0); // costume
//buffer.put(getAsciiString("appearance/gungan_m.sat"));
- buffer.put((byte) 1); // 0 = cloak
+ buffer.put((byte) (creature.isInStealth() ? 0 : 1));
if(creature.getBuffList().isEmpty()) {
buffer.putInt(0);
@@ -353,11 +357,14 @@ public class CreatureMessageBuilder extends ObjectMessageBuilder {
PlayerObject player = (PlayerObject) creature.getSlottedObject("ghost");
for(Buff buff : creature.getBuffList().get()) {
-
- buff.setTotalPlayTime((int) (player.getTotalPlayTime() + (System.currentTimeMillis() - player.getLastPlayTimeUpdate()) / 1000));
+
+ if(player != null)
+ buff.setTotalPlayTime((int) (player.getTotalPlayTime() + (System.currentTimeMillis() - player.getLastPlayTimeUpdate()) / 1000));
+ else
+ buff.setTotalPlayTime(0);
buffer.put((byte) 1);
buffer.putInt(0);
- buffer.putInt(CRC.StringtoCRC(buff.getBuffName()));
+ buffer.putInt(CRC.StringtoCRC(buff.getBuffName().toLowerCase()));
if(buff.getDuration() > 0) {
buffer.putInt((int) (buff.getTotalPlayTime() + buff.getRemainingDuration()));
buffer.putInt(0);
@@ -376,10 +383,15 @@ public class CreatureMessageBuilder extends ObjectMessageBuilder {
}
- buffer.put((byte) 0); // crashes if 1
+ buffer.put((byte) (creature.isStationary() ? 1 : 0)); // if the server accepts transforms from the object
buffer.put(creature.getDifficulty());
- buffer.putInt(0xFFFFFFFF); // -1 normal appearance, 0 hologram
- buffer.put((byte) 1); // crashes if 0
+
+ if(creature.isHologram())
+ buffer.putInt(0);
+ else
+ buffer.putInt(0xFFFFFFFF);
+
+ buffer.put((byte) (creature.isRadarVisible() ? 1 : 0));
buffer.put((byte) 0); // no effect for 1?
buffer.put((byte) 0); // no effect for 1?
@@ -412,8 +424,7 @@ public class CreatureMessageBuilder extends ObjectMessageBuilder {
}
}
- buffer.putInt(0); // unk list
- buffer.putInt(0);
+ buffer.putLong(0); // unk long
int size = buffer.position();
buffer = bufferPool.allocate(size, false).put(buffer.array(), 0, size);
@@ -664,16 +675,22 @@ public class CreatureMessageBuilder extends ObjectMessageBuilder {
}
- public IoBuffer buildTargetDelta(long targetId) {
-
+ public IoBuffer buildLookAtTargetDelta(long targetId) {
IoBuffer buffer = bufferPool.allocate(8, false).order(ByteOrder.LITTLE_ENDIAN);
buffer.putLong(targetId);
int size = buffer.position();
buffer.flip();
buffer = createDelta("CREO", (byte) 6, (short) 1, (short) 0x10, buffer, size + 4);
-
return buffer;
-
+ }
+
+ public IoBuffer buildIntendedTargetDelta(long targetId) {
+ IoBuffer buffer = bufferPool.allocate(8, false).order(ByteOrder.LITTLE_ENDIAN);
+ buffer.putLong(targetId);
+ int size = buffer.position();
+ buffer.flip();
+ buffer = createDelta("CREO", (byte) 6, (short) 1, (short) 0x11, buffer, size + 4);
+ return buffer;
}
public IoBuffer buildHealthDelta(int health) {
@@ -758,7 +775,10 @@ public class CreatureMessageBuilder extends ObjectMessageBuilder {
IoBuffer buffer = bufferPool.allocate(37, false).order(ByteOrder.LITTLE_ENDIAN);
buffer.putInt(1);
buffer.putInt(creature.getBuffListCounter());
- buff.setTotalPlayTime((int) (player.getTotalPlayTime() + (System.currentTimeMillis() - player.getLastPlayTimeUpdate()) / 1000));
+ if(player != null)
+ buff.setTotalPlayTime((int) (player.getTotalPlayTime() + (System.currentTimeMillis() - player.getLastPlayTimeUpdate()) / 1000));
+ else
+ buff.setTotalPlayTime(0);
buffer.put((byte) 0);
buffer.put(buff.getBytes());
int size = buffer.position();
@@ -794,7 +814,10 @@ public class CreatureMessageBuilder extends ObjectMessageBuilder {
IoBuffer buffer = bufferPool.allocate(37, false).order(ByteOrder.LITTLE_ENDIAN);
buffer.putInt(1);
buffer.putInt(creature.getBuffListCounter());
- buff.setTotalPlayTime((int) (player.getTotalPlayTime() + (System.currentTimeMillis() - player.getLastPlayTimeUpdate()) / 1000));
+ if(player != null)
+ buff.setTotalPlayTime((int) (player.getTotalPlayTime() + (System.currentTimeMillis() - player.getLastPlayTimeUpdate()) / 1000));
+ else
+ buff.setTotalPlayTime(0);
buffer.put((byte) 2);
buffer.put(buff.getBytes());
int size = buffer.position();
@@ -822,46 +845,6 @@ public class CreatureMessageBuilder extends ObjectMessageBuilder {
}
- public IoBuffer buildAddSkillModDelta(String name, int base) {
-
- CreatureObject creature = (CreatureObject) object;
-
- IoBuffer buffer = bufferPool.allocate(19 + name.length(), false).order(ByteOrder.LITTLE_ENDIAN);
- buffer.putInt(1);
- buffer.putInt(creature.getSkillModsUpdateCounter());
- buffer.put((byte) 0);
- buffer.put(getAsciiString(name));
- buffer.putInt(base);
- buffer.putInt(0);
-
- int size = buffer.position();
- buffer.flip();
- buffer = createDelta("CREO", (byte) 4, (short) 1, (short) 3, buffer, size + 4);
-
- return buffer;
-
- }
-
- public IoBuffer buildRemoveSkillModDelta(String name, int base) {
-
- CreatureObject creature = (CreatureObject) object;
-
- IoBuffer buffer = bufferPool.allocate(19 + name.length(), false).order(ByteOrder.LITTLE_ENDIAN);
- buffer.putInt(1);
- buffer.putInt(creature.getSkillModsUpdateCounter());
- buffer.put((byte) 1);
- buffer.put(getAsciiString(name));
- buffer.putInt(base);
- buffer.putInt(0);
-
- int size = buffer.position();
- buffer.flip();
- buffer = createDelta("CREO", (byte) 4, (short) 1, (short) 3, buffer, size + 4);
-
- return buffer;
-
- }
-
public IoBuffer buildAddSkillDelta(String name) {
CreatureObject creature = (CreatureObject) object;
@@ -1049,13 +1032,7 @@ public class CreatureMessageBuilder extends ObjectMessageBuilder {
buffer = createDelta("CREO", (byte) 6, (short) 1, (short) 0x1C, buffer, size + 4);
return buffer;
}
-
- @Override
- public void sendListDelta(byte viewType, short updateType, IoBuffer buffer) {
- // TODO Auto-generated method stub
-
- }
-
+
public IoBuffer buildAddEquipmentDelta(TangibleObject item) {
CreatureObject creature = (CreatureObject) object;
@@ -1156,12 +1133,73 @@ public class CreatureMessageBuilder extends ObjectMessageBuilder {
return buffer;
}
+
+ public IoBuffer buildXPBarDelta(int xpBarValue) {
+ IoBuffer buffer = bufferPool.allocate(4, false).order(ByteOrder.LITTLE_ENDIAN);
+ buffer.putInt(xpBarValue);
+ int size = buffer.position();
+ buffer.flip();
+ buffer = createDelta("CREO", (byte) 4, (short) 1, (short) 0x0F, buffer, size + 4);
+ return buffer;
+ }
+
+ // TODO: This seems to be somehow related to chairs as well.
+ public IoBuffer buildOwnerIdDelta(long ownerId) {
+ IoBuffer buffer = bufferPool.allocate(8, false).order(ByteOrder.LITTLE_ENDIAN);
+ buffer.putLong(ownerId);
+ int size = buffer.position();
+ buffer.flip();
+ buffer = createDelta("CREO", (byte) 3, (short) 1, (short) 0x0F, buffer, size + 4); // This is the correct one
+ return buffer;
+ }
+
+ public IoBuffer buildStealthFlagDelta(boolean flag) {
+ IoBuffer buffer = bufferPool.allocate(8, false).order(ByteOrder.LITTLE_ENDIAN);
+ buffer.put((byte) (flag ? 0 : 1));
+ int size = buffer.position();
+ buffer.flip();
+ buffer = createDelta("CREO", (byte) 6, (short) 1, (short) 0x19, buffer, size + 4);
+ return buffer;
+ }
+
+ public IoBuffer buildRadarVisibleFlagDelta(boolean flag) {
+ IoBuffer buffer = bufferPool.allocate(1, false).order(ByteOrder.LITTLE_ENDIAN);
+ buffer.put((byte) (flag ? 1 : 0));
+ int size = buffer.position();
+ buffer.flip();
+ buffer = createDelta("CREO", (byte) 6, (short) 1, (short) 0x1E, buffer, size + 4);
+ return buffer;
+ }
+ public void sendListDelta(byte viewType, short updateType, IoBuffer buffer) {
+ switch (viewType) {
+ case 4: {
+ switch (updateType) {
+ case 3: {
+ buffer = createDelta("CREO", (byte) 4, (short) 1, (byte) 3, buffer, buffer.array().length + 4);
+
+ if (object.getClient() != null && object.getClient().getSession() != null) {
+ object.getClient().getSession().write(buffer);
+ }
+
+ break;
+ }
+ }
+ }
+ case 1:
+ case 3:
+ case 6:
+ case 8:
+ case 9:
+ default: {
+ return;
+ }
+ }
+ }
+
@Override
public void sendBaselines() {
}
-
-
}
diff --git a/src/resources/objects/creature/CreatureObject.java b/src/resources/objects/creature/CreatureObject.java
index 9bb8186f..7680d9bd 100644
--- a/src/resources/objects/creature/CreatureObject.java
+++ b/src/resources/objects/creature/CreatureObject.java
@@ -21,42 +21,53 @@
******************************************************************************/
package resources.objects.creature;
+import java.lang.System;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
+import java.util.Vector;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ScheduledFuture;
+import java.util.concurrent.atomic.LongAdder;
import org.apache.mina.core.buffer.IoBuffer;
-import protocol.swg.ChatSystemMessage;
import protocol.swg.ObjControllerMessage;
import protocol.swg.PlayMusicMessage;
import protocol.swg.UpdatePostureMessage;
import protocol.swg.UpdatePVPStatusMessage;
+import protocol.swg.chat.ChatSystemMessage;
import protocol.swg.objectControllerObjects.Animation;
import protocol.swg.objectControllerObjects.Posture;
+import protocol.swg.objectControllerObjects.StartTask;
import com.sleepycat.je.Environment;
import com.sleepycat.je.Transaction;
import com.sleepycat.persist.model.Entity;
import com.sleepycat.persist.model.NotPersistent;
+import main.NGECore;
import engine.clients.Client;
+import resources.common.Cooldown;
+import resources.common.OutOfBand;
import resources.objects.Buff;
import resources.objects.DamageOverTime;
import resources.objects.SWGList;
+import resources.objects.SWGMap;
+import resources.objects.SkillMod;
+import engine.resources.common.CRC;
import engine.resources.objects.IPersistent;
import engine.resources.objects.MissionCriticalObject;
import engine.resources.objects.SWGObject;
-import engine.resources.objects.SkillMod;
import engine.resources.scene.Planet;
import engine.resources.scene.Point3D;
import engine.resources.scene.Quaternion;
+import resources.objects.player.PlayerObject;
import resources.objects.tangible.TangibleObject;
-import resources.objects.weapon.WeaponObject;
+import services.command.BaseSWGCommand;
-@Entity(version=0)
+@Entity(version=9)
public class CreatureObject extends TangibleObject implements IPersistent {
@NotPersistent
@@ -65,13 +76,12 @@ public class CreatureObject extends TangibleObject implements IPersistent {
// CREO 1
private int bankCredits = 0;
private int cashCredits = 0;
- private SWGList skills;
+ private List skills;
@NotPersistent
private int skillsUpdateCounter = 0;
// CREO 3
private byte posture = 0;
- private int factionStatus = 0;
private float height;
private int battleFatigue = 0;
private long stateBitmask = 0;
@@ -80,20 +90,18 @@ public class CreatureObject extends TangibleObject implements IPersistent {
// CREO 4
private float accelerationMultiplierBase = 1;
private float accelerationMultiplierMod = 1;
- private SWGList skillMods;
- @NotPersistent
- private int skillModsUpdateCounter = 0;
+ private SWGMap skillMods;
private float speedMultiplierBase = 1;
private float speedMultiplierMod = 1;
- private long listenToId = 0;
private float runSpeed = (float) 7.3;
private float slopeModAngle = 1;
private float slopeModPercent = 1;
private float turnRadius = 1;
- private float walkSpeed = (float) 2.75;
- private float waterModPercent = 1;
+ private float walkSpeed = (float) 1.549;
+ private float waterModPercent = (float) 0.75;
private SWGList abilities;
private int abilitiesUpdateCounter = 0;
+ private int xpBarValue = 0;
private SWGList missionCriticalObjects;
@NotPersistent
@@ -112,20 +120,21 @@ public class CreatureObject extends TangibleObject implements IPersistent {
private String inviteSenderName;
private long inviteCounter = 0;
private int guildId = 0;
+ private long lookAtTarget = 0;
private long targetId = 0;
private byte moodId = 0;
private int performanceCounter = 0;
private int performanceId = 0;
- //FIXME: this is a bit of a hack.
+ private boolean hologram = false;
private boolean performanceType = false;
- //FIXME: hmm.. or persistent?
- @NotPersistent
private boolean acceptBandflourishes = true;
- @NotPersistent
private boolean groupDance = true;
+ @NotPersistent
private CreatureObject performanceWatchee;
+ @NotPersistent
private CreatureObject performanceListenee;
- private SWGList performanceAudience = new SWGList();
+ @NotPersistent
+ private Vector performanceAudience = new Vector();
private int health = 1000;
private int action = 300;
@NotPersistent
@@ -145,7 +154,11 @@ public class CreatureObject extends TangibleObject implements IPersistent {
private SWGList appearanceEquipmentList;
@NotPersistent
private int appearanceEquipmentListUpdateCounter = 0;
-
+
+ private boolean inStealth = false;
+ private boolean radarVisible = true; // radar
+ private boolean stationary = false;
+
// non-baseline vars
@NotPersistent
private List duelList = Collections.synchronizedList(new ArrayList());
@@ -159,15 +172,30 @@ public class CreatureObject extends TangibleObject implements IPersistent {
@NotPersistent
private ScheduledFuture> inspirationTick;
+ @NotPersistent
+ private ScheduledFuture> spectatorTask;
+
private boolean staticNPC = false; // temp
@NotPersistent
private int flourishCount = 0;
+ @NotPersistent
+ private boolean performingEffect;
+ @NotPersistent
+ private boolean performingFlourish;
+ private int coverCharge;
+ @NotPersistent
+ private TangibleObject conversingNpc;
+ @NotPersistent
+ private ConcurrentHashMap cooldowns = new ConcurrentHashMap();
+ @NotPersistent
+ private long tefTime = System.currentTimeMillis();
public CreatureObject(long objectID, Planet planet, Point3D position, Quaternion orientation, String Template) {
super(objectID, planet, Template, position, orientation);
messageBuilder = new CreatureMessageBuilder(this);
- skills = new SWGList(messageBuilder, 1, 3);
- skillMods = new SWGList(messageBuilder, 4, 3);
+ loadTemplateData();
+ skills = new ArrayList();
+ skillMods = new SWGMap(messageBuilder, 4, 3);
abilities = new SWGList(messageBuilder, 4, 14);
missionCriticalObjects = new SWGList(messageBuilder, 4, 13);
equipmentList = new SWGList(messageBuilder, 6, 0x17);
@@ -180,6 +208,19 @@ public class CreatureObject extends TangibleObject implements IPersistent {
messageBuilder = new CreatureMessageBuilder(this);
}
+ private void loadTemplateData() {
+
+ /*if(getTemplateData().getAttribute("scale") != null)
+ setHeight((float) getTemplateData().getAttribute("scale"));
+ if(getTemplateData().getAttribute("speed") != null) {
+ //System.out.println(getTemplateData().getAttribute("speed"));
+ setRunSpeed((float) getTemplateData().getAttribute("speed"));
+ }
+ if(getTemplateData().getAttribute("turnRate") != null)
+ setTurnRadius((float) getTemplateData().getAttribute("turnRate"));*/
+
+ }
+
public void setCustomName2(String customName) {
setCustomName(customName);
@@ -226,12 +267,12 @@ public class CreatureObject extends TangibleObject implements IPersistent {
}
}
- public SWGList getSkills() {
+ public List getSkills() {
return skills;
}
public boolean hasSkill(String name) {
- synchronized(objectMutex) {
+ /*synchronized(objectMutex) {
for (String skill : skills) {
if (skill.equals(name)) {
return true;
@@ -239,7 +280,8 @@ public class CreatureObject extends TangibleObject implements IPersistent {
}
return false;
- }
+ }*/
+ return skills.contains(name);
}
public short getSkillsUpdateCounter() {
@@ -328,56 +370,53 @@ public class CreatureObject extends TangibleObject implements IPersistent {
}
public void setPosture(byte posture) {
- boolean needsStopPerformance = false;
synchronized(objectMutex) {
if (this.posture == 0x09) {
- needsStopPerformance = true;
+ stopPerformance();
}
+ if(this.posture == posture)
+ return;
this.posture = posture;
}
-
- IoBuffer postureDelta = messageBuilder.buildPostureDelta(posture);
+
Posture postureUpdate = new Posture(getObjectID(), posture);
ObjControllerMessage objController = new ObjControllerMessage(0x1B, postureUpdate);
- notifyObservers(postureDelta, true);
+ notifyObservers(messageBuilder.buildPostureDelta(posture), true);
notifyObservers(objController, true);
- if (needsStopPerformance) {
- stopPerformance();
- }
-
}
public void startPerformance() {
-
- getClient().getSession().write(messageBuilder.buildStartPerformance(true));
-
+ setStationary(true);
}
public void stopPerformance() {
String type = "";
+
synchronized(objectMutex) {
- setPerformanceId(0,true);
+ // Some reason this prevents the animation for playing an instrument when stopping (unless that's what "" does)
+ setCurrentAnimation(getCurrentAnimation());
+
setPerformanceCounter(0);
- setCurrentAnimation("");
+ setPerformanceId(0,true);
+
type = (performanceType) ? "dance" : "music";
+
if (entertainerExperience != null) {
entertainerExperience.cancel(true);
entertainerExperience = null;
}
}
- sendSystemMessage("@performance:" + type + "_stop_self",(byte)0);
+ sendSystemMessage("@performance:" + type + "_stop_self",(byte)0);
stopAudience();
-
- getClient().getSession().write(messageBuilder.buildStartPerformance(false));
+ setStationary(false);
}
public void stopAudience() {
- String type = "";
synchronized(objectMutex) {
- type = (performanceType) ? "dance" : "music";
+ //String type = (performanceType) ? "dance" : "music";
if (performanceAudience == null) {
return;
}
@@ -394,10 +433,10 @@ public class CreatureObject extends TangibleObject implements IPersistent {
next.setMoodAnimation("");
}
if (next == this) { continue; }
- next.sendSystemMessage("@performance:" + type + "_stop_other",(byte)0);
+ if(performanceType) { next.sendSystemMessage("You stop watching " + getCustomName() + ".",(byte)0); }
+ else { next.sendSystemMessage("You stop listening to " + getCustomName() + ".",(byte)0); }
+ next.getSpectatorTask().cancel(true);
}
- //not sure if this behaviour is correct. might need fixing later.
- performanceAudience = new SWGList();
}
}
public ScheduledFuture> getEntertainerExperience() {
@@ -409,11 +448,15 @@ public class CreatureObject extends TangibleObject implements IPersistent {
}
public ScheduledFuture> getInspirationTick() {
- return inspirationTick;
+ synchronized(objectMutex) {
+ return inspirationTick;
+ }
}
public void setInspirationTick(ScheduledFuture> inspirationTick) {
- this.inspirationTick = inspirationTick;
+ synchronized(objectMutex) {
+ this.inspirationTick = inspirationTick;
+ }
}
@Override
@@ -423,23 +466,30 @@ public class CreatureObject extends TangibleObject implements IPersistent {
}
notifyObservers(messageBuilder.buildFactionDelta(faction), true);
- setPvpStatus(0, true);
- }
+
- public int getFactionStatus() {
- synchronized(objectMutex) {
- return factionStatus;
+ CreatureObject companion = NGECore.getInstance().mountService.getCompanion(this);
+
+ if (companion != null) {
+ companion.setFaction(faction);
}
}
-
+
+ @Override
public void setFactionStatus(int factionStatus) {
synchronized(objectMutex) {
this.factionStatus = factionStatus;
}
notifyObservers(messageBuilder.buildFactionStatusDelta(factionStatus), true);
+
+ CreatureObject companion = NGECore.getInstance().mountService.getCompanion(this);
+
+ if (companion != null) {
+ companion.setFactionStatus(factionStatus);
+ }
}
-
+
public float getHeight() {
synchronized(objectMutex) {
return height;
@@ -485,7 +535,25 @@ public class CreatureObject extends TangibleObject implements IPersistent {
notifyObservers(stateDelta, true);
}
-
+
+ public void setState(long state, boolean add) {
+ synchronized(objectMutex) {
+ if (state != 0) {
+ if (add) {
+ stateBitmask = (stateBitmask | state);
+ } else {
+ stateBitmask = (stateBitmask & ~state);
+ }
+ }
+ }
+ }
+
+ public boolean getState(long state) {
+ synchronized(objectMutex) {
+ return ((stateBitmask & state) == state);
+ }
+ }
+
public long getOwnerId() {
synchronized(objectMutex) {
return ownerId;
@@ -496,6 +564,10 @@ public class CreatureObject extends TangibleObject implements IPersistent {
synchronized(objectMutex) {
this.ownerId = ownerId;
}
+
+ setStringAttribute("owner", NGECore.getInstance().objectService.getObject(ownerId).getCustomName());
+
+ notifyObservers(messageBuilder.buildOwnerIdDelta(ownerId), true);
}
public float getAccelerationMultiplierBase() {
@@ -521,20 +593,13 @@ public class CreatureObject extends TangibleObject implements IPersistent {
this.accelerationMultiplierMod = accelerationMultiplierMod;
}
}
-
- public SWGList getSkillMods() {
+
+ public SWGMap getSkillMods() {
return skillMods;
}
public SkillMod getSkillMod(String name) {
- synchronized(skillMods.getMutex()) {
- for(SkillMod skillMod : skillMods.get()) {
- if(skillMod.getSkillModString().equals(name))
- return skillMod;
- }
- }
-
- return null;
+ return skillMods.get(name);
}
public int getSkillModBase(String name) {
@@ -543,66 +608,41 @@ public class CreatureObject extends TangibleObject implements IPersistent {
}
public void addSkillMod(String name, int base) {
- if(getSkillMod(name) == null) {
- SkillMod skillMod = new SkillMod();
- skillMod.setBase(base);
- skillMod.setSkillModString(name);
- skillMod.setModifier(0);
- skillMods.add(skillMod);
+ SkillMod mod;
+
+ if (getSkillMod(name) == null) {
+ mod = new SkillMod();
+ mod.setBase(base);
+ mod.setName(name);
+ mod.setModifier(0);
} else {
- SkillMod mod = getSkillMod(name);
+ mod = getSkillMod(name);
mod.setBase(mod.getBase() + base);
- if(getClient() != null) {
- setSkillModsUpdateCounter((short) (getSkillModsUpdateCounter() + 1));
- getClient().getSession().write(messageBuilder.buildAddSkillModDelta(name, mod.getBase()));
- }
}
+ skillMods.put(name, mod);
}
public void deductSkillMod(String name, int base) {
-
- if(getSkillMod(name) == null)
+ if (getSkillMod(name) == null) {
return;
+ }
SkillMod mod = getSkillMod(name);
mod.setBase(mod.getBase() - base);
- if(mod.getBase() <= 0) {
+ if (mod.getBase() <= 0) {
removeSkillMod(mod);
} else {
- if(getClient() != null) {
- setSkillModsUpdateCounter((short) (getSkillModsUpdateCounter() + 1));
- getClient().getSession().write(messageBuilder.buildAddSkillModDelta(name, mod.getBase()));
- }
- }
-
- }
-
- public void removeSkillMod(SkillMod mod) {
-
- skillMods.remove(mod);
-
- if(getClient() != null) {
- setSkillModsUpdateCounter((short) (getSkillModsUpdateCounter() + 1));
- getClient().getSession().write(messageBuilder.buildRemoveSkillModDelta(mod.getSkillModString(), mod.getBase()));
- }
-
-
- }
-
- public short getSkillModsUpdateCounter() {
- synchronized(objectMutex) {
- return (short) skillModsUpdateCounter;
+ skillMods.put(name, mod);
}
}
- public void setSkillModsUpdateCounter(short skillModsUpdateCounter) {
- synchronized(objectMutex) {
- this.skillModsUpdateCounter = skillModsUpdateCounter;
+ public void removeSkillMod(SkillMod mod) {
+ if (mod != null) {
+ skillMods.remove(mod.getName());
}
}
-
public float getSpeedMultiplierBase() {
synchronized(objectMutex) {
@@ -635,18 +675,6 @@ public class CreatureObject extends TangibleObject implements IPersistent {
notifyObservers(speedDelta, true);
}
- public long getListenToId() {
- synchronized(objectMutex) {
- return listenToId;
- }
- }
-
- public void setListenToId(long listenToId) {
- synchronized(objectMutex) {
- this.listenToId = listenToId;
- }
- }
-
public float getRunSpeed() {
synchronized(objectMutex) {
return runSpeed;
@@ -939,23 +967,43 @@ public class CreatureObject extends TangibleObject implements IPersistent {
this.guildId = guildId;
}
}
-
- public long getTargetId() {
+
+ public long getLookAtTarget() {
+ synchronized(objectMutex) {
+ return lookAtTarget;
+ }
+ }
+
+ public void setLookAtTarget(long lookAtTarget) {
+ synchronized(objectMutex) {
+ this.lookAtTarget = lookAtTarget;
+ }
+
+ notifyObservers(messageBuilder.buildLookAtTargetDelta(lookAtTarget), true);
+ }
+
+ public long getIntendedTarget() {
synchronized(objectMutex) {
return targetId;
}
}
- public void setTargetId(long targetId) {
+ public void setIntendedTarget(long intendedTarget) {
synchronized(objectMutex) {
- this.targetId = targetId;
+ this.targetId = intendedTarget;
}
- IoBuffer targetDelta = messageBuilder.buildTargetDelta(targetId);
- notifyObservers(targetDelta, false);
-
+ notifyObservers(messageBuilder.buildIntendedTargetDelta(intendedTarget), true);
}
-
+
+ public long getTargetId() {
+ return getIntendedTarget();
+ }
+
+ public void setTargetId(long targetId) {
+ setIntendedTarget(targetId);
+ }
+
public long getInviteCounter() {
synchronized(objectMutex) {
return inviteCounter;
@@ -1015,7 +1063,9 @@ public class CreatureObject extends TangibleObject implements IPersistent {
}
public SWGList getEquipmentList() {
+ synchronized(objectMutex) {
return equipmentList;
+ }
}
public SWGList getBuffList() {
@@ -1045,7 +1095,7 @@ public class CreatureObject extends TangibleObject implements IPersistent {
}
public void removeObjectFromEquipList(SWGObject object) {
- if(object instanceof TangibleObject) {
+ if(object instanceof TangibleObject && equipmentList.contains(object)) {
setEquipmentListUpdateCounter(getEquipmentListUpdateCounter() + 1);
notifyObservers(messageBuilder.buildRemoveEquipmentDelta((TangibleObject) object), true);
equipmentList.get().remove(object);
@@ -1061,14 +1111,13 @@ public class CreatureObject extends TangibleObject implements IPersistent {
}
public void removeObjectFromAppearanceEquipList(SWGObject object) {
- if(object instanceof TangibleObject) {
+ if(object instanceof TangibleObject && appearanceEquipmentList.contains(object)) {
setAppearanceEquipmentListUpdateCounter(getAppearanceEquipmentListUpdateCounter() + 1);
notifyObservers(messageBuilder.buildRemoveAppearanceEquipmentDelta((TangibleObject) object), true);
appearanceEquipmentList.get().remove(object);
}
}
-
- @SuppressWarnings("unused")
+
@Override
public void sendBaselines(Client destination) {
@@ -1085,71 +1134,27 @@ public class CreatureObject extends TangibleObject implements IPersistent {
}
//destination.getSession().write(messageBuilder.buildBaseline8());
//destination.getSession().write(messageBuilder.buildBaseline9());
-
- UpdatePostureMessage upm = new UpdatePostureMessage(getObjectID(), (byte) 0);
- destination.getSession().write(upm.serialize());
-
+
if(destination != getClient()) {
- UpdatePVPStatusMessage upvpm = new UpdatePVPStatusMessage(getObjectID(), getPvPBitmask(), getFaction());
- if(getSlottedObject("ghost") != null)
- upvpm.setStatus(16);
- /*
- if (factionStatus == 1 && faction == "imperial") {
- upvpm.setFaction(UpdatePVPStatusMessage.factionCRC.Imperial);
- upvpm.setStatus(16);
- if ((getOptionsBitmask() & 128) == 128) upvpm.setStatus(0);
- if (getOwnerId() != 0) upvpm.setStatus(256);
- }
-
- if (factionStatus == 1 && faction == "rebel") {
- upvpm.setFaction(UpdatePVPStatusMessage.factionCRC.Rebel);
- upvpm.setStatus(16);
- if ((getOptionsBitmask() & 128) == 128) upvpm.setStatus(0);
- if (getOwnerId() != 0) upvpm.setStatus(256);
- }
-
- if (factionStatus == 2 && faction == "imperial") {
- upvpm.setFaction(UpdatePVPStatusMessage.factionCRC.Imperial);
- upvpm.setStatus(55);
- if ((getOptionsBitmask() & 128) == 128) upvpm.setStatus(39);
- if (getOwnerId() != 0) upvpm.setStatus(295);
- }
- if (factionStatus == 2 && faction == "rebel") {
- upvpm.setFaction(UpdatePVPStatusMessage.factionCRC.Rebel);
- upvpm.setStatus(55);
- if ((getOptionsBitmask() & 128) == 128) upvpm.setStatus(39);
- if (getOwnerId() != 0) upvpm.setStatus(295);
- }
- if(factionStatus == 0 && faction == "neutral") {
- upvpm.setFaction(UpdatePVPStatusMessage.factionCRC.Neutral);
- upvpm.setStatus(16);
- if ((getOptionsBitmask() & 128) == 128) upvpm.setStatus(0);
- if (getOwnerId() != 0) upvpm.setStatus(256);
- } else {
- upvpm.setFaction(UpdatePVPStatusMessage.factionCRC.Neutral);
- upvpm.setStatus(16);
- if ((getOptionsBitmask() & 128) == 128) upvpm.setStatus(0);
- if (getOwnerId() != 0) upvpm.setStatus(256);
- }
- */
-
+ UpdatePVPStatusMessage upvpm = new UpdatePVPStatusMessage(getObjectID(), NGECore.getInstance().factionService.calculatePvpStatus((CreatureObject) destination.getParent(), this), getFaction());
destination.getSession().write(upvpm.serialize());
+ UpdatePostureMessage upm = new UpdatePostureMessage(getObjectID(), getPosture());
+ destination.getSession().write(upm.serialize());
}
}
public void sendSystemMessage(String message, byte displayType) {
-
- if(getClient() != null && getClient().getSession() != null) {
- ChatSystemMessage systemMsg = new ChatSystemMessage(message, displayType);
- getClient().getSession().write(systemMsg.serialize());
- }
-
+ sendSystemMessage(message, new OutOfBand(), displayType);
}
- public void sendSystemMessage(String stfFilename, String stfName, int stat, int displayType) {
+ public void sendSystemMessage(OutOfBand outOfBand, byte displayType) {
+ sendSystemMessage("", outOfBand, displayType);
+ }
+
+ public void sendSystemMessage(String message, OutOfBand outOfBand, byte displayType) {
if(getClient() != null && getClient().getSession() != null) {
- ChatSystemMessage systemMsg = new ChatSystemMessage(stfFilename, stfName, stat, (byte) displayType);
+ ChatSystemMessage systemMsg = new ChatSystemMessage(message, outOfBand, displayType);
getClient().getSession().write(systemMsg.serialize());
}
@@ -1204,14 +1209,18 @@ public class CreatureObject extends TangibleObject implements IPersistent {
IoBuffer delta;
synchronized(objectMutex) {
+ if (this.health == health) return;
if(health > maxHealth)
- health = maxHealth;
+ {
+ setHealth(maxHealth);
+ return;
+ }
setHamListCounter(getHamListCounter() + 1);
delta = messageBuilder.buildHealthDelta(health);
- notifyObservers(delta, true);
this.health = health;
}
+ notifyObservers(delta, true);
}
@@ -1222,15 +1231,21 @@ public class CreatureObject extends TangibleObject implements IPersistent {
}
public void setAction(int action) {
+
IoBuffer delta;
synchronized(objectMutex) {
+ if (this.action == action) return;
if(action > maxAction)
- action = maxAction;
+ {
+ setAction(maxAction);
+ return;
+ }
setHamListCounter(getHamListCounter() + 1);
delta = messageBuilder.buildActionDelta(action);
- notifyObservers(delta, true);
this.action = action;
- }
+ }
+ notifyObservers(delta, true);
+
}
public int getHamListCounter() {
@@ -1253,6 +1268,8 @@ public class CreatureObject extends TangibleObject implements IPersistent {
public void setMaxHealth(int maxHealth) {
synchronized(objectMutex) {
+ if(this.maxHealth == maxHealth) return;
+
this.maxHealth = maxHealth;
setMaxHAMListCounter(getMaxHAMListCounter() + 1);
if(maxHealth < getHealth())
@@ -1269,6 +1286,8 @@ public class CreatureObject extends TangibleObject implements IPersistent {
public void setMaxAction(int maxAction) {
synchronized(objectMutex) {
+ if(this.maxAction == maxAction) return;
+
this.maxAction = maxAction;
setMaxHAMListCounter(getMaxHAMListCounter() + 1);
if(maxAction < getAction())
@@ -1349,6 +1368,17 @@ public class CreatureObject extends TangibleObject implements IPersistent {
return null;
}
+ public Buff getBuffByCRC(int crc) {
+ synchronized(objectMutex) {
+ for (Buff buff : buffList.get()) {
+ if (buff.getBuffCRC() == crc) {
+ return buff;
+ }
+ }
+ }
+ return null;
+ }
+
public void updateGroupInviteInfo() {
if(getClient() == null || getClient().getSession() == null)
@@ -1475,19 +1505,20 @@ public class CreatureObject extends TangibleObject implements IPersistent {
}
}
- public void addAudience(CreatureObject audienceMember) {
+ public void addSpectator(CreatureObject audienceMember) {
synchronized(objectMutex) {
- if (performanceAudience == null) {
- performanceAudience = new SWGList();
- }
performanceAudience.add(audienceMember);
}
}
- public void removeAudience(CreatureObject audienceMember) {
+ public void removeSpectator(CreatureObject audienceMember) {
synchronized(objectMutex) {
if (performanceAudience == null) { return; }
- performanceAudience.remove(audienceMember);
+ if (audienceMember.getInspirationTick() != null)
+ audienceMember.getInspirationTick().cancel(true);
+
+ if(performanceAudience.contains(audienceMember))
+ performanceAudience.remove(audienceMember);
}
}
@@ -1501,9 +1532,9 @@ public class CreatureObject extends TangibleObject implements IPersistent {
synchronized(objectMutex) {
this.performanceWatchee = performanceWatchee;
}
- // not sure at this point if it makes a difference really.
- // on Live, an empty CREO4 was sent, at least when listenToId was empty.
- //getClient().getSession().write(messageBuilder.buildListenToId(0));
+
+ //if(this.performanceListenee == null)
+ //getClient().getSession().write(messageBuilder.buildListenToId(0));
}
public CreatureObject getPerformanceListenee() {
@@ -1515,10 +1546,9 @@ public class CreatureObject extends TangibleObject implements IPersistent {
public void setPerformanceListenee(CreatureObject performanceListenee) {
synchronized(objectMutex) {
this.performanceListenee = performanceListenee;
- //possibly redundant, need to research this further.
- this.listenToId = performanceListenee.getObjectId();
}
- getClient().getSession().write(messageBuilder.buildListenToId(this.listenToId));
+ if(getClient() != null)
+ getClient().getSession().write(messageBuilder.buildListenToId(performanceListenee.getObjectId()));
}
@@ -1602,5 +1632,215 @@ public class CreatureObject extends TangibleObject implements IPersistent {
this.appearanceEquipmentListUpdateCounter = appearanceEquipmentListUpdateCounter;
}
}
+ public int getXpBarValue() {
+ synchronized(objectMutex) {
+ return xpBarValue;
+ }
+ }
+
+ public void setXpBarValue(int xpBarValue) {
+ synchronized(objectMutex) {
+ this.xpBarValue = xpBarValue;
+ }
+ getClient().getSession().write(messageBuilder.buildXPBarDelta(xpBarValue));
+ }
+
+ public ScheduledFuture> getSpectatorTask() {
+ synchronized(objectMutex) {
+ return spectatorTask;
+ }
+ }
+
+ public void setSpectatorTask(ScheduledFuture> spectatorTask) {
+ synchronized(objectMutex) {
+ this.spectatorTask = spectatorTask;
+ }
+ }
+
+ public boolean isPerformingEffect() {
+ synchronized(objectMutex) {
+ return performingEffect;
+ }
+ }
+
+ public void setPerformingEffect(boolean hasEffect) {
+ synchronized(objectMutex) {
+ this.performingEffect = hasEffect;
+ }
+ }
+
+ public void setHologram(boolean isHologram) {
+ synchronized(objectMutex) {
+ this.hologram = isHologram;
+ }
+ }
+
+ public boolean isHologram() {
+ synchronized(objectMutex) {
+ return hologram;
+ }
+ }
+
+ public int getCoverCharge() {
+ synchronized(objectMutex) {
+ return coverCharge;
+ }
+ }
+
+ public void setCoverCharge(int coverCharge) {
+ synchronized (objectMutex) {
+ this.coverCharge = coverCharge;
+ }
+ }
+
+ public boolean isPerformingFlourish() {
+ synchronized(objectMutex){
+ return performingFlourish;
+ }
+ }
+
+ public void setPerformingFlourish(boolean performingFlourish) {
+ synchronized(objectMutex) {
+ this.performingFlourish = performingFlourish;
+ }
+ }
+
+ public boolean isInStealth() {
+ synchronized(objectMutex) {
+ return inStealth;
+ }
+ }
+
+ public void setInStealth(boolean inStealth) {
+ synchronized(objectMutex) {
+ this.inStealth = inStealth;
+ }
+
+ if (getClient() != null && getClient().getSession() != null) {
+ getClient().getSession().write(messageBuilder.buildStealthFlagDelta(inStealth));
+ }
+ notifyObservers(messageBuilder.buildStealthFlagDelta(inStealth), false);
+
+ }
+
+ public boolean isRadarVisible() {
+ synchronized(objectMutex) {
+ return radarVisible;
+ }
+ }
+
+ public void setRadarVisible(boolean radarVisible) {
+ synchronized(objectMutex) {
+ this.radarVisible = radarVisible;
+ }
+ notifyObservers(messageBuilder.buildRadarVisibleFlagDelta(radarVisible), false);
+ }
+
+ public boolean isStationary() {
+ synchronized(objectMutex) {
+ return stationary;
+ }
+ }
+
+ public void setStationary(boolean stationary) {
+ synchronized(objectMutex) {
+ this.stationary = stationary;
+ }
+
+ notifyObservers(messageBuilder.buildStartPerformance(stationary), true);
+ }
+
+ public TangibleObject getConversingNpc() {
+ synchronized(objectMutex) {
+ return conversingNpc;
+ }
+ }
+
+ public void setConversingNpc(TangibleObject conversingNpc) {
+ synchronized(objectMutex) {
+ this.conversingNpc = conversingNpc;
+ }
+ }
+
+ public void addCooldown(String cooldownGroup, float cooldownTime) {
+ if (cooldowns.containsKey(cooldownGroup)) {
+ cooldowns.remove(cooldownGroup);
+ }
+
+ long duration = System.currentTimeMillis() + ((long) (cooldownTime * 1000F));
+
+ cooldowns.put(cooldownGroup, duration);
+ }
+
+ public boolean hasCooldown(String cooldownGroup) {
+ if (cooldowns.containsKey(cooldownGroup)) {
+ if (System.currentTimeMillis() < cooldowns.get(cooldownGroup)) {
+ return true;
+ } else {
+ cooldowns.remove(cooldownGroup);
+ }
+ }
+
+ return false;
+ }
+
+ public boolean removeCooldown(int actionCounter, BaseSWGCommand command) {
+ if (cooldowns.containsKey(command.getCooldownGroup())) {
+ cooldowns.remove(command.getCooldownGroup());
+ getClient().getSession().write(new ObjControllerMessage(0x0B, new StartTask(actionCounter, getObjectID(), command.getCommandCRC(), CRC.StringtoCRC(command.getCooldownGroup()), -1)).serialize());
+ return true;
+ }
+
+ return false;
+ }
+
+ public Cooldown getCooldown(String cooldownGroup) {
+ return new Cooldown(getRemainingCooldown(cooldownGroup));
+ }
+
+ public long getRemainingCooldown(String cooldownGroup) {
+ if (cooldowns.containsKey(cooldownGroup)) {
+ if (System.currentTimeMillis() < cooldowns.get(cooldownGroup)) {
+ return (long) (cooldowns.get(cooldownGroup) - System.currentTimeMillis());
+ } else {
+ cooldowns.remove(cooldownGroup);
+ }
+ }
+
+ return 0L;
+ }
+
+ public PlayerObject getPlayerObject()
+ {
+ return (PlayerObject) this.getSlottedObject("ghost");
+ }
+
+ //public float getCooldown(String cooldownGroup) {
+ //return ((float) getCooldown(cooldownGroup) / (float) 1000);
+ //}
+
+ public long getTefTime() {
+ synchronized(objectMutex) {
+ return (((tefTime - System.currentTimeMillis()) > 0) ? (tefTime - System.currentTimeMillis()) : 0);
+ }
+ }
+
+ public void setTefTime(long tefTime) {
+ synchronized(objectMutex) {
+ this.tefTime = tefTime + System.currentTimeMillis();
+ }
+ }
+
+ public int getInventoryItemCount() {
+ if(getSlottedObject("inventory") == null)
+ return 0;
+ LongAdder adder = new LongAdder();
+ getSlottedObject("inventory").viewChildren(this, true, true, (obj) -> adder.increment());
+ return adder.intValue();
+ }
+
+ //public float getCooldown(String cooldownGroup) {
+ //return ((float) getCooldown(cooldownGroup) / (float) 1000);
+ //}
}
diff --git a/src/resources/z/exp/objects/factorycrate/FactoryCrateObject.java b/src/resources/objects/deed/Deed.java
similarity index 71%
rename from src/resources/z/exp/objects/factorycrate/FactoryCrateObject.java
rename to src/resources/objects/deed/Deed.java
index e69c6c15..f98c6398 100644
--- a/src/resources/z/exp/objects/factorycrate/FactoryCrateObject.java
+++ b/src/resources/objects/deed/Deed.java
@@ -19,8 +19,19 @@
* Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
* Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
******************************************************************************/
-package resources.z.exp.objects.factorycrate;
+package resources.objects.deed;
-public class FactoryCrateObject {
+import engine.resources.scene.Planet;
+import engine.resources.scene.Point3D;
+import engine.resources.scene.Quaternion;
+import resources.objects.tangible.TangibleObject;
+/**
+ * @author Charon
+ */
+public class Deed extends TangibleObject {
+
+ public Deed(long objectID, Planet planet, String template, Point3D position, Quaternion orientation){
+ super(objectID, planet, template, position, orientation);
+ }
}
diff --git a/src/resources/objects/deed/Harvester_Deed.java b/src/resources/objects/deed/Harvester_Deed.java
new file mode 100644
index 00000000..945d9eb3
--- /dev/null
+++ b/src/resources/objects/deed/Harvester_Deed.java
@@ -0,0 +1,121 @@
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
+package resources.objects.deed;
+import com.sleepycat.persist.model.Persistent;
+
+import engine.resources.scene.Planet;
+import engine.resources.scene.Point3D;
+import engine.resources.scene.Quaternion;
+
+/**
+ * @author Charon
+ */
+@Persistent(version=0)
+public class Harvester_Deed extends Deed {
+
+ private String name;
+ private String structureTemplate;
+ private String constructorTemplate;
+ private int outputHopperCapacity=0;
+ private int BER=0;
+ private int BMR=0;
+ private int surplusMaintenance=0;
+ private int surplusPower=0;
+ private int lotRequirement;
+
+
+ public Harvester_Deed(long objectID, Planet planet, String template, Point3D position, Quaternion orientation){
+ super(objectID, planet, template, position, orientation);
+ }
+
+ public int getOutputHopperCapacity() {
+ return outputHopperCapacity;
+ }
+ public void setOutputHopperCapacity(int outputHopperCapacity) {
+ this.outputHopperCapacity = outputHopperCapacity;
+ }
+ public int getBER() {
+ return BER;
+ }
+ public void setBER(int bER) {
+ this.BER = bER;
+ }
+ public String getName() {
+ return name;
+ }
+ public void setName(String name) {
+ this.name = name;
+ }
+ public String getStructureTemplate() {
+ return structureTemplate;
+ }
+ public void setStructureTemplate(String structureTemplate) {
+ this.structureTemplate = structureTemplate;
+ }
+ public int getLotRequirement() {
+ return lotRequirement;
+ }
+ public void setLotRequirement(int lotRequirement) {
+ this.lotRequirement = lotRequirement;
+ }
+ public String getConstructorTemplate() {
+ return constructorTemplate;
+ }
+ public void setConstructorTemplate(String constructorTemplate) {
+ this.constructorTemplate = constructorTemplate;
+ }
+ public int getBMR() {
+ return BMR;
+ }
+ public void setBMR(int BMR) {
+ this.BMR = BMR;
+ }
+ public int getSurplusMaintenance() {
+ return surplusMaintenance;
+ }
+ public void setSurplusMaintenance(int surplusMaintenance) {
+ this.surplusMaintenance = surplusMaintenance;
+ }
+
+ public int getSurplusPower() {
+ return surplusPower;
+ }
+
+ public void setSurplusPower(int surplusPower) {
+ this.surplusPower = surplusPower;
+ }
+
+
+ public void setAttributes() {
+ this.getAttributes().put("@obj_attr_n:volume", "1");
+ this.getAttributes().put("@obj_attr_n:examine_maintenance_rate", ""+this.getBMR() + "/hour");
+ if (this.getSurplusMaintenance()>0)
+ this.getAttributes().put("@obj_attr_n:examine_maintenance", ""+this.getSurplusMaintenance());
+
+ //this.getAttributes().put("@obj_attr_n:energy_maintenance", "0");
+ if (this.getSurplusPower()>0)
+ this.getAttributes().put("@obj_attr_n:examine_power", ""+this.getSurplusPower());
+
+ this.getAttributes().put("@obj_attr_n:examine_hoppersize", ""+this.getOutputHopperCapacity());
+ this.getAttributes().put("@obj_attr_n:examine_extractionrate", ""+this.getBER());
+ }
+}
diff --git a/src/resources/objects/deed/Player_House_Deed.java b/src/resources/objects/deed/Player_House_Deed.java
new file mode 100644
index 00000000..448f3da9
--- /dev/null
+++ b/src/resources/objects/deed/Player_House_Deed.java
@@ -0,0 +1,94 @@
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
+package resources.objects.deed;
+import com.sleepycat.persist.model.Persistent;
+
+import engine.resources.scene.Planet;
+import engine.resources.scene.Point3D;
+import engine.resources.scene.Quaternion;
+
+/**
+ * @author Seefo
+ * @author Charon
+ */
+
+@Persistent(version=0)
+public class Player_House_Deed extends Deed {
+
+ private String name;
+ private String structureTemplate;
+ private String constructorTemplate;
+ private int BMR=0;
+ private int surplusMaintenance=0;
+ private int lotRequirement;
+
+
+ public Player_House_Deed(long objectID, Planet planet, String template, Point3D position, Quaternion orientation){
+ super(objectID, planet, template, position, orientation);
+ }
+
+ public String getName() {
+ return name;
+ }
+ public void setName(String name) {
+ this.name = name;
+ }
+ public String getStructureTemplate() {
+ return structureTemplate;
+ }
+ public void setStructureTemplate(String structureTemplate) {
+ this.structureTemplate = structureTemplate;
+ }
+ public int getLotRequirement() {
+ return lotRequirement;
+ }
+ public void setLotRequirement(int lotRequirement) {
+ this.lotRequirement = lotRequirement;
+ }
+ public String getConstructorTemplate() {
+ return constructorTemplate;
+ }
+ public void setConstructorTemplate(String constructorTemplate) {
+ this.constructorTemplate = constructorTemplate;
+ }
+ public int getBMR() {
+ return BMR;
+ }
+ public void setBMR(int BMR) {
+ this.BMR = BMR;
+ }
+ public int getSurplusMaintenance() {
+ return surplusMaintenance;
+ }
+ public void setSurplusMaintenance(int surplusMaintenance) {
+ this.surplusMaintenance = surplusMaintenance;
+ }
+
+ public void setAttributes() {
+ this.getAttributes().put("@obj_attr_n:volume", "1");
+ this.getAttributes().put("@obj_attr_n:examine_maintenance_rate", ""+this.getBMR() + "/hour");
+ if (this.getSurplusMaintenance()>0)
+ this.getAttributes().put("@obj_attr_n:examine_maintenance", ""+this.getSurplusMaintenance());
+
+
+ }
+}
diff --git a/src/resources/objects/factorycrate/FactoryCrateMessageBuilder.java b/src/resources/objects/factorycrate/FactoryCrateMessageBuilder.java
index dbb1e565..59c39cbe 100644
--- a/src/resources/objects/factorycrate/FactoryCrateMessageBuilder.java
+++ b/src/resources/objects/factorycrate/FactoryCrateMessageBuilder.java
@@ -21,6 +21,156 @@
******************************************************************************/
package resources.objects.factorycrate;
-public class FactoryCrateMessageBuilder {
+import java.nio.ByteOrder;
+import org.apache.mina.core.buffer.IoBuffer;
+
+import resources.objects.ObjectMessageBuilder;
+import resources.objects.resource.GalacticResource;
+import resources.objects.resource.ResourceContainerObject;
+
+/**
+ * @author Charon
+ */
+
+public class FactoryCrateMessageBuilder extends ObjectMessageBuilder{
+
+ public FactoryCrateMessageBuilder(FactoryCrateObject factoryCrateObject) {
+ setObject(factoryCrateObject);
+ }
+
+
+ public IoBuffer buildBaseline3() {
+ FactoryCrateObject factoryCrateObject = (FactoryCrateObject) object;
+ IoBuffer buffer = IoBuffer.allocate(10).order(ByteOrder.LITTLE_ENDIAN);
+ buffer.setAutoExpand(true);
+
+ buffer.putShort((short)0x0D);
+ buffer.putFloat(1.0f); //op0
+ buffer.put(getAsciiString("factory_n"));
+ buffer.putInt(0);
+ buffer.put(getAsciiString("food_crate"));
+
+ if (factoryCrateObject.getCustomName().length()>0)
+ buffer.put(getUnicodeString(factoryCrateObject.getCustomName()));
+ else
+ buffer.putInt(0);
+
+ buffer.putInt(1);
+ buffer.putShort((short)0);
+
+ buffer.putInt(0);
+ buffer.putInt(0);
+ buffer.putInt(0);
+ buffer.putInt(0);
+
+ buffer.putInt(0x2100); // optionsbitmask
+ buffer.putInt((int)factoryCrateObject.getQuantity()); // Quantity // op9
+ buffer.putInt(0);
+ buffer.putInt(0x64); // condition maybe
+
+ buffer.put((byte)1);
+
+ int size = buffer.position();
+ buffer = bufferPool.allocate(size, false).put(buffer.array(), 0, size);
+
+ buffer.flip();
+ buffer = createBaseline("TYCF", (byte) 3, buffer, size);
+
+ return buffer;
+
+// 01 00 00 00
+// 00 00
+// 00 00 00 00
+// 00 00 00 00
+// 00 00 00 00
+// 00 00 00 00
+// 00 21 00 00
+// 2A 00 00 00
+// 00 00 00 00
+// 64 00 00 00
+// 01
+
+ }
+
+ public IoBuffer buildBaseline6() {
+ FactoryCrateObject factoryCrateObject = (FactoryCrateObject) object;
+ IoBuffer buffer = IoBuffer.allocate(10).order(ByteOrder.LITTLE_ENDIAN);
+ buffer.setAutoExpand(true);
+
+ buffer.putShort((short)6);
+ buffer.putInt(3);
+
+ buffer.putInt(0);
+ buffer.putInt(0);
+
+ buffer.putInt(0);
+ buffer.putInt(0);
+ buffer.putInt(0);
+ buffer.putInt(0);
+ buffer.putInt(0);
+ buffer.putInt(0);
+ buffer.putInt(0);
+ buffer.putInt(0);
+ buffer.putInt(0);
+
+ buffer.put((byte)0);
+
+ int size = buffer.position();
+ buffer = bufferPool.allocate(size, false).put(buffer.array(), 0, size);
+
+ buffer.flip();
+ buffer = createBaseline("TYCF", (byte) 6, buffer, size);
+
+ return buffer;
+ }
+
+
+ public IoBuffer buildBaseline8() {
+ IoBuffer buffer = IoBuffer.allocate(10).order(ByteOrder.LITTLE_ENDIAN);
+ buffer.setAutoExpand(true);
+ buffer.putShort((short)0);
+ int size = buffer.position();
+ buffer = bufferPool.allocate(size, false).put(buffer.array(), 0, size);
+ buffer.flip();
+ buffer = createBaseline("RCNO", (byte) 8, buffer, size);
+ return buffer;
+ }
+
+ public IoBuffer buildBaseline9() {
+ IoBuffer buffer = IoBuffer.allocate(10).order(ByteOrder.LITTLE_ENDIAN);
+ buffer.setAutoExpand(true);
+ buffer.putShort((short)0);
+ int size = buffer.position();
+ buffer = bufferPool.allocate(size, false).put(buffer.array(), 0, size);
+ buffer.flip();
+ buffer = createBaseline("TYCF", (byte) 9, buffer, size);
+ return buffer;
+ }
+
+ public IoBuffer buildDelta3() {
+ FactoryCrateObject factoryCrateObject = (FactoryCrateObject) object;
+ IoBuffer buffer = IoBuffer.allocate(10).order(ByteOrder.LITTLE_ENDIAN);
+ buffer.setAutoExpand(true);
+
+ buffer.putInt(factoryCrateObject.getQuantity());
+ int size = buffer.position();
+ buffer.flip();
+ buffer = createDelta("TYCF", (byte) 3, (short) 1, (short) 9, buffer, size + 4);
+
+ return buffer;
+ }
+
+ @Override
+ public void sendListDelta(byte viewType, short updateType, IoBuffer buffer) {
+ // TODO Auto-generated method stub
+
+ }
+
+
+ @Override
+ public void sendBaselines() {
+ // TODO Auto-generated method stub
+
+ }
}
diff --git a/src/resources/objects/factorycrate/FactoryCrateObject.java b/src/resources/objects/factorycrate/FactoryCrateObject.java
index 8e7d3c75..d7b7b7d6 100644
--- a/src/resources/objects/factorycrate/FactoryCrateObject.java
+++ b/src/resources/objects/factorycrate/FactoryCrateObject.java
@@ -21,11 +21,250 @@
******************************************************************************/
package resources.objects.factorycrate;
+import java.util.Map;
+import java.util.Vector;
+
+import main.NGECore;
+
+import protocol.swg.SceneCreateObjectByCrc;
+import protocol.swg.SceneDestroyObject;
+import protocol.swg.SceneEndBaselines;
+import protocol.swg.UpdateContainmentMessage;
+import protocol.swg.UpdatePVPStatusMessage;
+
+import com.sleepycat.persist.model.NotPersistent;
import com.sleepycat.persist.model.Persistent;
+import engine.clients.Client;
+import engine.resources.common.CRC;
+import engine.resources.objects.SWGObject;
+import engine.resources.scene.Planet;
+import engine.resources.scene.Point3D;
+import engine.resources.scene.Quaternion;
+
+import resources.objects.creature.CreatureObject;
import resources.objects.tangible.TangibleObject;
+/**
+ * @author Charon
+ */
+
@Persistent(version=0)
public class FactoryCrateObject extends TangibleObject {
+
+ private Vector contents;
+ private byte capacity;
+ private byte contentObjectQuantity;
+ private int contentCRC;
+ private TangibleObject contentObjectType;
+
+ @NotPersistent
+ private FactoryCrateMessageBuilder messageBuilder;
+
+ public FactoryCrateObject() {
+
+ }
+
+ public FactoryCrateObject(long objectID, Planet planet, String template, Point3D position, Quaternion orientation) {
+ super(objectID, planet, template, position, orientation);
+ this.messageBuilder = new FactoryCrateMessageBuilder(this);
+ this.contents = new Vector();
+ this.contentObjectQuantity = 0;
+ this.capacity = 25;
+ this.getAttributes().put("@obj_attr_n:condition", "100/100");
+ this.getAttributes().put("@obj_attr_n:volume", "1");
+ this.getAttributes().put("@obj_attr_n:quantity", "1");
+ this.getAttributes().put("@obj_attr_n:factory_count", "1");
+ this.getAttributes().put("@obj_attr_n:factory_attribs", "------------");
+ this.getAttributes().put("@obj_attr_n:type", "@got_n:component");
+ this.getAttributes().put("@obj_attr_n:serial_number", "123");
+
+
+ }
+
+ public boolean setContentType(TangibleObject contentObject) {
+ synchronized(objectMutex) {
+ this.contentObjectType = contentObject;
+ if (contentObject.getTemplate().length()>0)
+ this.contentCRC = CRC.StringtoCRC(contentObject.getTemplate());
+ else
+ this.contentCRC = 0;
+
+ Map contentAttributes = contentObject.getAttributes();
+ for (Map.Entry entry : contentAttributes.entrySet())
+ {
+ //if (!entry.getKey().equals(@obj_attr_n:condition))
+ this.getAttributes().put(entry.getKey(), entry.getValue());
+ }
+
+ return true;
+ }
+ }
+
+ public TangibleObject getContentType() {
+ return this.contentObjectType;
+ }
+
+ public boolean setContentTypeAndQuantity(TangibleObject contentObject, int quantity) {
+ synchronized(objectMutex) {
+ this.contentObjectType = contentObject;
+ if (contentObject.getTemplate().length()>0)
+ this.contentCRC = CRC.StringtoCRC(contentObject.getTemplate());
+ else{
+ this.contentCRC = 0;
+ return false; // Does it make sense to continue anyway?
+ }
+
+ Map contentAttributes = contentObject.getAttributes();
+ for (Map.Entry entry : contentAttributes.entrySet())
+ {
+ //if (!entry.getKey().equals(@obj_attr_n:condition))
+ this.getAttributes().put(entry.getKey(), entry.getValue());
+ System.out.println(entry.getKey() + " " + entry.getValue());
+ }
+ if (quantity0){
+ TangibleObject contentType = this.getContentType();
+ if (contentType==null)
+ return; // Bad, crate had no content type set
+ TangibleObject contentItem = (TangibleObject) core.objectService.createObject(contentType.getTemplate(), player.getPlanet());
+ contentItem.setOptions(resources.datatables.Options.SERIAL, true);
+ int crc = this.getContentCRC();//CRC.StringtoCRC("object/tangible/food/crafted/shared_drink_alcohol.iff");
+ SceneCreateObjectByCrc createObjectMsg = new SceneCreateObjectByCrc(contentItem.getObjectID(), player.getOrientation().x, player.getOrientation().y, player.getOrientation().z, player.getOrientation().w, player.getPosition().x, player.getPosition().y, player.getPosition().z, crc, (byte) 0);
+ player.getClient().getSession().write(createObjectMsg.serialize());
+ contentItem.sendBaselines(player.getClient()); // TANO 3,6,8,9 Baselines
+ SceneEndBaselines sceneEndBaselinesMsg = new SceneEndBaselines(contentItem.getObjectID());
+ player.getClient().getSession().write(sceneEndBaselinesMsg.serialize());
+
+ long parentId = this.getParentId();
+ SWGObject parentContainer = core.objectService.getObject(parentId);
+ if (parentContainer==null)
+ return; // crate has no parent, error
+ UpdateContainmentMessage updateContainmentMessage= new UpdateContainmentMessage(contentItem.getObjectID(), parentContainer.getObjectID(), -1);
+ player.getClient().getSession().write(updateContainmentMessage.serialize());
+
+ this.sendSetQuantity(player.getClient(),this.getQuantity()-1);
+ if (this.getQuantity()==0){ // Crate is empty now, delete it
+ parentContainer._remove(this);
+ SceneDestroyObject destroyObjectMsg = new SceneDestroyObject(this.getObjectID());
+ player.getClient().getSession().write(destroyObjectMsg.serialize());
+ core.objectService.destroyObject(this);
+ }
+ } else { // should give players the chance to clean faulty, empty crates from their containers
+ long parentId = this.getParentId();
+ SWGObject parentContainer = core.objectService.getObject(parentId);
+ if (parentContainer==null)
+ return; // crate has no parent, error
+ parentContainer._remove(this);
+ SceneDestroyObject destroyObjectMsg = new SceneDestroyObject(this.getObjectID());
+ player.getClient().getSession().write(destroyObjectMsg.serialize());
+ core.objectService.destroyObject(this);
+ }
+ }
+ }
+
+ public byte getQuantity() {
+ return contentObjectQuantity;
+ }
+
+ public String getSerialNumber() {
+ if (!contents.isEmpty()) {
+ return contents.firstElement().getSerialNumber();
+ }
+ return "";
+ }
+
+ public int getContentCRC() {
+ return contentCRC;
+ }
-}
+ public void setContentCRC(int contentCRC) {
+ synchronized(objectMutex) {
+ this.contentCRC = contentCRC;
+ }
+ }
+
+ public void handleSplit(){
+
+ }
+
+ public void sendAddItem(Client destination) {
+ destination.getSession().write(messageBuilder.buildDelta3());
+ this.getAttributes().put("@obj_attr_n:factory_count", ""+this.getQuantity());
+ this.getAttributes().put("@obj_attr_n:quantity", ""+this.getQuantity());
+ //services.CharonPacketUtils.printAnalysis(messageBuilder.buildDelta3(),"FCYT3 Delta");
+ }
+
+ public void sendSetQuantity(Client destination,int quantity) {
+ contentObjectQuantity = (byte) quantity;
+ destination.getSession().write(messageBuilder.buildDelta3());
+ this.getAttributes().put("@obj_attr_n:factory_count", ""+quantity);
+ this.getAttributes().put("@obj_attr_n:quantity", ""+this.getQuantity());
+ //services.CharonPacketUtils.printAnalysis(messageBuilder.buildDelta3(),"FCYT3 Delta");
+ }
+
+
+ @Override
+ public void sendBaselines(Client destination) {
+
+
+ if(destination == null || destination.getSession() == null) {
+ System.out.println("NULL destination");
+ return;
+ }
+
+ destination.getSession().write(messageBuilder.buildBaseline3());
+ destination.getSession().write(messageBuilder.buildBaseline6());
+ destination.getSession().write(messageBuilder.buildBaseline8());
+ destination.getSession().write(messageBuilder.buildBaseline9());
+
+// services.CharonPacketUtils.printAnalysis(messageBuilder.buildBaseline3(),"FCYT3 Baseline");
+// services.CharonPacketUtils.printAnalysis(messageBuilder.buildBaseline6(),"FCYT6 Baseline");
+// services.CharonPacketUtils.printAnalysis(messageBuilder.buildBaseline8(),"FCYT8 Baseline");
+// services.CharonPacketUtils.printAnalysis(messageBuilder.buildBaseline9(),"FCYT9 Baseline");
+ }
+
+ public void sendDelta3(Client destination) {
+ destination.getSession().write(messageBuilder.buildDelta3());
+ this.getAttributes().put("@obj_attr_n:factory_count", ""+this.getQuantity());
+ //services.CharonPacketUtils.printAnalysis(messageBuilder.buildDelta3(),"FCYT3 Delta");
+ }
+}
\ No newline at end of file
diff --git a/src/resources/objects/group/GroupObject.java b/src/resources/objects/group/GroupObject.java
index ec9b215c..0f5c4622 100644
--- a/src/resources/objects/group/GroupObject.java
+++ b/src/resources/objects/group/GroupObject.java
@@ -39,9 +39,15 @@ public class GroupObject extends UniverseObject {
private short groupLevel;
private int lootMode;
private GroupMessageBuilder messageBuilder;
+ private int chatRoomId;
+
+ public static int FREE_FOR_ALL = 0;
+ public static int MASTER_LOOTER = 1;
+ public static int LOTTERY = 2;
+
public GroupObject(long objectId) {
- super(objectId, null, new Point3D(0, 0, 0), new Quaternion(0, 0, 0, 1), "object/group/shared_group_object.iff");
+ super(objectId, null, new Point3D(0, 0, 0), new Quaternion(1, 0, 0, 0), "object/group/shared_group_object.iff");
messageBuilder = new GroupMessageBuilder(this);
}
@@ -108,7 +114,19 @@ public class GroupObject extends UniverseObject {
this.lootMode = lootMode;
}
}
-
+
+ public int getChatRoomId() {
+ synchronized(objectMutex) {
+ return chatRoomId;
+ }
+ }
+
+ public void setChatRoomId(int chatRoomId) {
+ synchronized(objectMutex) {
+ this.chatRoomId = chatRoomId;
+ }
+ }
+
public void addMember(SWGObject member) {
if(memberList.size() >= 8 || member.getClient() == null)
@@ -147,5 +165,4 @@ public class GroupObject extends UniverseObject {
destination.getSession().write(messageBuilder.buildBaseline6());
}
-
}
diff --git a/src/resources/objects/guild/GuildObject.java b/src/resources/objects/guild/GuildObject.java
index a1fe7edb..5890756b 100644
--- a/src/resources/objects/guild/GuildObject.java
+++ b/src/resources/objects/guild/GuildObject.java
@@ -46,12 +46,11 @@ import com.sleepycat.persist.model.NotPersistent;
import engine.clients.Client;
import engine.resources.objects.IPersistent;
-import engine.resources.objects.SWGObject;
import engine.resources.scene.Planet;
import engine.resources.scene.Point3D;
import engine.resources.scene.Quaternion;
-@Entity(version=0)
+@Entity(version=1)
public class GuildObject extends UniverseObject implements IPersistent {
protected NGECore core;
@@ -63,6 +62,8 @@ public class GuildObject extends UniverseObject implements IPersistent {
@NotPersistent
private Transaction txn;
+ private long nextInstanceId = 0;
+
// GILD 3
private float complexity = 0x803F0F00;
private String STFFile = "string_id_table";
@@ -281,6 +282,12 @@ public class GuildObject extends UniverseObject implements IPersistent {
}
}
+ public synchronized long getNextInstanceId() {
+ long ret = nextInstanceId;
+ nextInstanceId++;
+ return ret;
+ }
+
@Override
public void sendBaselines(Client destination) {
destination.getSession().write(messageBuilder.buildBaseline3());
diff --git a/src/resources/objects/harvester/HarvesterMessageBuilder.java b/src/resources/objects/harvester/HarvesterMessageBuilder.java
index 3b6c4602..cbe9b4d9 100644
--- a/src/resources/objects/harvester/HarvesterMessageBuilder.java
+++ b/src/resources/objects/harvester/HarvesterMessageBuilder.java
@@ -21,6 +21,806 @@
******************************************************************************/
package resources.objects.harvester;
-public class HarvesterMessageBuilder {
+import java.nio.ByteOrder;
+import java.util.Vector;
+import org.apache.mina.core.buffer.IoBuffer;
+
+import engine.resources.objects.SWGObject;
+
+import resources.objects.ObjectMessageBuilder;
+import resources.objects.creature.CreatureObject;
+import resources.objects.resource.GalacticResource;
+import resources.objects.resource.ResourceContainerObject;
+
+/**
+ * @author Charon
+ */
+public class HarvesterMessageBuilder extends ObjectMessageBuilder{
+
+ public HarvesterMessageBuilder(HarvesterObject harvesterObject) {
+ setObject(harvesterObject);
+ }
+
+ public IoBuffer buildBaseline3() {
+
+ HarvesterObject building = (HarvesterObject) object;
+ IoBuffer buffer = bufferPool.allocate(100, false).order(ByteOrder.LITTLE_ENDIAN);
+ buffer.setAutoExpand(true);
+
+ buffer.putShort((short) 0x0D);
+ buffer.putFloat(building.getComplexity());
+ buffer.put(getAsciiString(building.getStfFilename()));
+ buffer.putInt(0);
+ buffer.put(getAsciiString(building.getStfName()));
+ buffer.putInt(0);
+ buffer.putInt(0xFF);
+ //buffer.putInt(0x64);
+ buffer.putInt(0);
+ buffer.putInt(0);
+ buffer.putShort((short) 0);
+
+ buffer.putInt(0);
+ buffer.putInt(0);
+ // buffer.putInt(16777216);
+ buffer.putInt(0x100);
+ buffer.putInt(0);
+ buffer.putInt(64);
+ buffer.putInt(0x201C);
+ buffer.put((byte) 1);
+
+ int size = buffer.position();
+ buffer = bufferPool.allocate(size, false).put(buffer.array(), 0, size);
+
+ buffer.flip();
+ buffer = createBaseline("BUIO", (byte) 3, buffer, size);
+
+ return buffer;
+
+ }
+
+ public IoBuffer buildHINO3Delta(HarvesterObject harvester,byte state) {
+ IoBuffer buffer = IoBuffer.allocate(10).order(ByteOrder.LITTLE_ENDIAN);
+ buffer.setAutoExpand(true);
+ buffer.putShort((short)5);
+ buffer.putInt(0x12862153);
+ buffer.putLong(harvester.getObjectID());
+ buffer.putInt(0x48494E4F);
+ buffer.put((byte)3);
+ buffer.putInt(0xB);
+ buffer.putShort((short)2);
+ buffer.putShort((short)8);
+ buffer.put((byte)1);
+ buffer.putShort((short)1);
+ buffer.put((byte)0);
+ buffer.putShort((short)0xD);
+ buffer.put(state);
+ int size = buffer.position();
+ buffer.flip();
+ tools.CharonPacketUtils.printAnalysis(IoBuffer.allocate(size).put(buffer.array(), 0, size).flip());
+ return IoBuffer.allocate(size).put(buffer.array(), 0, size).flip();
+ }
+// 0000: 05 00 53 21 86 12 33 01 0E BE 41 00 00 00 4F 4E ..S!..3...A...ON
+// 0010: 49 48 03 0B 00 00 00 02 00 08 00 01 01 00 00 0D IH..............
+// 0020: 00 01
+
+
+ public IoBuffer buildHINO3Delta2(HarvesterObject harvester,byte state) {
+ IoBuffer buffer = IoBuffer.allocate(10).order(ByteOrder.LITTLE_ENDIAN);
+ buffer.setAutoExpand(true);
+ buffer.putShort((short)5);
+ buffer.putInt(0x12862153);
+ buffer.putLong(harvester.getObjectID());
+ buffer.putInt(0x48494E4F);
+ buffer.put((byte)3);
+ buffer.putInt(0xB);
+ buffer.putShort((short)2);
+ buffer.putShort((short)8);
+ buffer.put((byte)0);
+ buffer.putShort((short)1);
+ buffer.put((byte)0);
+ buffer.putShort((short)0xD);
+ buffer.put(state);
+ int size = buffer.position();
+ buffer.flip();
+ tools.CharonPacketUtils.printAnalysis(IoBuffer.allocate(size).put(buffer.array(), 0, size).flip());
+ return IoBuffer.allocate(size).put(buffer.array(), 0, size).flip();
+ }
+
+
+ public IoBuffer buildBaseline6() {
+
+ HarvesterObject building = (HarvesterObject) object;
+ IoBuffer buffer = bufferPool.allocate(100, false).order(ByteOrder.LITTLE_ENDIAN);
+ buffer.setAutoExpand(true);
+
+ buffer.putShort((short) 8);
+ buffer.putInt(0x43);
+
+ buffer.put(getAsciiString(building.getDetailFilename()));
+ buffer.putInt(0);
+ buffer.put(getAsciiString(building.getDetailName()));
+ buffer.putInt(0);
+ buffer.put((byte) 0);
+ buffer.putInt(0);
+ buffer.putInt(0);
+ buffer.putInt(0);
+ buffer.putInt(0);
+ buffer.putInt(0);
+ buffer.putInt(0);
+ buffer.putInt(0);
+ buffer.putInt(0);
+
+ int size = buffer.position();
+ buffer = bufferPool.allocate(size, false).put(buffer.array(), 0, size);
+
+ buffer.flip();
+ buffer = createBaseline("BUIO", (byte) 6, buffer, size);
+
+ return buffer;
+
+ }
+
+
+ public IoBuffer buildHINO7Delta(HarvesterObject harvester,byte state) {
+
+ Vector outputHopperContent = harvester.getOutputHopperContent();
+ int hopperContentSize = outputHopperContent.size();
+ int iHopperList = 1;
+ if (hopperContentSize==0) {
+ iHopperList = 0;
+ }
+ //int sizeP = 30 + 15*hopperContentSize;
+ int sizeP = 30-2-4-4;
+ //System.out.println("sizeP " + sizeP);
+ IoBuffer buffer = IoBuffer.allocate(10).order(ByteOrder.LITTLE_ENDIAN);
+ buffer.setAutoExpand(true);
+ buffer.putShort((short)5);
+ buffer.putInt(0x12862153);
+ buffer.putLong(harvester.getObjectID());
+ buffer.putInt(0x48494E4F);
+ buffer.put((byte)7);
+ buffer.putInt(sizeP);
+ // dOut.writeInt(0x2D);
+ buffer.putShort((short)5);
+ buffer.putShort((short)6);
+ buffer.put(state);
+ buffer.putShort((short)9);
+ buffer.putFloat(harvester.getActualExtractionRate());
+ buffer.putShort((short)0x0C);
+ buffer.put(harvester.getUpdateCount());
+// buffer.putShort((short)0x0D);
+// buffer.putInt(iHopperList);
+// buffer.putInt(harvester.getResourceUpdateCount());
+ int sumOfHopper = 0;
+ int i = 0;
+ sumOfHopper = 0;
+ Vector outputHopper = harvester.getOutputHopperContent();
+ for (ResourceContainerObject cont : outputHopper){
+ sumOfHopper += cont.getStackCount();
+ i++;
+ }
+
+ buffer.putShort((short)0x0A);
+ buffer.putInt(sumOfHopper);
+ int size = buffer.position();
+ buffer.flip();
+ tools.CharonPacketUtils.printAnalysis(IoBuffer.allocate(size).put(buffer.array(), 0, size).flip());
+ return IoBuffer.allocate(size).put(buffer.array(), 0, size).flip();
+ }
+
+ public IoBuffer buildHINO7Delta2(HarvesterObject harvester,byte state) {
+
+ Vector outputHopperContent = harvester.getOutputHopperContent();
+ int hopperContentSize = outputHopperContent.size();
+ int iHopperList = 1;
+ if (hopperContentSize==0) {
+ iHopperList = 0;
+ }
+ int sizeP = 30 + 15*hopperContentSize;
+ //System.out.println("sizeP " + sizeP);
+ IoBuffer buffer = IoBuffer.allocate(10).order(ByteOrder.LITTLE_ENDIAN);
+ buffer.setAutoExpand(true);
+ buffer.putShort((short)5);
+ buffer.putInt(0x12862153);
+ buffer.putLong(harvester.getObjectID());
+ buffer.putInt(0x48494E4F);
+ buffer.put((byte)7);
+ buffer.putInt(sizeP);
+ // dOut.writeInt(0x2D);
+ buffer.putShort((short)5);
+ buffer.putShort((short)6);
+ buffer.put(state);
+ buffer.putShort((short)9);
+ buffer.putFloat(harvester.getActualExtractionRate());
+ buffer.putShort((short)0x0C);
+ buffer.put(harvester.getUpdateCount());
+ buffer.putShort((short)0x0D);
+ buffer.putInt(iHopperList);
+ buffer.putInt(harvester.getResourceUpdateCount());
+ int sumOfHopper = 0;
+
+ byte i = 0;
+ for (ResourceContainerObject container : outputHopperContent){
+ buffer.putShort((short)harvester.getResourceUpdateCount());
+ buffer.put(i);
+ buffer.putLong(container.getReferenceID());
+ buffer.putInt(container.getStackCount());
+ sumOfHopper += container.getStackCount();
+ i++;
+ }
+
+ buffer.putShort((short)0x0A);
+ buffer.putInt(sumOfHopper);
+ int size = buffer.position();
+ buffer.flip();
+ tools.CharonPacketUtils.printAnalysis(IoBuffer.allocate(size).put(buffer.array(), 0, size).flip());
+ return IoBuffer.allocate(size).put(buffer.array(), 0, size).flip();
+ }
+
+ // 2 + 2 + 1 + 2 + 4 + 2 + 1 + 2 + 4 + 4 + (hoppersize* 2+1+8+4=15) + 2 + 4
+
+// 0000: 05 00 53 21 86 12 33 01 0E BE 41 00 00 00 4F 4E ..S!..3...A...ON
+// 0010: 49 48 07 2D 00 00 00 05 00 06 00 01 09 00 3F AE IH.-..........?.
+// 0020: 2D 42 0C 00 02 0D 00 01 00 00 00 01 00 00 00 02 -B..............
+// 0030: 00 00 5E C8 62 AB 41 00 00 00 CC F1 0A 40 0A 00 ..^.b.A......@..
+// 0040: CC F1 0A 40 ...@
+
+ public IoBuffer buildHINO7EmptyHopperDelta(HarvesterObject harvester) {
+
+ IoBuffer buffer = IoBuffer.allocate(10).order(ByteOrder.LITTLE_ENDIAN);
+ buffer.setAutoExpand(true);
+ buffer.putShort((short)5);
+ buffer.putInt(0x12862153);
+ buffer.putLong(harvester.getObjectID());
+ buffer.putInt(0x48494E4F);
+ buffer.put((byte)7);
+ buffer.putInt(21);
+ buffer.putShort((short)3);
+ buffer.putShort((short)0x0C);
+ buffer.put((byte)harvester.getResourceUpdateCount());
+ buffer.putShort((short)0x0D);
+ buffer.putInt(0);
+ buffer.putInt(harvester.getResourceUpdateCount());
+ buffer.putShort((short)0x0A);
+ buffer.putFloat(harvester.getOutputHopperContent().size());
+
+ int size = buffer.position();
+ buffer.flip();
+ tools.CharonPacketUtils.printAnalysis(IoBuffer.allocate(size).put(buffer.array(), 0, size).flip());
+ return IoBuffer.allocate(size).put(buffer.array(), 0, size).flip();
+ }
+
+
+ public IoBuffer buildHINO7ExperimentalDelta(HarvesterObject harvester) {
+
+ IoBuffer buffer = IoBuffer.allocate(10).order(ByteOrder.LITTLE_ENDIAN);
+ buffer.setAutoExpand(true);
+ buffer.putShort((short)5);
+ buffer.putInt(0x12862153);
+ buffer.putLong(harvester.getObjectID());
+ buffer.putInt(0x48494E4F);
+ buffer.put((byte)7);
+ buffer.putInt(0x18);
+ buffer.putShort((short)3);
+ buffer.putShort((short)0x0C);
+ buffer.put((byte)harvester.getResourceUpdateCount());
+ buffer.putShort((short)0x0D);
+ buffer.putInt(1);
+ buffer.putInt(0x1E);
+ buffer.put((byte)0);
+ buffer.putShort((short)0);
+ buffer.putInt(harvester.getResourceUpdateCount());
+ buffer.putShort((short)0x0A);
+ buffer.putFloat(0); // since it's 0 outputhoppercontent
+
+ int size = buffer.position();
+ buffer.flip();
+ tools.CharonPacketUtils.printAnalysis(IoBuffer.allocate(size).put(buffer.array(), 0, size).flip());
+ return IoBuffer.allocate(size).put(buffer.array(), 0, size).flip();
+ }
+
+// 0000: 05 00 53 21 86 12 53 D0 AC 41 3F 00 00 00 4F 4E ..S!..S..A?...ON
+// 0010: 49 48 07 18 00 00 00 03 00 0C 00 25 0D 00 01 00 IH.........%....
+// 0020: 00 00 1E 00 00 00 00 00 00 0A 00 00 00 00 00 ...............
+
+
+ public IoBuffer buildHINO7ExperimentalDelta2(HarvesterObject harvester) {
+
+ int iHopperList = 0;
+ if (harvester.getOutputHopperContent().size() >= 1) {
+ iHopperList = 1;
+ }
+
+ IoBuffer buffer = IoBuffer.allocate(10).order(ByteOrder.LITTLE_ENDIAN);
+ buffer.setAutoExpand(true);
+ buffer.putShort((short)5);
+ buffer.putInt(0x12862153);
+ buffer.putLong(harvester.getObjectID());
+ buffer.putInt(0x48494E4F);
+ buffer.put((byte)7);
+
+ buffer.putInt(36);
+ buffer.putShort((short)3);
+ buffer.putShort((short)0x0C);
+ buffer.put(harvester.getUpdateCount());
+ buffer.putShort((short)0x0D);
+ buffer.putInt(iHopperList);
+ buffer.putInt(harvester.getResourceUpdateCount());
+ int i = 0;
+ int totalStackCount = 0;
+ Vector outputHopper = harvester.getOutputHopperContent();
+ for (ResourceContainerObject cont : outputHopper){
+ totalStackCount += cont.getStackCount();
+ if (cont.getReferenceID() == harvester.getSelectedHarvestResource().getId()) {
+ buffer.put((byte)2);
+ buffer.putShort((short) i);
+ buffer.putLong(cont.getReferenceID());
+ buffer.putFloat((float)cont.getStackCount());
+ //System.out.println("TOTAL STACKCOUNT " + (float)cont.getStackCount());
+ }
+ i++;
+ }
+
+ buffer.putShort((short)0x0A);
+ buffer.putFloat((float)totalStackCount);
+ int size = buffer.position();
+ buffer.flip();
+ tools.CharonPacketUtils.printAnalysis(IoBuffer.allocate(size).put(buffer.array(), 0, size).flip());
+ return IoBuffer.allocate(size).put(buffer.array(), 0, size).flip();
+ }
+
+ public IoBuffer buildHINO7ActivateDelta(HarvesterObject harvester) {
+
+ int iHopperList = 0;
+ if (harvester.getOutputHopperContent().size() >= 1) {
+ iHopperList = 1;
+ }
+ int factor = 0;
+ Vector outputHopper = harvester.getOutputHopperContent();
+ for (ResourceContainerObject cont : outputHopper){
+ if (cont.getReferenceID() == harvester.getSelectedHarvestResource().getId()) {
+ factor = 1;
+ }
+ }
+
+ byte iHopperUpdateCounter = harvester.getResourceUpdateCount();
+
+ IoBuffer buffer = IoBuffer.allocate(10).order(ByteOrder.LITTLE_ENDIAN);
+ buffer.setAutoExpand(true);
+ buffer.putShort((short)5);
+ buffer.putInt(0x12862153);
+ buffer.putLong(harvester.getObjectID());
+ buffer.putInt(0x48494E4F);
+ buffer.put((byte)7);
+ buffer.putInt(5+19+(15*factor));
+ buffer.putShort((short)5);
+ buffer.putShort((short)6);
+ buffer.put((byte)1);
+ // 2 + 4 + 4 + 2 + 4 + (15*h) = 16 + 2 + 1 = 19
+ buffer.putShort((short)0x0C);
+ buffer.put(harvester.getUpdateCount());
+ buffer.putShort((short)0x0D);
+ buffer.putInt(iHopperList);
+ buffer.putInt(iHopperUpdateCounter);
+ int totalStackCount = 0;
+
+ int i = 0;
+
+ for (ResourceContainerObject cont : outputHopper){
+ totalStackCount += cont.getStackCount();
+ if (cont.getReferenceID() == harvester.getSelectedHarvestResource().getId()) {
+ buffer.put((byte)2);
+ buffer.putShort((short) i);
+ buffer.putLong(cont.getReferenceID());
+ buffer.putFloat((float)cont.getStackCount());
+ }
+ i++;
+ }
+
+ buffer.putShort((short)0x0A);
+ buffer.putFloat((float)totalStackCount);
+
+ int size = buffer.position();
+ buffer.flip();
+ tools.CharonPacketUtils.printAnalysis(IoBuffer.allocate(size).put(buffer.array(), 0, size).flip());
+ return IoBuffer.allocate(size).put(buffer.array(), 0, size).flip();
+ }
+
+
+ public IoBuffer buildHINO7ActivateDelta2(HarvesterObject harvester) {
+
+ int iHopperList = 0;
+ if (harvester.getOutputHopperContent().size() >= 1) {
+ iHopperList = 1;
+ }
+
+ IoBuffer buffer = IoBuffer.allocate(10).order(ByteOrder.LITTLE_ENDIAN);
+ buffer.setAutoExpand(true);
+ buffer.putShort((short)5);
+ buffer.putInt(0x12862153);
+ buffer.putLong(harvester.getObjectID());
+ buffer.putInt(0x48494E4F);
+ buffer.put((byte)7);
+
+ buffer.putInt(11);
+ buffer.putShort((short)2);
+ buffer.putShort((short)6);
+ buffer.put((byte)1);
+ buffer.putShort((short)9);
+ buffer.putFloat(harvester.getActualExtractionRate());
+
+ int size = buffer.position();
+ buffer.flip();
+ tools.CharonPacketUtils.printAnalysis(IoBuffer.allocate(size).put(buffer.array(), 0, size).flip());
+ return IoBuffer.allocate(size).put(buffer.array(), 0, size).flip();
+ }
+//
+// 02 00 06 00 01 09 00 43 94 IH............C.
+// 0020: 59 42 YB
+
+ public IoBuffer buildHINO7ActivateDelta2old(HarvesterObject harvester) {
+
+ int iHopperList = 0;
+ if (harvester.getOutputHopperContent().size() >= 1) {
+ iHopperList = 1;
+ }
+
+ IoBuffer buffer = IoBuffer.allocate(10).order(ByteOrder.LITTLE_ENDIAN);
+ buffer.setAutoExpand(true);
+ buffer.putShort((short)5);
+ buffer.putInt(0x12862153);
+ buffer.putLong(harvester.getObjectID());
+ buffer.putInt(0x48494E4F);
+ buffer.put((byte)7);
+
+ buffer.putInt(5);
+ buffer.putShort((short)5);
+ buffer.putShort((short)6);
+ buffer.put((byte)1);
+
+ int size = buffer.position();
+ buffer.flip();
+ tools.CharonPacketUtils.printAnalysis(IoBuffer.allocate(size).put(buffer.array(), 0, size).flip());
+ return IoBuffer.allocate(size).put(buffer.array(), 0, size).flip();
+ }
+
+ public IoBuffer buildHINO7DeactivateDelta(HarvesterObject harvester) {
+
+ IoBuffer buffer = IoBuffer.allocate(10).order(ByteOrder.LITTLE_ENDIAN);
+ buffer.setAutoExpand(true);
+ buffer.putShort((short)5);
+ buffer.putInt(0x12862153);
+ buffer.putLong(harvester.getObjectID());
+ buffer.putInt(0x48494E4F);
+ buffer.put((byte)7);
+
+ buffer.putInt(14);
+ buffer.putShort((short)5);
+ buffer.putShort((short)6);
+ buffer.put((byte)0);
+ buffer.putShort((short)9);
+ buffer.putFloat(0);
+ buffer.putShort((short)0xC);
+ buffer.put((byte)5);
+
+ // new
+// buffer.putShort((short)6);
+// buffer.put((byte)0);
+// buffer.putShort((short)9);
+// buffer.put((byte)0);
+// buffer.putShort((short)0xC);
+// buffer.put((byte)5);
+
+ //
+
+ int size = buffer.position();
+ buffer.flip();
+ tools.CharonPacketUtils.printAnalysis(IoBuffer.allocate(size).put(buffer.array(), 0, size).flip());
+ return IoBuffer.allocate(size).put(buffer.array(), 0, size).flip();
+ }
+
+
+ public IoBuffer buildHINO7DeactivateDeltaold(HarvesterObject harvester) {
+
+ IoBuffer buffer = IoBuffer.allocate(10).order(ByteOrder.LITTLE_ENDIAN);
+ buffer.setAutoExpand(true);
+ buffer.putShort((short)5);
+ buffer.putInt(0x12862153);
+ buffer.putLong(harvester.getObjectID());
+ buffer.putInt(0x48494E4F);
+ buffer.put((byte)7);
+
+ buffer.putInt(5);
+ buffer.putShort((short)5);
+ buffer.putShort((short)6);
+ buffer.put((byte)0);
+
+ // new
+ buffer.putShort((short)6);
+ buffer.put((byte)0);
+ buffer.putShort((short)9);
+ buffer.put((byte)0);
+ buffer.putShort((short)0xC);
+ buffer.put((byte)5);
+
+ //
+
+ int size = buffer.position();
+ buffer.flip();
+ tools.CharonPacketUtils.printAnalysis(IoBuffer.allocate(size).put(buffer.array(), 0, size).flip());
+ return IoBuffer.allocate(size).put(buffer.array(), 0, size).flip();
+ }
+
+ public IoBuffer buildHINO7ClearDelta(HarvesterObject harvester) {
+
+ int iHopperList = 0;
+ if (harvester.getOutputHopperContent().size() >= 1) {
+ iHopperList = 1;
+ }
+
+ IoBuffer buffer = IoBuffer.allocate(10).order(ByteOrder.LITTLE_ENDIAN);
+ buffer.setAutoExpand(true);
+ buffer.putShort((short)5);
+ buffer.putInt(0x12862153);
+ buffer.putLong(harvester.getObjectID());
+ buffer.putInt(0x48494E4F);
+ buffer.put((byte)7);
+
+ buffer.putInt(36);
+ buffer.putShort((short)3);
+ buffer.putShort((short)0x0C);
+ buffer.put(harvester.getUpdateCount());
+ buffer.putShort((short)0x0D);
+ buffer.putInt(iHopperList);
+ buffer.putInt(harvester.getResourceUpdateCount());
+ buffer.put((byte)4);
+ buffer.putShort((short)0x0A);
+ buffer.putFloat((float)0.0F);
+ int size = buffer.position();
+ buffer.flip();
+ tools.CharonPacketUtils.printAnalysis(IoBuffer.allocate(size).put(buffer.array(), 0, size).flip());
+ return IoBuffer.allocate(size).put(buffer.array(), 0, size).flip();
+ }
+
+
+ public IoBuffer buildDiscardResourceResponse(HarvesterObject harvester, byte actionMode, byte actionCounter,CreatureObject owner) {
+
+ IoBuffer buffer = IoBuffer.allocate(10).order(ByteOrder.LITTLE_ENDIAN);
+ buffer.setAutoExpand(true);
+ buffer.putShort((short)5);
+ buffer.putInt(0x80CE5E46);
+ buffer.putInt(0x0B);
+ buffer.putInt(0xEE);
+ buffer.putLong(owner.getObjectID());
+ buffer.putInt(0);
+ buffer.putInt(0xED);
+ buffer.put((byte)1);
+ buffer.put(actionCounter);
+ int size = buffer.position();
+ buffer.flip();
+ tools.CharonPacketUtils.printAnalysis(IoBuffer.allocate(size).put(buffer.array(), 0, size).flip());
+ return IoBuffer.allocate(size).put(buffer.array(), 0, size).flip();
+ }
+
+//0000: 05 00 46 5E CE 80 0B 00 00 00 EE 00 00 00 62 5F ..F^..........b_
+//0010: 02 15 00 00 01 00 00 00 00 00 ED 00 00 00 01 01 ................
+// ^^ weird but works, should be zero allowed too
+
+ public IoBuffer buildBaseline8() {
+ IoBuffer buffer = bufferPool.allocate(2, false).order(ByteOrder.LITTLE_ENDIAN);
+ buffer.putShort((short) 0);
+ int size = buffer.position();
+ buffer = IoBuffer.allocate(size).put(buffer.array(), 0, size);
+ buffer.flip();
+ buffer = createBaseline("TANO", (byte) 8, buffer, size);
+
+ return buffer;
+ }
+
+ public IoBuffer buildBaseline9() {
+ IoBuffer buffer = bufferPool.allocate(2, false).order(ByteOrder.LITTLE_ENDIAN);
+ buffer.putShort((short) 0);
+ int size = buffer.position();
+ buffer = IoBuffer.allocate(size).put(buffer.array(), 0, size);
+ buffer.flip();
+ buffer = createBaseline("TANO", (byte) 9, buffer, size);
+
+ return buffer;
+ }
+
+
+ public IoBuffer buildHINOBaseline7(HarvesterObject harvester,Vector vSRD) {
+ IoBuffer buffer = IoBuffer.allocate(10).order(ByteOrder.LITTLE_ENDIAN);
+ buffer.setAutoExpand(true);
+ int sizeP = 74;
+
+ buffer.putShort((short)5);
+ buffer.putInt(0x68A75F0C);
+ buffer.putLong(harvester.getObjectID());
+ buffer.putInt(0x4F4E4948);
+ buffer.put((byte)7);
+
+ int iResourceCount = vSRD.size();
+ Vector outputHopperContent = harvester.getOutputHopperContent();
+ int hopperContentSize = outputHopperContent.size();
+ float outputHopperCount = 0;
+
+ //y = a + 4x + 16x + 12z = a + 20x + 12z
+ sizeP += (iResourceCount * 4);
+ sizeP += (iResourceCount * 16);
+
+ sizeP += (hopperContentSize * 12);
+
+ for (int i = 0; i < iResourceCount; i++) {
+ sizeP += vSRD.get(i).getName().length();
+ sizeP += vSRD.get(i).getFileName().length();
+ }
+
+ buffer.putInt(sizeP);
+
+ for (ResourceContainerObject container : outputHopperContent){
+ outputHopperCount += container.getStackCount();
+ }
+
+ buffer.putShort((short)0x0F);
+ buffer.put((byte)1);
+ buffer.putInt(iResourceCount);
+ buffer.putInt(iResourceCount);
+
+ for (int i = 0; i < iResourceCount; i++) {
+ buffer.putLong(vSRD.get(i).getId());
+ }
+ buffer.putInt(iResourceCount);
+
+ buffer.putInt(iResourceCount);
+
+ for (int i = 0; i < iResourceCount; i++) {
+ buffer.putLong(vSRD.get(i).getId());
+ }
+
+ buffer.putInt(iResourceCount);
+
+ buffer.putInt(iResourceCount);
+
+ for (int i = 0; i < iResourceCount; i++) {
+ buffer.put(getAsciiString(vSRD.get(i).getName()));
+ }
+
+ buffer.putInt(iResourceCount);
+ buffer.putInt(iResourceCount);
+ for (int i = 0; i < iResourceCount; i++) {
+ buffer.put(getAsciiString(vSRD.get(i).getFileName()));
+
+ }
+
+ if (harvester.getSelectedHarvestResource() != null) {
+ buffer.putLong(harvester.getSelectedHarvestResource().getId());
+ } else {
+ buffer.putLong(0);
+ }
+
+ buffer.put(harvester.isActivated() ? (byte)1 : (byte)0);
+
+ buffer.putInt(harvester.getSpecRate()); // SPEC RATE buffer.putInt(harvester.getBER());
+
+ buffer.putFloat(harvester.getBER());
+
+ buffer.putFloat(harvester.getActualExtractionRate());
+ buffer.putFloat(outputHopperCount);
+ buffer.putInt(harvester.getOutputHopperCapacity());
+ buffer.put(harvester.getUpdateCount());
+ buffer.putInt(hopperContentSize);
+ buffer.putInt(0);
+ for (ResourceContainerObject container : outputHopperContent){
+ buffer.putLong(container.getReferenceID());
+ buffer.putFloat(container.getStackCount());
+ }
+ buffer.put(harvester.getStructuralCondition());
+ int size = buffer.position();
+ buffer.flip();
+ tools.CharonPacketUtils.printAnalysis(IoBuffer.allocate(size).put(buffer.array(), 0, size).flip());
+ return IoBuffer.allocate(size).put(buffer.array(), 0, size).flip();
+ }
+
+ public IoBuffer buildCustomNameDelta(HarvesterObject harvester, String customName) {
+ IoBuffer buffer = IoBuffer.allocate(10).order(ByteOrder.LITTLE_ENDIAN);
+ buffer.setAutoExpand(true);
+ int sizeP = 8;
+ sizeP += 2*customName.length();
+ buffer.putShort((short)5);
+ buffer.putInt(0x12862153);
+ buffer.putLong(harvester.getObjectID());
+ buffer.putInt(0x54414E4F);
+ buffer.put((byte)3);
+ buffer.putInt(sizeP);
+ buffer.putShort((short)1);
+ buffer.putShort((short)2);
+ buffer.put(getUnicodeString(customName));
+ int size = buffer.position();
+ buffer.flip();
+ tools.CharonPacketUtils.printAnalysis(IoBuffer.allocate(size).put(buffer.array(), 0, size).flip());
+ return IoBuffer.allocate(size).put(buffer.array(), 0, size).flip();
+ }
+
+ public IoBuffer buildPermissionListCreate(HarvesterObject harvester, Vector permissionList, String listName) {
+ IoBuffer buffer = IoBuffer.allocate(10).order(ByteOrder.LITTLE_ENDIAN);
+ buffer.setAutoExpand(true);
+ int listSize = permissionList.size();
+ buffer.putShort((short)4);
+ buffer.putInt(0x52F364B8);
+ buffer.putInt(listSize);
+ for (String name : permissionList){
+ buffer.put(getUnicodeString(name));
+ }
+ //buffer.putInt(0x61);
+ buffer.putInt(0);
+ //buffer.putShort((short)0);
+ buffer.put(getUnicodeString(listName));
+ int size = buffer.position();
+ buffer.flip();
+ tools.CharonPacketUtils.printAnalysis(IoBuffer.allocate(size).put(buffer.array(), 0, size).flip());
+ return IoBuffer.allocate(size).put(buffer.array(), 0, size).flip();
+ }
+ /*
+ 0000: 04 00 B8 64 F3 52 01 00 00 00 06 00 00 00 63 00 ...d.R........c.
+ 0010: 68 00 61 00 72 00 6F 00 6E 00 00 00 00 00 05 00 h.a.r.o.n.......
+ 0020: 00 00 41 00 44 00 4D 00 49 00 4E 00 ..A.D.M.I.N.
+ */
+
+ // Send this in response to the Radial Menu to manage harvesters,
+ // it is necessary to send this *before* the 07 Baseline!
+ //ResourceHarvesterActivatePageMessage (BD18C679)
+ public IoBuffer buildResourceHarvesterActivatePageMessage(HarvesterObject harvester) {
+ IoBuffer buffer = IoBuffer.allocate(10).order(ByteOrder.LITTLE_ENDIAN);
+ buffer.setAutoExpand(true);
+ buffer.putShort((short)2);
+ buffer.putInt(0xBD18C679);
+ buffer.putLong(harvester.getObjectID());
+ int size = buffer.position();
+ buffer.flip();
+ tools.CharonPacketUtils.printAnalysis(IoBuffer.allocate(size).put(buffer.array(), 0, size).flip());
+ return IoBuffer.allocate(size).put(buffer.array(), 0, size).flip();
+ }
+
+ public IoBuffer buildHarvesterGetResourceData(HarvesterObject harvester,SWGObject owner,Vector planetResources) {
+ IoBuffer buffer = IoBuffer.allocate(10).order(ByteOrder.LITTLE_ENDIAN);
+ buffer.setAutoExpand(true);
+ buffer.putShort((short)5);
+ buffer.putInt(0x80CE5E46);
+ buffer.putInt(0x0B);
+ buffer.putInt(0x000000EA);
+ buffer.putLong(owner.getObjectID());
+ buffer.putInt(0);
+ buffer.putLong(harvester.getObjectID());
+ if (planetResources == null || planetResources.isEmpty()) {
+ buffer.putInt(0);
+ } else {
+ buffer.putInt(planetResources.size());
+ for (int i = 0; i < planetResources.size(); i++) {
+ float localConcentration = planetResources.get(i).deliverConcentrationForSurvey(owner.getPlanetId(), owner.getPosition().x, owner.getPosition().z);
+ buffer.putLong(planetResources.get(i).getId());
+ buffer.put(getAsciiString(planetResources.get(i).getName()));
+ buffer.put(getAsciiString(planetResources.get(i).getFileName()));
+ buffer.put((byte)localConcentration);
+ }
+ }
+
+ int size = buffer.position();
+ buffer.flip();
+ tools.CharonPacketUtils.printAnalysis(IoBuffer.allocate(size).put(buffer.array(), 0, size).flip());
+ return IoBuffer.allocate(size).put(buffer.array(), 0, size).flip();
+ }
+
+
+ @Override
+ public void sendListDelta(byte viewType, short updateType, IoBuffer buffer) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void sendBaselines() {
+
+ }
}
diff --git a/src/resources/objects/harvester/HarvesterObject.java b/src/resources/objects/harvester/HarvesterObject.java
index b31b40cf..8964d7e1 100644
--- a/src/resources/objects/harvester/HarvesterObject.java
+++ b/src/resources/objects/harvester/HarvesterObject.java
@@ -21,11 +21,391 @@
******************************************************************************/
package resources.objects.harvester;
+import java.util.Vector;
+
+import main.NGECore;
+
import com.sleepycat.persist.model.Persistent;
+import engine.clients.Client;
+import engine.resources.scene.Planet;
+import engine.resources.scene.Point3D;
+import engine.resources.scene.Quaternion;
+import resources.objects.creature.CreatureObject;
+import resources.objects.installation.InstallationMessageBuilder;
import resources.objects.installation.InstallationObject;
+import resources.objects.resource.GalacticResource;
+import resources.objects.resource.ResourceContainerObject;
+
+/**
+ * @author Charon
+ */
@Persistent(version=0)
public class HarvesterObject extends InstallationObject {
+
+ private HarvesterMessageBuilder messageBuilder;
+ private InstallationMessageBuilder installationMessageBuilder;
+
+ public final static byte HARVESTER_TYPE_MINERAL = 0;
+ public final static byte HARVESTER_TYPE_CHEMICAL = 1;
+ public final static byte HARVESTER_TYPE_FLORA = 2;
+ public final static byte HARVESTER_TYPE_GAS = 3;
+ public final static byte HARVESTER_TYPE_WATER = 4;
+ public final static byte HARVESTER_TYPE_SOLAR = 5;
+ public final static byte HARVESTER_TYPE_WIND = 6;
+ public final static byte HARVESTER_TYPE_FUSION = 7;
+ public final static byte HARVESTER_TYPE_GEO = 8;
+
+ public String[] mineral_type_iff = new String[]{"object/installation/mining_ore/shared_mining_ore_harvester_style_1.iff",
+ "object/installation/mining_ore/shared_mining_ore_harvester_style_2.iff",
+ "object/installation/mining_ore/shared_mining_ore_harvester_heavy.iff",
+ "object/installation/mining_ore/shared_mining_ore_harvester_elite.iff"};
+
+ public String[] chemical_type_iff = new String[]{"object/installation/mining_liquid/shared_mining_liquid_harvester_style_1.iff",
+ "object/installation/mining_liquid/shared_mining_liquid_harvester_style_2.iff",
+ "object/installation/mining_liquid/shared_mining_liquid_harvester_style_3.iff",
+ "object/installation/mining_liquid/shared_mining_liquid_harvester_style_4.iff"};
+
+ public String[] flora_type_iff = new String[]{"object/installation/mining_organic/shared_mining_organic_flora_farm.iff",
+ "object/installation/mining_organic/shared_mining_organic_flora_farm_medium.iff",
+ "object/installation/mining_organic/shared_mining_organic_flora_farm_heavy.iff",
+ "object/installation/mining_organic/shared_mining_organic_flora_farm_elite.iff"};
+
+ public String[] water_type_iff = new String[]{"object/installation/mining_liquid/shared_mining_liquid_moisture_harvester.iff",
+ "object/installation/mining_liquid/shared_mining_liquid_moisture_harvester_medium.iff",
+ "object/installation/mining_liquid/shared_mining_liquid_moisture_harvester_heavy.iff",
+ "object/installation/mining_liquid/shared_mining_liquid_moisture_harvester_elite.iff"};
+
+ public String[] gas_type_iff = new String[]{"object/installation/mining_gas/shared_mining_gas_harvester_style_1.iff",
+ "object/installation/mining_gas/shared_mining_gas_harvester_style_2.iff",
+ "object/installation/mining_gas/shared_mining_gas_harvester_style_3.iff",
+ "object/installation/mining_gas/shared_mining_gas_harvester_style_4.iff"};
+
+ public String[] wind_type_iff = new String[]{"object/installation/generators/shared_power_generator_wind_style_1.iff"};
+
+ public String[] solar_type_iff = new String[]{"object/installation/generators/shared_power_generator_solar_style_1.iff"};
+
+ public String[] fusion_type_iff = new String[]{"object/installation/generators/shared_power_generator_fusion_style_1.iff"};
+
+ public String[] geo_type_iff = new String[]{"object/installation/generators/shared_power_generator_geothermal_style_1.iff"};
+ //for nothing "object/installation/generators/shared_power_generator_photo_bio_style_1.iff"
+
+
+ public byte harvester_type = 0;
+ public byte harvester_size = 0;
+ private Vector outputHopperContent = new Vector();
+ private int outputHopperCapacity = 0;
+ private int BER = 0;
+ private float maintenanceAmount = 0;
+ private float powerLevel = 0;
+ private int powerCost = 0;
+ private int maintenanceCost = 0;
+ private byte structuralCondition = 100;
+ private boolean activated = false;
+ private boolean generator = false;
+ private GalacticResource selectedHarvestResource;
+ private float selectedResourceConcentration;
+ private byte updateCount;
+ private byte resourceUpdateCount;
+ private Vector adminList = new Vector();
+ private Vector hopperList = new Vector();
+ private long owner;
+ private float currentHarvestedCountFloat=0.0F;
+ private String deedTemplate;
+
+ private int specRate;
+
+
+ public HarvesterObject(long objectID, Planet planet, String template, Point3D position, Quaternion orientation){
+ super(objectID, planet, template, position, orientation);
+ this.setConditionDamage(100);
+ messageBuilder = new HarvesterMessageBuilder(this);
+ installationMessageBuilder = new InstallationMessageBuilder((InstallationObject)this);
+ }
+
+ public int getBER() {
+ return BER;
+ }
+
+
+ public void setBER(int baseExtractionRate) {
+ this.BER = baseExtractionRate;
+ }
+
+
+ public float getActualExtractionRate() {
+ //float resourceDraw = (getBER() * getSelectedResourceConcentration()) / 400; // /100
+ float resourceDraw = 1.5F*(getBER() * getSelectedResourceConcentration()) / 100;
+ // BER * concentration * publish 27 bonus * profession buffs = AER
+ // 14* 0.83 * 1.5 * 1.05 = 18.3015 AER
+ return resourceDraw;
+ }
+
+ public int getSpecRate() {
+ return specRate;
+ }
+
+ public void setSpecRate(int specRate) {
+ this.specRate = specRate;
+ }
+
+
+ public GalacticResource getSelectedHarvestResource() {
+ return selectedHarvestResource;
+ }
+
+
+ public void setSelectedHarvestResource(GalacticResource selectedHarvestResource,CreatureObject owner) {
+ this.selectedHarvestResource = selectedHarvestResource;
+ setSelectedResourceConcentration(selectedHarvestResource.deliverConcentrationForSurvey(this.getPlanetId(), this.getPosition().x, this.getPosition().z));
+
+ owner.getClient().getSession().write(installationMessageBuilder.constructINSO7Var1((InstallationObject) this,selectedHarvestResource.getObjectId()));
+ owner.getClient().getSession().write(installationMessageBuilder.constructINSO7Var2((InstallationObject) this,selectedHarvestResource.getObjectId()));
+ }
+
+
+ public float getSelectedResourceConcentration() {
+ return selectedResourceConcentration;
+ }
+
+
+ private void setSelectedResourceConcentration(float selectedResourceConcentration) {
+ this.selectedResourceConcentration = selectedResourceConcentration;
+ }
+
+
+ public void activateHarvester(CreatureObject owner){
+ activated = true;
+ this.setOwner(owner.getObjectID());
+ owner.getClient().getSession().write(messageBuilder.buildHINO3Delta(this,(byte)1));
+ owner.getClient().getSession().write(messageBuilder.buildHINO7ActivateDelta2(this));
+ }
+
+
+ public void deactivateHarvester(CreatureObject owner){
+ activated = false;
+ owner.getClient().getSession().write(messageBuilder.buildHINO3Delta2(this,(byte)0));
+ owner.getClient().getSession().write(messageBuilder.buildHINO7DeactivateDelta(this));
+ }
+
+
+ public boolean isActivated(){
+ return this.activated;
+ }
+
+
+ public byte getHarvester_type() {
+ return harvester_type;
+ }
+
+
+ public void setHarvester_type(byte harvester_type) {
+ this.harvester_type = harvester_type;
+ }
+
+
+ public Vector getOutputHopperContent() {
+ return outputHopperContent;
+ }
+
+
+ public void setOutputHopperContent(Vector outputHopperContent) {
+ this.outputHopperContent = outputHopperContent;
+ }
+
+
+ public byte getStructuralCondition() {
+ return structuralCondition;
+ }
+
+
+ public void setStructuralCondition(byte structuralCondition) {
+ this.structuralCondition = structuralCondition;
+ }
+
+
+ public int getOutputHopperCapacity() {
+ return outputHopperCapacity;
+ }
+
+
+ public void setOutputHopperCapacity(int outputHopperCapacity) {
+ this.outputHopperCapacity = outputHopperCapacity;
+ }
+
+
+ public byte getUpdateCount() {
+ if (updateCount>254) updateCount = 0;
+ return updateCount++;
+ }
+
+ public byte getResourceUpdateCount() {
+ if (resourceUpdateCount>254) resourceUpdateCount = 0;
+ return resourceUpdateCount++;
+ }
+
+
+ public void setUpdateCount(byte updateCount) {
+ this.updateCount = updateCount;
+ }
+
+
+ public Vector getAdminList() {
+ return adminList;
+ }
+
+
+ public void setAdminList(Vector adminList) {
+ this.adminList = adminList;
+ }
+
+
+ public Vector getHopperList() {
+ return hopperList;
+ }
+
+
+ public void setHopperList(Vector hopperList) {
+ this.hopperList = hopperList;
+ }
+
+
+ public float getPowerLevel() {
+ return powerLevel;
+ }
+
+
+ public void setPowerLevel(float energyLevel) {
+ this.powerLevel = energyLevel;
+ }
+
+
+ public float getMaintenanceAmount() {
+ return maintenanceAmount;
+ }
+
+
+ public void setMaintenanceAmount(float maintenanceAmount) {
+ this.maintenanceAmount = maintenanceAmount;
+ }
+
+ public int getPowerCost() {
+ return powerCost;
+ }
+
+
+ public void setPowerCost(int powerCost) {
+ this.powerCost = powerCost;
+ }
+
+
+ public int getMaintenanceCost() {
+ return maintenanceCost;
+ }
+
+
+ public void setMaintenanceCost(int maintenanceCost) {
+ this.maintenanceCost = maintenanceCost;
+ }
+
+
+ public float getCurrentHarvestedCountFloat() {
+ return currentHarvestedCountFloat;
+ }
+
+
+ public void setCurrentHarvestedCountFloat(float currentHarvestedCountFloat) {
+ this.currentHarvestedCountFloat = currentHarvestedCountFloat;
+ }
+
+
+ public long getOwner() {
+ return owner;
+ }
+
+
+ public void setOwner(long owner) {
+ this.owner = owner;
+ }
+
+ public void setDeedTemplate(String deedTemplate){
+ this.deedTemplate = deedTemplate;
+ }
+
+ public String getDeedTemplate(){
+ return this.deedTemplate;
+ }
+
+
+ public boolean isGenerator() {
+ return generator;
+ }
+
+ public void setGenerator(boolean generator) {
+ this.generator = generator;
+ }
+
+
+ public void setHarvesterName(String name,CreatureObject owner){
+ owner.getClient().getSession().write(messageBuilder.buildCustomNameDelta(this,name));
+ this.setCustomName(name);
+ ((CreatureObject)owner).sendSystemMessage("Structure renamed.", (byte) 0);
+ }
+
+ public void setPermissionAdmin(String name,CreatureObject owner){
+ Vector permissionList = this.getAdminList();
+ owner.getClient().getSession().write(messageBuilder.buildPermissionListCreate(this, permissionList, name));
+ }
+
+ public void setPermissionHopper(String name,CreatureObject owner){
+ Vector permissionList = this.getAdminList();
+ owner.getClient().getSession().write(messageBuilder.buildPermissionListCreate(this, permissionList, name));
+ }
+
+ public void operateMachinery(CreatureObject owner){
+ owner.getClient().getSession().write(messageBuilder.buildResourceHarvesterActivatePageMessage(this));
+ // Assemble resources at that spot
+ // For later, it might be needed to also pass the template to differentiate liquid resources
+ Vector planetResourcesVector = NGECore.getInstance().resourceService.getSpawnedResourcesByPlanetAndHarvesterType(this.getPlanetId(),this.getHarvester_type());
+ owner.getClient().getSession().write(messageBuilder.buildHarvesterGetResourceData(this, owner, planetResourcesVector));
+ owner.getClient().getSession().write(messageBuilder.buildHINOBaseline7(this, planetResourcesVector));
+ }
+
+ public void deActivate(){
+ NGECore.getInstance().objectService.getObject(owner).getClient().getSession().write(messageBuilder.buildResourceHarvesterActivatePageMessage(this));
+ }
+
+ public void placeHarvester(){
+ NGECore.getInstance().objectService.getObject(owner).getClient().getSession().write(messageBuilder.buildResourceHarvesterActivatePageMessage(this));
+ }
+
+ public void createNewHopperContainer(){
+ Vector planetResourcesVector = NGECore.getInstance().resourceService.getSpawnedResourcesByPlanetAndHarvesterType(this.getPlanetId(),this.getHarvester_type());
+ NGECore.getInstance().objectService.getObject(owner).getClient().getSession().write(messageBuilder.buildHINOBaseline7(this, planetResourcesVector));
+ NGECore.getInstance().objectService.getObject(owner).getClient().getSession().write(messageBuilder.buildHINO7Delta(this,(byte)1));
+ }
+
+ public void continueHopperContainer(){
+ Vector planetResourcesVector = NGECore.getInstance().resourceService.getSpawnedResourcesByPlanetAndHarvesterType(this.getPlanetId(),this.getHarvester_type());
+ NGECore.getInstance().objectService.getObject(owner).getClient().getSession().write(messageBuilder.buildHarvesterGetResourceData(this, NGECore.getInstance().objectService.getObject(owner), planetResourcesVector));
+ NGECore.getInstance().objectService.getObject(owner).getClient().getSession().write(messageBuilder.buildHINOBaseline7(this, planetResourcesVector));
+ }
+
+ @Override
+ public void sendBaselines(Client destination) {
+
+
+ if(destination == null || destination.getSession() == null) {
+ System.out.println("NULL destination");
+ return;
+ }
+
+ destination.getSession().write(installationMessageBuilder.buildBaseline3(this));
+ //destination.getSession().write(installationMessageBuilder.buildBaseline6(this));
+ //destination.getSession().write(installationMessageBuilder.buildBaseline8());
+ //destination.getSession().write(installationMessageBuilder.buildBaseline9());
+
+ }
}
diff --git a/src/resources/objects/installation/InstallationMessageBuilder.java b/src/resources/objects/installation/InstallationMessageBuilder.java
index f7902d4e..f9fe356d 100644
--- a/src/resources/objects/installation/InstallationMessageBuilder.java
+++ b/src/resources/objects/installation/InstallationMessageBuilder.java
@@ -21,6 +21,205 @@
******************************************************************************/
package resources.objects.installation;
-public class InstallationMessageBuilder {
+import java.nio.ByteOrder;
+import org.apache.mina.core.buffer.IoBuffer;
+import resources.objects.ObjectMessageBuilder;
+import resources.objects.harvester.HarvesterObject;
+/**
+ * @author Charon
+ */
+
+public class InstallationMessageBuilder extends ObjectMessageBuilder{
+
+ public InstallationMessageBuilder(InstallationObject installationObject) {
+ setObject(installationObject);
+ }
+
+ public IoBuffer buildBaseline3(InstallationObject installationObject) {
+ IoBuffer buffer = bufferPool.allocate(10, false).order(ByteOrder.LITTLE_ENDIAN);
+ buffer.setAutoExpand(true);
+ int packSize = 66;
+ packSize += installationObject.getStfName().length();
+ packSize += installationObject.getStfFilename().length();
+
+ buffer.putShort((short)5);
+ buffer.putInt(0x68A75F0C);
+ buffer.putLong(installationObject.getObjectID());
+ buffer.putInt(0x494E534F);
+ buffer.put((byte)3);
+ buffer.putInt(packSize);
+ buffer.putShort((short) 0x05);
+ buffer.putFloat(installationObject.getComplexity());
+ buffer.put(getAsciiString(installationObject.getStfFilename())); // installation_n
+ buffer.putInt(0);
+ buffer.put(getAsciiString(installationObject.getStfName()));
+ buffer.put(getUnicodeString(""));//buffer.put(getUnicodeString(installationObject.getCustomName()));
+ buffer.putInt(1);// int 1 // oper 3
+ buffer.putShort((short)0);
+
+ buffer.putInt(0);
+ buffer.putInt(0);
+ buffer.putLong(0);
+
+ buffer.putInt(0);
+ buffer.putInt(0);
+ buffer.putInt(0);
+ buffer.putInt(0);
+ buffer.put((byte)1);
+ buffer.put((byte)0);
+ buffer.putFloat(0.0F);
+ buffer.putFloat(0.0F);
+
+ int size = buffer.position();
+ buffer.flip();
+ tools.CharonPacketUtils.printAnalysis(IoBuffer.allocate(size).put(buffer.array(), 0, size).flip());
+ return IoBuffer.allocate(size).put(buffer.array(), 0, size).flip();
+ }
+
+// 0000: 05 00 0C 5F A7 68 82 EC 7D 16 00 00 02 00 4F 53 ..._.h..}.....OS
+// 0010: 4E 49 06 0E 00 00 00 05 00 76 00 00 00 00 00 00 NI.......v......
+// 0020: 00 01 00 00 00 .....
+
+ public IoBuffer buildBaseline6(InstallationObject installationObject) {
+ IoBuffer buffer = bufferPool.allocate(10, false).order(ByteOrder.LITTLE_ENDIAN);
+ buffer.setAutoExpand(true);
+ int packSize = 14;
+ buffer.putShort((short)5);
+ buffer.putInt(0x68A75F0C);
+ buffer.putLong(installationObject.getObjectID());
+ buffer.putInt(0x494E534F);
+ buffer.put((byte)6);
+ buffer.putInt(packSize);
+ buffer.putShort((short)5);
+ buffer.putInt(0x76);
+ buffer.putInt(0);
+ buffer.putInt(1);
+
+ int size = buffer.position();
+ buffer.flip();
+ tools.CharonPacketUtils.printAnalysis(IoBuffer.allocate(size).put(buffer.array(), 0, size).flip());
+ return IoBuffer.allocate(size).put(buffer.array(), 0, size).flip();
+ }
+
+
+ public IoBuffer buildBaseline7() {
+ IoBuffer buffer = bufferPool.allocate(2, false).order(ByteOrder.LITTLE_ENDIAN);
+ buffer.putShort((short) 0);
+ int size = buffer.position();
+ buffer = IoBuffer.allocate(size).put(buffer.array(), 0, size);
+ buffer.flip();
+ buffer = createBaseline("INSO", (byte) 7, buffer, size);
+
+ return buffer;
+ }
+
+ public IoBuffer buildBaseline8() {
+ IoBuffer buffer = bufferPool.allocate(2, false).order(ByteOrder.LITTLE_ENDIAN);
+ buffer.putShort((short) 0);
+ int size = buffer.position();
+ buffer = IoBuffer.allocate(size).put(buffer.array(), 0, size);
+ buffer.flip();
+ buffer = createBaseline("INSO", (byte) 8, buffer, size);
+
+ return buffer;
+ }
+
+ public IoBuffer buildBaseline9() {
+ IoBuffer buffer = bufferPool.allocate(2, false).order(ByteOrder.LITTLE_ENDIAN);
+ buffer.putShort((short) 0);
+ int size = buffer.position();
+ buffer = IoBuffer.allocate(size).put(buffer.array(), 0, size);
+ buffer.flip();
+ buffer = createBaseline("INSO", (byte) 9, buffer, size);
+
+ return buffer;
+ }
+
+ public IoBuffer buildDelta3(InstallationObject installationObject,IoBuffer packet,int packSize) {
+ IoBuffer buffer = bufferPool.allocate(10, false).order(ByteOrder.LITTLE_ENDIAN);
+ buffer.setAutoExpand(true);
+ buffer.putShort((short)5);
+ buffer.putInt(0x12862153);
+ buffer.putLong(installationObject.getObjectID());
+ buffer.putInt(0x494E534F);
+ buffer.put((byte)3);
+ buffer.putInt(packSize);
+ buffer.put(packet);
+ int size = buffer.position();
+ buffer.flip();
+ tools.CharonPacketUtils.printAnalysis(IoBuffer.allocate(size).put(buffer.array(), 0, size).flip());
+ return IoBuffer.allocate(size).put(buffer.array(), 0, size).flip();
+ }
+
+ public IoBuffer buildDelta7(InstallationObject installationObject,IoBuffer packet,int packSize) {
+ IoBuffer buffer = bufferPool.allocate(10, false).order(ByteOrder.LITTLE_ENDIAN);
+ buffer.setAutoExpand(true);
+ buffer.putShort((short)5);
+ buffer.putInt(0x12862153);
+ buffer.putLong(installationObject.getObjectID());
+ buffer.putInt(0x494E534F);
+ buffer.put((byte)7);
+ buffer.putInt(packSize);
+ buffer.put(packet);
+ int size = buffer.position();
+ buffer.flip();
+ tools.CharonPacketUtils.printAnalysis(IoBuffer.allocate(size).put(buffer.array(), 0, size).flip());
+ return IoBuffer.allocate(size).put(buffer.array(), 0, size).flip();
+ }
+
+ public IoBuffer constructINSO7Var1(InstallationObject installationObject,long selectedResource) {
+ IoBuffer buffer = bufferPool.allocate(10, false).order(ByteOrder.LITTLE_ENDIAN);
+ int hopperContentsSize = ((HarvesterObject)installationObject).getOutputHopperContent().size()+1;
+ byte updateCounter = ((HarvesterObject)installationObject).getUpdateCount();
+
+ buffer.setAutoExpand(true);
+ buffer.putShort((short)2); // buffer.putShort((short)updateCounter);
+ buffer.putShort((short)0xC);
+ buffer.put((byte)1);
+ buffer.putShort((short)0xD);
+
+ buffer.putInt(1);//buffer.putInt(hopperContentsSize); // works once with 1! HopperContentsSize->Number of resources in hopper
+ buffer.putInt(2); // UpdateCounter works once with 2!
+ buffer.put((byte)1); // subtype : ADD
+ buffer.putShort((short)0); // index was 0 buffer.putShort((short)(hopperContentsSize-1));
+ buffer.putLong(selectedResource);
+ buffer.putFloat(0);
+ int size = buffer.position();
+ buffer.flip();
+ return buildDelta7(installationObject,IoBuffer.allocate(size).put(buffer.array(), 0, size).flip(),size);
+ }
+
+// 0000: 05 00 53 21 86 12 82 EC 7D 16 00 00 02 00 4F 53 ..S!....}.....OS
+// 0010: 4E 49 07 1E 00 00 00 02 00 0C 00 01 0D 00 01 00 NI..............
+// 0020: 00 00 02 00 00 00 01 00 00 8A D3 79 16 00 00 0F ...........y....
+// 0030: 00 00 00 00 00 .....
+
+ public IoBuffer constructINSO7Var2(InstallationObject installationObject,long selectedResource) {
+ IoBuffer buffer = bufferPool.allocate(10, false).order(ByteOrder.LITTLE_ENDIAN);
+ buffer.setAutoExpand(true);
+ buffer.putShort((short)2);
+ buffer.putShort((short)0x9);
+ buffer.putFloat(0);
+ buffer.putShort((short)0x5);
+ buffer.putLong(selectedResource);
+ int size = buffer.position();
+ buffer.flip();
+ return buildDelta7(installationObject,IoBuffer.allocate(size).put(buffer.array(), 0, size).flip(),size);
+ }
+
+// 0000: 05 00 53 21 86 12 82 EC 7D 16 00 00 02 00 4F 53 ..S!....}.....OS
+// 0010: 4E 49 07 12 00 00 00 02 00 09 00 00 00 00 00 05 NI..............
+// 0020: 00 8A D3 79 16 00 00 0F 00 ...y.....
+
+ @Override
+ public void sendListDelta(byte viewType, short updateType, IoBuffer buffer) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void sendBaselines() {
+
+ }
}
diff --git a/src/resources/objects/installation/InstallationObject.java b/src/resources/objects/installation/InstallationObject.java
index 728de4a9..4d78229d 100644
--- a/src/resources/objects/installation/InstallationObject.java
+++ b/src/resources/objects/installation/InstallationObject.java
@@ -21,11 +21,23 @@
******************************************************************************/
package resources.objects.installation;
-import com.sleepycat.persist.model.Persistent;
+import com.sleepycat.persist.model.Entity;
+import engine.clients.Client;
+import engine.resources.scene.Planet;
+import engine.resources.scene.Point3D;
+import engine.resources.scene.Quaternion;
import resources.objects.tangible.TangibleObject;
-@Persistent(version=0)
+@Entity(version=0)
public class InstallationObject extends TangibleObject {
-
-}
+
+ public InstallationObject(long objectID, Planet planet, String template, Point3D position, Quaternion orientation){
+ super(objectID, planet, template, position, orientation);
+ }
+
+ @Override
+ public void sendBaselines(Client destination) {
+
+ }
+}
\ No newline at end of file
diff --git a/src/resources/objects/loot/LootDrop.java b/src/resources/objects/loot/LootDrop.java
new file mode 100644
index 00000000..371c1727
--- /dev/null
+++ b/src/resources/objects/loot/LootDrop.java
@@ -0,0 +1,51 @@
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
+package resources.objects.loot;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class LootDrop {
+
+ private List elements = new ArrayList();
+ private String droppedItemTemplate;
+
+ public LootDrop(){
+
+ }
+
+ public void addElement(String element){
+ elements.add(element);
+ }
+
+ public List getElements(){
+ return elements;
+ }
+
+ public String getDroppedItemTemplate() {
+ return droppedItemTemplate;
+ }
+
+ public void setDroppedItemTemplate(String droppedItemTemplate) {
+ this.droppedItemTemplate = droppedItemTemplate;
+ }
+}
diff --git a/src/resources/objects/loot/LootGroup.java b/src/resources/objects/loot/LootGroup.java
new file mode 100644
index 00000000..e349eaac
--- /dev/null
+++ b/src/resources/objects/loot/LootGroup.java
@@ -0,0 +1,64 @@
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
+package resources.objects.loot;
+
+import com.sleepycat.persist.model.Persistent;
+
+/**
+ * @author Charon
+ */
+
+@Persistent(version=0)
+public class LootGroup {
+
+ private String[] lootPoolNames;
+ private int[] lootPoolChances;
+ private int lootGroupChance;
+
+ public LootGroup(){
+
+ }
+
+ public LootGroup(String[] lootPoolNames, int[] lootPoolChances, int lootGroupChance){
+ this.lootPoolNames = lootPoolNames;
+ this.lootPoolChances = lootPoolChances;
+ this.lootGroupChance = lootGroupChance;
+ }
+
+ public void addLootData(String[] lootPoolNames, int[] lootPoolChances, int lootGroupChance){
+ this.lootPoolNames = lootPoolNames;
+ this.lootPoolChances = lootPoolChances;
+ this.lootGroupChance = lootGroupChance;
+ }
+
+ public String[] getLootPoolNames() {
+ return lootPoolNames;
+ }
+
+ public int[] getLootPoolChances() {
+ return lootPoolChances;
+ }
+
+ public int getLootGroupChance() {
+ return lootGroupChance;
+ }
+}
diff --git a/src/resources/z/exp/objects/Builder.java b/src/resources/objects/loot/LootPool.java
similarity index 90%
rename from src/resources/z/exp/objects/Builder.java
rename to src/resources/objects/loot/LootPool.java
index 8bc6b647..2e74cf8b 100644
--- a/src/resources/z/exp/objects/Builder.java
+++ b/src/resources/objects/loot/LootPool.java
@@ -19,10 +19,15 @@
* Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
* Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
******************************************************************************/
-package resources.z.exp.objects;
+package resources.objects.loot;
-public interface Builder {
-
- public byte[] build();
+/**
+ * @author Charon
+ */
+
+public class LootPool {
+ public LootPool(){
+
+ }
}
diff --git a/src/resources/objects/loot/LootRollSession.java b/src/resources/objects/loot/LootRollSession.java
new file mode 100644
index 00000000..884346ba
--- /dev/null
+++ b/src/resources/objects/loot/LootRollSession.java
@@ -0,0 +1,163 @@
+/*******************************************************************************
+ * Copyright (c) 2013
+ *
+ * This File is part of NGECore2.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
+ * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
+ ******************************************************************************/
+package resources.objects.loot;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import engine.resources.scene.Planet;
+import main.NGECore;
+import resources.objects.creature.CreatureObject;
+import resources.objects.group.GroupObject;
+import resources.objects.tangible.TangibleObject;
+
+/**
+ * @author Charon
+ */
+
+public class LootRollSession {
+
+ private String SessionID; // leaderName-SystemTime
+ private boolean sessionValid;
+ private GroupObject playerGroup;
+ private CreatureObject requester;
+ private List droppedItems;
+ private Planet sessionPlanet;
+ private List errorMessages;
+ private int sessionLootMode;
+ private boolean allowRareLoot;
+ private boolean increasedRLSChance;
+
+ public LootRollSession(){
+ }
+
+ public LootRollSession(CreatureObject requester, TangibleObject lootedObject){
+ long requesterGroupId = requester.getGroupId();
+ if (requesterGroupId>0){
+ this.playerGroup = (GroupObject) NGECore.getInstance().objectService.getObject(requesterGroupId);
+ this.SessionID = playerGroup.getGroupLeader().getCustomName()+"-"+System.currentTimeMillis();
+
+ } else {
+ this.SessionID = requester.getCustomName()+"-"+System.currentTimeMillis();
+ }
+
+ if (lootedObject instanceof CreatureObject){
+ CreatureObject lootedCreature = (CreatureObject)lootedObject;
+ // Exclude rare loot depending on creature level
+ // For groups maybe average CL?
+ if (requester.getLevel()-lootedCreature.getLevel()<=6){
+ this.setAllowRareLoot(true);
+ }
+ }
+
+ // Group situation
+ if (this.getPlayerGroup()!=null){
+ if (this.getPlayerGroup().getMemberList().size()>=4)
+ this.setIncreasedRLSChance(true);
+ }
+
+ // Possible AFKer check here
+
+
+ droppedItems = new ArrayList();
+ errorMessages = new ArrayList