From 161a64bcd0f650f02955362bc331a0383c8cc534 Mon Sep 17 00:00:00 2001 From: CharonInferar Date: Tue, 15 Apr 2014 04:34:50 +0200 Subject: [PATCH] More loot items added Tusken Raider Clothing Gaffis CDEF Rifles Worked on weapon drops and giving them stats Refactored the item scripts to use lists to allow random templates Tweaked the drop chances to be close to how they were in live --- scripts/loot/lootItems/armor/placeholder.py | 0 .../clothes/tusken_raider_bandolier.py | 8 ++ .../lootItems/clothes/tusken_raider_boots.py | 8 ++ .../lootItems/clothes/tusken_raider_dress.py | 8 ++ .../lootItems/clothes/tusken_raider_gloves.py | 8 ++ .../lootItems/clothes/tusken_raider_helmet.py | 8 ++ scripts/loot/lootItems/colorcrystal.py | 19 +-- scripts/loot/lootItems/junk/antenna.py | 2 +- .../lootItems/junk/armor_repair_device.py | 2 +- scripts/loot/lootItems/junk/brain.py | 2 +- .../loot/lootItems/junk/chassis_blueprint.py | 2 +- scripts/loot/lootItems/junk/comlink.py | 2 +- .../loot/lootItems/junk/damaged_datapad.py | 2 +- scripts/loot/lootItems/junk/ear_jewel.py | 2 +- scripts/loot/lootItems/junk/explosive_dud.py | 2 +- scripts/loot/lootItems/junk/eye.py | 2 +- scripts/loot/lootItems/junk/gland.py | 2 +- scripts/loot/lootItems/junk/heart.py | 2 +- .../loot/lootItems/junk/hyperdrive_unit.py | 2 +- scripts/loot/lootItems/junk/id_chip.py | 2 +- .../loot/lootItems/junk/impulse_detector.py | 2 +- scripts/loot/lootItems/junk/laser_trap.py | 2 +- scripts/loot/lootItems/junk/launcher_tube.py | 2 +- scripts/loot/lootItems/junk/ledger.py | 2 +- .../loot/lootItems/junk/magseal_detector.py | 2 +- .../loot/lootItems/junk/medical_console.py | 2 +- scripts/loot/lootItems/junk/medical_device.py | 2 +- scripts/loot/lootItems/junk/motor.py | 2 +- .../lootItems/junk/power_output_analyzer.py | 2 +- scripts/loot/lootItems/junk/red_wiring.py | 2 +- scripts/loot/lootItems/junk/shield_module.py | 2 +- .../loot/lootItems/junk/software_module.py | 2 +- scripts/loot/lootItems/junk/stomach.py | 2 +- scripts/loot/lootItems/junk/survival_gear.py | 2 +- .../lootItems/junk/underpowered_survey_pad.py | 2 +- .../lootItems/junk/unidentified_serum_vial.py | 2 +- scripts/loot/lootItems/junk/used_notebook.py | 2 +- .../loot/lootItems/junk/weak_droid_battery.py | 2 +- .../loot/lootItems/junk/worklight_generic.py | 19 +-- scripts/loot/lootItems/kraytpearl_cracked.py | 2 +- scripts/loot/lootItems/kraytpearl_fair.py | 2 +- scripts/loot/lootItems/kraytpearl_flawless.py | 2 +- scripts/loot/lootItems/kraytpearl_good.py | 2 +- scripts/loot/lootItems/kraytpearl_poor.py | 2 +- scripts/loot/lootItems/kraytpearl_premium.py | 2 +- scripts/loot/lootItems/kraytpearl_quality.py | 2 +- .../loot/lootItems/kraytpearl_scratched.py | 2 +- scripts/loot/lootItems/kraytpearl_select.py | 2 +- scripts/loot/lootItems/powercrystal_fair.py | 2 +- .../loot/lootItems/powercrystal_flawless.py | 2 +- scripts/loot/lootItems/powercrystal_good.py | 2 +- .../loot/lootItems/powercrystal_perfect.py | 2 +- scripts/loot/lootItems/powercrystal_poor.py | 2 +- .../loot/lootItems/powercrystal_premium.py | 2 +- .../loot/lootItems/powercrystal_quality.py | 2 +- scripts/loot/lootItems/powercrystal_select.py | 2 +- scripts/loot/lootItems/rarelootchest1.py | 2 +- scripts/loot/lootItems/rarelootchest2.py | 2 +- .../lootItems/weapons/adjusted_cdef_rifle.py | 35 ++++++ .../loot/lootItems/weapons/gaderiffi_baton.py | 35 ++++++ .../lootItems/weapons/shared_rifle_cdef.py | 8 +- scripts/loot/lootPools/batons.py | 8 ++ scripts/loot/lootPools/random_loot_rifles.py | 8 ++ scripts/loot/lootPools/tusken_clothing.py | 0 .../loot/lootPools/tusken_raider_clothing.py | 6 + scripts/mobiles/tatooine/tusken_raider.py | 5 +- scripts/object/mobile/tusken_raider.py | 18 ++- src/services/LootService.java | 114 ++++++++++++++---- 68 files changed, 292 insertions(+), 123 deletions(-) create mode 100644 scripts/loot/lootItems/armor/placeholder.py create mode 100644 scripts/loot/lootItems/clothes/tusken_raider_bandolier.py create mode 100644 scripts/loot/lootItems/clothes/tusken_raider_boots.py create mode 100644 scripts/loot/lootItems/clothes/tusken_raider_dress.py create mode 100644 scripts/loot/lootItems/clothes/tusken_raider_gloves.py create mode 100644 scripts/loot/lootItems/clothes/tusken_raider_helmet.py create mode 100644 scripts/loot/lootItems/weapons/adjusted_cdef_rifle.py create mode 100644 scripts/loot/lootItems/weapons/gaderiffi_baton.py create mode 100644 scripts/loot/lootPools/batons.py create mode 100644 scripts/loot/lootPools/random_loot_rifles.py create mode 100644 scripts/loot/lootPools/tusken_clothing.py create mode 100644 scripts/loot/lootPools/tusken_raider_clothing.py diff --git a/scripts/loot/lootItems/armor/placeholder.py b/scripts/loot/lootItems/armor/placeholder.py new file mode 100644 index 00000000..e69de29b 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..41e4b5b6 --- /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 '' 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..c6eaa937 --- /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 '' 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..35cec848 --- /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 '' 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..690f9471 --- /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 '' 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..5187c38b --- /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 '' diff --git a/scripts/loot/lootItems/colorcrystal.py b/scripts/loot/lootItems/colorcrystal.py index cce04300..1458e1be 100644 --- a/scripts/loot/lootItems/colorcrystal.py +++ b/scripts/loot/lootItems/colorcrystal.py @@ -1,21 +1,4 @@ def itemTemplate(): - return 'object/tangible/component/weapon/lightsaber/shared_lightsaber_module_force_crystal.iff' - -def customItemName(): - - return '' - -def customItemStackCount(): - - return 1 - -def customizationAttributes(): - - return [] - -def customizationValues(): - - return [] - + return ['object/tangible/component/weapon/lightsaber/shared_lightsaber_module_force_crystal.iff'] diff --git a/scripts/loot/lootItems/junk/antenna.py b/scripts/loot/lootItems/junk/antenna.py index 747de5b7..64a11ec4 100644 --- a/scripts/loot/lootItems/junk/antenna.py +++ b/scripts/loot/lootItems/junk/antenna.py @@ -1,4 +1,4 @@ def itemTemplate(): - return 'object/tangible/loot/creature_loot/generic/shared_generic_antennae.iff' + return ['object/tangible/loot/creature_loot/generic/shared_generic_antennae.iff'] diff --git a/scripts/loot/lootItems/junk/armor_repair_device.py b/scripts/loot/lootItems/junk/armor_repair_device.py index 713dc0ce..65252c39 100644 --- a/scripts/loot/lootItems/junk/armor_repair_device.py +++ b/scripts/loot/lootItems/junk/armor_repair_device.py @@ -1,4 +1,4 @@ def itemTemplate(): - return 'object/tangible/loot/npc_loot/shared_armor_repair_device_generic.iff' + return ['object/tangible/loot/npc_loot/shared_armor_repair_device_generic.iff'] diff --git a/scripts/loot/lootItems/junk/brain.py b/scripts/loot/lootItems/junk/brain.py index bb01bf52..107add91 100644 --- a/scripts/loot/lootItems/junk/brain.py +++ b/scripts/loot/lootItems/junk/brain.py @@ -1,7 +1,7 @@ def itemTemplate(): - return 'object/tangible/loot/creature_loot/generic/shared_brain_s01.iff' + return ['object/tangible/loot/creature_loot/generic/shared_brain_s01.iff'] def customItemName(): diff --git a/scripts/loot/lootItems/junk/chassis_blueprint.py b/scripts/loot/lootItems/junk/chassis_blueprint.py index b876b351..98b2e26f 100644 --- a/scripts/loot/lootItems/junk/chassis_blueprint.py +++ b/scripts/loot/lootItems/junk/chassis_blueprint.py @@ -1,7 +1,7 @@ def itemTemplate(): - return 'object/tangible/loot/generic_usable/shared_chassis_blueprint_usuable.iff' + return ['object/tangible/loot/generic_usable/shared_chassis_blueprint_usuable.iff'] def customItemName(): diff --git a/scripts/loot/lootItems/junk/comlink.py b/scripts/loot/lootItems/junk/comlink.py index 648802c6..ac3ff538 100644 --- a/scripts/loot/lootItems/junk/comlink.py +++ b/scripts/loot/lootItems/junk/comlink.py @@ -1,7 +1,7 @@ def itemTemplate(): - return 'object/tangible/loot/npc_loot/shared_comlink_civilian_generic.iff' + return ['object/tangible/loot/npc_loot/shared_comlink_civilian_generic.iff'] def customItemName(): diff --git a/scripts/loot/lootItems/junk/damaged_datapad.py b/scripts/loot/lootItems/junk/damaged_datapad.py index 4fc1a9a9..d1773502 100644 --- a/scripts/loot/lootItems/junk/damaged_datapad.py +++ b/scripts/loot/lootItems/junk/damaged_datapad.py @@ -1,7 +1,7 @@ def itemTemplate(): - return 'object/tangible/loot/misc/shared_damaged_datapad.iff' + return ['object/tangible/loot/misc/shared_damaged_datapad.iff'] def customItemName(): diff --git a/scripts/loot/lootItems/junk/ear_jewel.py b/scripts/loot/lootItems/junk/ear_jewel.py index abe14c33..02a39e85 100644 --- a/scripts/loot/lootItems/junk/ear_jewel.py +++ b/scripts/loot/lootItems/junk/ear_jewel.py @@ -1,4 +1,4 @@ def itemTemplate(): - return '/object/tangible/loot/npc_loot/shared_jewelry_ear_s02.iff' + return ['/object/tangible/loot/npc_loot/shared_jewelry_ear_s02.iff'] diff --git a/scripts/loot/lootItems/junk/explosive_dud.py b/scripts/loot/lootItems/junk/explosive_dud.py index bc7091a7..b0208102 100644 --- a/scripts/loot/lootItems/junk/explosive_dud.py +++ b/scripts/loot/lootItems/junk/explosive_dud.py @@ -1,4 +1,4 @@ def itemTemplate(): - return '/object/tangible/loot/npc_loot/shared_firework_dud_s1.iff' + return ['/object/tangible/loot/npc_loot/shared_firework_dud_s1.iff'] diff --git a/scripts/loot/lootItems/junk/eye.py b/scripts/loot/lootItems/junk/eye.py index aa7c6cff..45a5a41e 100644 --- a/scripts/loot/lootItems/junk/eye.py +++ b/scripts/loot/lootItems/junk/eye.py @@ -1,4 +1,4 @@ def itemTemplate(): - return 'object/tangible/loot/creature_loot/generic/shared_generic_eye.iff' + return ['object/tangible/loot/creature_loot/generic/shared_generic_eye.iff'] diff --git a/scripts/loot/lootItems/junk/gland.py b/scripts/loot/lootItems/junk/gland.py index 071a60ef..ccf78284 100644 --- a/scripts/loot/lootItems/junk/gland.py +++ b/scripts/loot/lootItems/junk/gland.py @@ -1,7 +1,7 @@ def itemTemplate(): - return 'object/tangible/loot/creature_loot/generic/shared_lungs_gland.iff' + return ['object/tangible/loot/creature_loot/generic/shared_lungs_gland.iff'] def customItemName(): diff --git a/scripts/loot/lootItems/junk/heart.py b/scripts/loot/lootItems/junk/heart.py index 3715f029..15268f40 100644 --- a/scripts/loot/lootItems/junk/heart.py +++ b/scripts/loot/lootItems/junk/heart.py @@ -1,4 +1,4 @@ def itemTemplate(): - return 'object/tangible/loot/creature_loot/generic/shared_generic_heart.iff' + return ['object/tangible/loot/creature_loot/generic/shared_generic_heart.iff'] diff --git a/scripts/loot/lootItems/junk/hyperdrive_unit.py b/scripts/loot/lootItems/junk/hyperdrive_unit.py index 25afcd63..c217ba92 100644 --- a/scripts/loot/lootItems/junk/hyperdrive_unit.py +++ b/scripts/loot/lootItems/junk/hyperdrive_unit.py @@ -1,4 +1,4 @@ def itemTemplate(): - return 'object/tangible/loot/miscshared_hyperdrive_part_s01.iff' + return ['object/tangible/loot/miscshared_hyperdrive_part_s01.iff'] diff --git a/scripts/loot/lootItems/junk/id_chip.py b/scripts/loot/lootItems/junk/id_chip.py index e4738035..b8d8ee89 100644 --- a/scripts/loot/lootItems/junk/id_chip.py +++ b/scripts/loot/lootItems/junk/id_chip.py @@ -1,7 +1,7 @@ def itemTemplate(): - return 'object/tangible/loot/npc_loot/shared_id_chip_generic.iff' + return ['object/tangible/loot/npc_loot/shared_id_chip_generic.iff'] def customItemName(): diff --git a/scripts/loot/lootItems/junk/impulse_detector.py b/scripts/loot/lootItems/junk/impulse_detector.py index 17f08a9d..f100ded7 100644 --- a/scripts/loot/lootItems/junk/impulse_detector.py +++ b/scripts/loot/lootItems/junk/impulse_detector.py @@ -1,4 +1,4 @@ def itemTemplate(): - return 'object/tangible/loot/npc_loot/shared_impulse_detector_01_generic.iff' + return ['object/tangible/loot/npc_loot/shared_impulse_detector_01_generic.iff'] diff --git a/scripts/loot/lootItems/junk/laser_trap.py b/scripts/loot/lootItems/junk/laser_trap.py index 4bbcdb48..0ea4640f 100644 --- a/scripts/loot/lootItems/junk/laser_trap.py +++ b/scripts/loot/lootItems/junk/laser_trap.py @@ -1,4 +1,4 @@ def itemTemplate(): - return 'object/tangible/loot/npc_loot/shared_laser_trap_generic.iff' + return ['object/tangible/loot/npc_loot/shared_laser_trap_generic.iff'] diff --git a/scripts/loot/lootItems/junk/launcher_tube.py b/scripts/loot/lootItems/junk/launcher_tube.py index 4159a299..d3535342 100644 --- a/scripts/loot/lootItems/junk/launcher_tube.py +++ b/scripts/loot/lootItems/junk/launcher_tube.py @@ -1,7 +1,7 @@ def itemTemplate(): - return 'object/tangible/loot/npc_loot/shared_launcher_tube_generic.iff' + return ['object/tangible/loot/npc_loot/shared_launcher_tube_generic.iff'] def customItemName(): diff --git a/scripts/loot/lootItems/junk/ledger.py b/scripts/loot/lootItems/junk/ledger.py index 093e2caf..84481094 100644 --- a/scripts/loot/lootItems/junk/ledger.py +++ b/scripts/loot/lootItems/junk/ledger.py @@ -1,4 +1,4 @@ def itemTemplate(): - return 'object/tangible/loot/npc_loot/shared_ledger_generic.iff' + return ['object/tangible/loot/npc_loot/shared_ledger_generic.iff'] diff --git a/scripts/loot/lootItems/junk/magseal_detector.py b/scripts/loot/lootItems/junk/magseal_detector.py index bce0a6c7..30890aa6 100644 --- a/scripts/loot/lootItems/junk/magseal_detector.py +++ b/scripts/loot/lootItems/junk/magseal_detector.py @@ -1,4 +1,4 @@ def itemTemplate(): - return 'object/tangible/loot/npc_loot/shared_magseal_detector_generic.iff' + return ['object/tangible/loot/npc_loot/shared_magseal_detector_generic.iff'] diff --git a/scripts/loot/lootItems/junk/medical_console.py b/scripts/loot/lootItems/junk/medical_console.py index db82ffa3..aba84602 100644 --- a/scripts/loot/lootItems/junk/medical_console.py +++ b/scripts/loot/lootItems/junk/medical_console.py @@ -1,4 +1,4 @@ def itemTemplate(): - return 'object/tangible/loot/npc_loot/shared_medical_console_generic.iff' + return ['object/tangible/loot/npc_loot/shared_medical_console_generic.iff'] diff --git a/scripts/loot/lootItems/junk/medical_device.py b/scripts/loot/lootItems/junk/medical_device.py index eb55b264..4f198f3a 100644 --- a/scripts/loot/lootItems/junk/medical_device.py +++ b/scripts/loot/lootItems/junk/medical_device.py @@ -1,4 +1,4 @@ def itemTemplate(): - return 'object/tangible/loot/npc_loot/shared_medical_device_generic.iff' + return ['object/tangible/loot/npc_loot/shared_medical_device_generic.iff'] diff --git a/scripts/loot/lootItems/junk/motor.py b/scripts/loot/lootItems/junk/motor.py index 63d2def6..0fde31c1 100644 --- a/scripts/loot/lootItems/junk/motor.py +++ b/scripts/loot/lootItems/junk/motor.py @@ -1,4 +1,4 @@ def itemTemplate(): - return 'object/tangible/loot/npc_loot/shared_small_motor_generic.iff' + return ['object/tangible/loot/npc_loot/shared_small_motor_generic.iff'] diff --git a/scripts/loot/lootItems/junk/power_output_analyzer.py b/scripts/loot/lootItems/junk/power_output_analyzer.py index b44f9808..39af3121 100644 --- a/scripts/loot/lootItems/junk/power_output_analyzer.py +++ b/scripts/loot/lootItems/junk/power_output_analyzer.py @@ -1,4 +1,4 @@ def itemTemplate(): - return 'object/tangible/loot/npc_loot/shared_power_output_analyzer_generic.iff' + return ['object/tangible/loot/npc_loot/shared_power_output_analyzer_generic.iff'] diff --git a/scripts/loot/lootItems/junk/red_wiring.py b/scripts/loot/lootItems/junk/red_wiring.py index d2f31c46..b4682a7b 100644 --- a/scripts/loot/lootItems/junk/red_wiring.py +++ b/scripts/loot/lootItems/junk/red_wiring.py @@ -1,4 +1,4 @@ def itemTemplate(): - return 'object/tangible/loot/npc_loot/shared_red_wiring_generic.iff' + return ['object/tangible/loot/npc_loot/shared_red_wiring_generic.iff'] diff --git a/scripts/loot/lootItems/junk/shield_module.py b/scripts/loot/lootItems/junk/shield_module.py index 43335cfa..4ba2a8cf 100644 --- a/scripts/loot/lootItems/junk/shield_module.py +++ b/scripts/loot/lootItems/junk/shield_module.py @@ -1,4 +1,4 @@ def itemTemplate(): - return 'object/tangible/loot/npc_loot/shared_shield_module_generic.iff' + return ['object/tangible/loot/npc_loot/shared_shield_module_generic.iff'] diff --git a/scripts/loot/lootItems/junk/software_module.py b/scripts/loot/lootItems/junk/software_module.py index 8041a85a..98b0759d 100644 --- a/scripts/loot/lootItems/junk/software_module.py +++ b/scripts/loot/lootItems/junk/software_module.py @@ -1,4 +1,4 @@ def itemTemplate(): - return 'object/tangible/loot/npc_loot/shared_software_module_generic.iff' + return ['object/tangible/loot/npc_loot/shared_software_module_generic.iff'] diff --git a/scripts/loot/lootItems/junk/stomach.py b/scripts/loot/lootItems/junk/stomach.py index e3692923..e4ead448 100644 --- a/scripts/loot/lootItems/junk/stomach.py +++ b/scripts/loot/lootItems/junk/stomach.py @@ -1,4 +1,4 @@ def itemTemplate(): - return 'object/tangible/loot/creature_loot/generic/shared_generic_stomach.iff' + return ['object/tangible/loot/creature_loot/generic/shared_generic_stomach.iff'] diff --git a/scripts/loot/lootItems/junk/survival_gear.py b/scripts/loot/lootItems/junk/survival_gear.py index e8ad23ae..e4cfba46 100644 --- a/scripts/loot/lootItems/junk/survival_gear.py +++ b/scripts/loot/lootItems/junk/survival_gear.py @@ -1,4 +1,4 @@ def itemTemplate(): - return 'object/tangible/loot/npc_loot/shared_survival_equipment_generic.iff' + return ['object/tangible/loot/npc_loot/shared_survival_equipment_generic.iff'] diff --git a/scripts/loot/lootItems/junk/underpowered_survey_pad.py b/scripts/loot/lootItems/junk/underpowered_survey_pad.py index 3dca4fa8..9caf9857 100644 --- a/scripts/loot/lootItems/junk/underpowered_survey_pad.py +++ b/scripts/loot/lootItems/junk/underpowered_survey_pad.py @@ -1,4 +1,4 @@ def itemTemplate(): - return 'object/tangible/loot/npc_loot/shared_survey_pad_adv_generic.iff' + return ['object/tangible/loot/npc_loot/shared_survey_pad_adv_generic.iff'] diff --git a/scripts/loot/lootItems/junk/unidentified_serum_vial.py b/scripts/loot/lootItems/junk/unidentified_serum_vial.py index 1f4f8e84..06a69fac 100644 --- a/scripts/loot/lootItems/junk/unidentified_serum_vial.py +++ b/scripts/loot/lootItems/junk/unidentified_serum_vial.py @@ -1,4 +1,4 @@ def itemTemplate(): - return 'object/tangible/loot/npc_loot/shared_serum_vial_generic.iff' + return ['object/tangible/loot/npc_loot/shared_serum_vial_generic.iff'] diff --git a/scripts/loot/lootItems/junk/used_notebook.py b/scripts/loot/lootItems/junk/used_notebook.py index 9a3acb30..bb42f7fd 100644 --- a/scripts/loot/lootItems/junk/used_notebook.py +++ b/scripts/loot/lootItems/junk/used_notebook.py @@ -1,4 +1,4 @@ def itemTemplate(): - return 'object/tangible/loot/npc_loot/shared_notebook_generic.iff' + return ['object/tangible/loot/npc_loot/shared_notebook_generic.iff'] diff --git a/scripts/loot/lootItems/junk/weak_droid_battery.py b/scripts/loot/lootItems/junk/weak_droid_battery.py index 5ba36675..426a9373 100644 --- a/scripts/loot/lootItems/junk/weak_droid_battery.py +++ b/scripts/loot/lootItems/junk/weak_droid_battery.py @@ -1,4 +1,4 @@ def itemTemplate(): - return 'object/tangible/loot/generic/shared_battery_useable_generic.iff' + return ['object/tangible/loot/generic/shared_battery_useable_generic.iff'] diff --git a/scripts/loot/lootItems/junk/worklight_generic.py b/scripts/loot/lootItems/junk/worklight_generic.py index 86a9231b..395beead 100644 --- a/scripts/loot/lootItems/junk/worklight_generic.py +++ b/scripts/loot/lootItems/junk/worklight_generic.py @@ -1,21 +1,4 @@ def itemTemplate(): - return 'object/tangible/loot/npc_loot/shared_worklight_generic.iff' - -def customItemName(): - - return '' - -def customItemStackCount(): - - return 1 - -def customizationAttributes(): - - return [] - -def customizationValues(): - - return [] - + return ['object/tangible/loot/npc_loot/shared_worklight_generic.iff'] diff --git a/scripts/loot/lootItems/kraytpearl_cracked.py b/scripts/loot/lootItems/kraytpearl_cracked.py index 8e532580..89e55d04 100644 --- a/scripts/loot/lootItems/kraytpearl_cracked.py +++ b/scripts/loot/lootItems/kraytpearl_cracked.py @@ -1,7 +1,7 @@ def itemTemplate(): - return 'object/tangible/component/weapon/lightsaber/shared_lightsaber_module_krayt_dragon_pearl.iff' + return ['object/tangible/component/weapon/lightsaber/shared_lightsaber_module_krayt_dragon_pearl.iff'] def customItemName(): diff --git a/scripts/loot/lootItems/kraytpearl_fair.py b/scripts/loot/lootItems/kraytpearl_fair.py index ef8d2dc0..bf16c0ec 100644 --- a/scripts/loot/lootItems/kraytpearl_fair.py +++ b/scripts/loot/lootItems/kraytpearl_fair.py @@ -1,7 +1,7 @@ def itemTemplate(): - return 'object/tangible/component/weapon/lightsaber/shared_lightsaber_module_krayt_dragon_pearl.iff' + return ['object/tangible/component/weapon/lightsaber/shared_lightsaber_module_krayt_dragon_pearl.iff'] def customItemName(): diff --git a/scripts/loot/lootItems/kraytpearl_flawless.py b/scripts/loot/lootItems/kraytpearl_flawless.py index 8e532580..89e55d04 100644 --- a/scripts/loot/lootItems/kraytpearl_flawless.py +++ b/scripts/loot/lootItems/kraytpearl_flawless.py @@ -1,7 +1,7 @@ def itemTemplate(): - return 'object/tangible/component/weapon/lightsaber/shared_lightsaber_module_krayt_dragon_pearl.iff' + return ['object/tangible/component/weapon/lightsaber/shared_lightsaber_module_krayt_dragon_pearl.iff'] def customItemName(): diff --git a/scripts/loot/lootItems/kraytpearl_good.py b/scripts/loot/lootItems/kraytpearl_good.py index 8e532580..89e55d04 100644 --- a/scripts/loot/lootItems/kraytpearl_good.py +++ b/scripts/loot/lootItems/kraytpearl_good.py @@ -1,7 +1,7 @@ def itemTemplate(): - return 'object/tangible/component/weapon/lightsaber/shared_lightsaber_module_krayt_dragon_pearl.iff' + return ['object/tangible/component/weapon/lightsaber/shared_lightsaber_module_krayt_dragon_pearl.iff'] def customItemName(): diff --git a/scripts/loot/lootItems/kraytpearl_poor.py b/scripts/loot/lootItems/kraytpearl_poor.py index 8e532580..89e55d04 100644 --- a/scripts/loot/lootItems/kraytpearl_poor.py +++ b/scripts/loot/lootItems/kraytpearl_poor.py @@ -1,7 +1,7 @@ def itemTemplate(): - return 'object/tangible/component/weapon/lightsaber/shared_lightsaber_module_krayt_dragon_pearl.iff' + return ['object/tangible/component/weapon/lightsaber/shared_lightsaber_module_krayt_dragon_pearl.iff'] def customItemName(): diff --git a/scripts/loot/lootItems/kraytpearl_premium.py b/scripts/loot/lootItems/kraytpearl_premium.py index 8e532580..89e55d04 100644 --- a/scripts/loot/lootItems/kraytpearl_premium.py +++ b/scripts/loot/lootItems/kraytpearl_premium.py @@ -1,7 +1,7 @@ def itemTemplate(): - return 'object/tangible/component/weapon/lightsaber/shared_lightsaber_module_krayt_dragon_pearl.iff' + return ['object/tangible/component/weapon/lightsaber/shared_lightsaber_module_krayt_dragon_pearl.iff'] def customItemName(): diff --git a/scripts/loot/lootItems/kraytpearl_quality.py b/scripts/loot/lootItems/kraytpearl_quality.py index 8e532580..89e55d04 100644 --- a/scripts/loot/lootItems/kraytpearl_quality.py +++ b/scripts/loot/lootItems/kraytpearl_quality.py @@ -1,7 +1,7 @@ def itemTemplate(): - return 'object/tangible/component/weapon/lightsaber/shared_lightsaber_module_krayt_dragon_pearl.iff' + return ['object/tangible/component/weapon/lightsaber/shared_lightsaber_module_krayt_dragon_pearl.iff'] def customItemName(): diff --git a/scripts/loot/lootItems/kraytpearl_scratched.py b/scripts/loot/lootItems/kraytpearl_scratched.py index 8e532580..89e55d04 100644 --- a/scripts/loot/lootItems/kraytpearl_scratched.py +++ b/scripts/loot/lootItems/kraytpearl_scratched.py @@ -1,7 +1,7 @@ def itemTemplate(): - return 'object/tangible/component/weapon/lightsaber/shared_lightsaber_module_krayt_dragon_pearl.iff' + return ['object/tangible/component/weapon/lightsaber/shared_lightsaber_module_krayt_dragon_pearl.iff'] def customItemName(): diff --git a/scripts/loot/lootItems/kraytpearl_select.py b/scripts/loot/lootItems/kraytpearl_select.py index 8e532580..89e55d04 100644 --- a/scripts/loot/lootItems/kraytpearl_select.py +++ b/scripts/loot/lootItems/kraytpearl_select.py @@ -1,7 +1,7 @@ def itemTemplate(): - return 'object/tangible/component/weapon/lightsaber/shared_lightsaber_module_krayt_dragon_pearl.iff' + return ['object/tangible/component/weapon/lightsaber/shared_lightsaber_module_krayt_dragon_pearl.iff'] def customItemName(): diff --git a/scripts/loot/lootItems/powercrystal_fair.py b/scripts/loot/lootItems/powercrystal_fair.py index 3c533136..46f1add7 100644 --- a/scripts/loot/lootItems/powercrystal_fair.py +++ b/scripts/loot/lootItems/powercrystal_fair.py @@ -1,7 +1,7 @@ def itemTemplate(): - return 'object/tangible/component/weapon/lightsaber/shared_lightsaber_module_force_crystal.iff' + return ['object/tangible/component/weapon/lightsaber/shared_lightsaber_module_force_crystal.iff'] def customItemName(): diff --git a/scripts/loot/lootItems/powercrystal_flawless.py b/scripts/loot/lootItems/powercrystal_flawless.py index 8163cb74..eadb333a 100644 --- a/scripts/loot/lootItems/powercrystal_flawless.py +++ b/scripts/loot/lootItems/powercrystal_flawless.py @@ -1,7 +1,7 @@ def itemTemplate(): - return 'object/tangible/component/weapon/lightsaber/shared_lightsaber_module_force_crystal.iff' + return ['object/tangible/component/weapon/lightsaber/shared_lightsaber_module_force_crystal.iff'] def customItemName(): diff --git a/scripts/loot/lootItems/powercrystal_good.py b/scripts/loot/lootItems/powercrystal_good.py index 8163cb74..eadb333a 100644 --- a/scripts/loot/lootItems/powercrystal_good.py +++ b/scripts/loot/lootItems/powercrystal_good.py @@ -1,7 +1,7 @@ def itemTemplate(): - return 'object/tangible/component/weapon/lightsaber/shared_lightsaber_module_force_crystal.iff' + return ['object/tangible/component/weapon/lightsaber/shared_lightsaber_module_force_crystal.iff'] def customItemName(): diff --git a/scripts/loot/lootItems/powercrystal_perfect.py b/scripts/loot/lootItems/powercrystal_perfect.py index 8163cb74..eadb333a 100644 --- a/scripts/loot/lootItems/powercrystal_perfect.py +++ b/scripts/loot/lootItems/powercrystal_perfect.py @@ -1,7 +1,7 @@ def itemTemplate(): - return 'object/tangible/component/weapon/lightsaber/shared_lightsaber_module_force_crystal.iff' + return ['object/tangible/component/weapon/lightsaber/shared_lightsaber_module_force_crystal.iff'] def customItemName(): diff --git a/scripts/loot/lootItems/powercrystal_poor.py b/scripts/loot/lootItems/powercrystal_poor.py index 8163cb74..eadb333a 100644 --- a/scripts/loot/lootItems/powercrystal_poor.py +++ b/scripts/loot/lootItems/powercrystal_poor.py @@ -1,7 +1,7 @@ def itemTemplate(): - return 'object/tangible/component/weapon/lightsaber/shared_lightsaber_module_force_crystal.iff' + return ['object/tangible/component/weapon/lightsaber/shared_lightsaber_module_force_crystal.iff'] def customItemName(): diff --git a/scripts/loot/lootItems/powercrystal_premium.py b/scripts/loot/lootItems/powercrystal_premium.py index 8163cb74..eadb333a 100644 --- a/scripts/loot/lootItems/powercrystal_premium.py +++ b/scripts/loot/lootItems/powercrystal_premium.py @@ -1,7 +1,7 @@ def itemTemplate(): - return 'object/tangible/component/weapon/lightsaber/shared_lightsaber_module_force_crystal.iff' + return ['object/tangible/component/weapon/lightsaber/shared_lightsaber_module_force_crystal.iff'] def customItemName(): diff --git a/scripts/loot/lootItems/powercrystal_quality.py b/scripts/loot/lootItems/powercrystal_quality.py index 8163cb74..eadb333a 100644 --- a/scripts/loot/lootItems/powercrystal_quality.py +++ b/scripts/loot/lootItems/powercrystal_quality.py @@ -1,7 +1,7 @@ def itemTemplate(): - return 'object/tangible/component/weapon/lightsaber/shared_lightsaber_module_force_crystal.iff' + return ['object/tangible/component/weapon/lightsaber/shared_lightsaber_module_force_crystal.iff'] def customItemName(): diff --git a/scripts/loot/lootItems/powercrystal_select.py b/scripts/loot/lootItems/powercrystal_select.py index 8163cb74..eadb333a 100644 --- a/scripts/loot/lootItems/powercrystal_select.py +++ b/scripts/loot/lootItems/powercrystal_select.py @@ -1,7 +1,7 @@ def itemTemplate(): - return 'object/tangible/component/weapon/lightsaber/shared_lightsaber_module_force_crystal.iff' + return ['object/tangible/component/weapon/lightsaber/shared_lightsaber_module_force_crystal.iff'] def customItemName(): diff --git a/scripts/loot/lootItems/rarelootchest1.py b/scripts/loot/lootItems/rarelootchest1.py index 1541e62a..a7568822 100644 --- a/scripts/loot/lootItems/rarelootchest1.py +++ b/scripts/loot/lootItems/rarelootchest1.py @@ -1,7 +1,7 @@ def itemTemplate(): - return 'object/tangible/item/shared_rare_loot_chest_3.iff' + return ['object/tangible/item/shared_rare_loot_chest_3.iff'] def customItemName(): diff --git a/scripts/loot/lootItems/rarelootchest2.py b/scripts/loot/lootItems/rarelootchest2.py index 1541e62a..a7568822 100644 --- a/scripts/loot/lootItems/rarelootchest2.py +++ b/scripts/loot/lootItems/rarelootchest2.py @@ -1,7 +1,7 @@ def itemTemplate(): - return 'object/tangible/item/shared_rare_loot_chest_3.iff' + return ['object/tangible/item/shared_rare_loot_chest_3.iff'] def customItemName(): 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..1055e9a2 --- /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','1.0','1.0'] + 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..0977f314 --- /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 '' + +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/lootItems/weapons/shared_rifle_cdef.py b/scripts/loot/lootItems/weapons/shared_rifle_cdef.py index 06160922..c1a15f71 100644 --- a/scripts/loot/lootItems/weapons/shared_rifle_cdef.py +++ b/scripts/loot/lootItems/weapons/shared_rifle_cdef.py @@ -1,7 +1,7 @@ def itemTemplate(): - return 'object/weapon/ranged/rifle/shared_rifle_cdef.iff' + return ['object/weapon/ranged/rifle/shared_rifle_cdef.iff'] def customItemName(): @@ -21,9 +21,9 @@ def customizationValues(): def itemStats(): - stats = ['mindamage','12','27'] - stats += ['maxdamage','29','61'] - stats += ['attackspeed','5.1','3.6'] + stats = ['mindamage','500','600'] + stats += ['maxdamage','900','1120'] + stats += ['attackspeed','1.0','1.0'] stats += ['maxrange','0','64'] stats += ['damagetype','Energy','Energy'] 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/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/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/mobiles/tatooine/tusken_raider.py b/scripts/mobiles/tatooine/tusken_raider.py index b2747696..48007d7c 100644 --- a/scripts/mobiles/tatooine/tusken_raider.py +++ b/scripts/mobiles/tatooine/tusken_raider.py @@ -6,8 +6,8 @@ def addTemplate(core): mobileTemplate = MobileTemplate() mobileTemplate.setCreatureName('tusken_raider') - mobileTemplate.setLevel(90) - mobileTemplate.setDifficulty(0) + mobileTemplate.setLevel(10) + mobileTemplate.setDifficulty(1) mobileTemplate.setAttackRange(24) templates = Vector() @@ -18,7 +18,6 @@ def addTemplate(core): weaponTemplates.add('object/weapon/ranged/rifle/shared_rifle_tusken.iff') mobileTemplate.setWeaponTemplates(weaponTemplates) - attacks = Vector() mobileTemplate.setDefaultAttack('rangedShot') mobileTemplate.setAttacks(attacks) diff --git a/scripts/object/mobile/tusken_raider.py b/scripts/object/mobile/tusken_raider.py index 97f7842a..2d06ec85 100644 --- a/scripts/object/mobile/tusken_raider.py +++ b/scripts/object/mobile/tusken_raider.py @@ -2,14 +2,24 @@ import sys def setup(core, object): - lootPoolNames_1 = ['Junk','Rifles'] - lootPoolChances_1 = [90,70] + lootPoolNames_1 = ['Junk'] + lootPoolChances_1 = [100] lootGroupChance_1 = 90 object.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1) - lootPoolNames_2 = ['Colorcrystals'] - lootPoolChances_2 = [100] + 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/src/services/LootService.java b/src/services/LootService.java index 38ef05f4..013bd385 100644 --- a/src/services/LootService.java +++ b/src/services/LootService.java @@ -245,7 +245,12 @@ public class LootService implements INetworkDispatch { String customName = ""; String itemTemplate = ""; + Vector itemTemplates = null; int stackCount = 1; + int biolink = 0; + int requiredCL = 1; + String requiredProfession = ""; + String requiredFaction = ""; Vector customizationAttributes = null; Vector customizationValues = null; Vector itemStats = null; @@ -256,7 +261,18 @@ public class LootService implements INetworkDispatch { return; } - itemTemplate = (String)core.scriptService.fetchString(itemPath,"itemTemplate"); + //itemTemplate = (String)core.scriptService.fetchString(itemPath,"itemTemplate"); + + itemTemplates = (Vector)core.scriptService.fetchStringVector(itemPath,"itemTemplate"); + if (itemTemplates.size()==1) + itemTemplate = itemTemplates.get(0); + if (itemTemplates.size()>1){ + itemTemplate = itemTemplates.get(new Random().nextInt(itemTemplates.size()-1)); + } + + + + // only consider the following variables, if they are in the python-script file if(core.scriptService.getMethod(itemPath,"","customItemName")!=null) @@ -274,6 +290,19 @@ public class LootService implements INetworkDispatch { if(core.scriptService.getMethod(itemPath,"","itemStats")!=null) itemStats = (Vector)core.scriptService.fetchStringVector(itemPath,"itemStats"); + if(core.scriptService.getMethod(itemPath,"","biolink")!=null) + biolink = (Integer)core.scriptService.fetchInteger(itemPath,"biolink"); + + if(core.scriptService.getMethod(itemPath,"","requiredCL")!=null) + requiredCL = (Integer)core.scriptService.fetchInteger(itemPath,"requiredCL"); + + if(core.scriptService.getMethod(itemPath,"","requiredProfession")!=null) + requiredProfession = (String)core.scriptService.fetchString(itemPath,"requiredProfession"); + + if(core.scriptService.getMethod(itemPath,"","requiredFaction")!=null) + requiredFaction = (String)core.scriptService.fetchString(itemPath,"requiredFaction"); + + System.out.println("itemTemplate " + itemTemplate); TangibleObject droppedItem = createDroppedItem(itemTemplate,lootRollSession.getSessionPlanet()); @@ -296,6 +325,18 @@ public class LootService implements INetworkDispatch { handleSpecialItems(droppedItem, itemName); + if (requiredCL>1){ + droppedItem.setIntAttribute("required_combat_level", requiredCL); + } + + if (requiredProfession.length()>0){ + droppedItem.setStringAttribute("required_profession", requiredProfession); + } + + if (requiredFaction.length()>0){ + droppedItem.setStringAttribute("required_faction", requiredFaction); + } + lootRollSession.addDroppedItem(droppedItem); } @@ -411,24 +452,25 @@ public class LootService implements INetworkDispatch { } private void handleStats(TangibleObject droppedItem, Vector itemStats) { - // ToDo: Min,Max for weapons , Dots on weapons etc. - // This must be considered for the python scripts as well - // So basically every item needs to have loot-related data in their py scripts as well - droppedItem.setTemplate("object/weapon/ranged/rifle/shared_rifle_cdef.iff"); if (droppedItem.getTemplate().contains("/weapon")){ - System.out.println("Wep template rec"); - - //droppedItem.setStringAttribute("cat_wpn_damage.wpn_elemental_type", "ENERGY"); WeaponObject weaponObject = (WeaponObject) droppedItem; - droppedItem.setMaxDamage(1000); - for (int i=0;i