Instructions Jenkins Doxygen

[added] skill buff enhancements 27/827/3
authorKlivian <klivian@hotmail.com>
Sun, 22 Sep 2013 00:38:56 +0000 (00:38 +0000)
committerKlivian <klivian@hotmail.com>
Sun, 22 Sep 2013 00:38:56 +0000 (00:38 +0000)
[added] skill_buffs loot group (not dropping in any mobiles yet)

Change-Id: I57629eda59a2c11c91a9f4223a417da402088042

57 files changed:
MMOCoreORB/bin/scripts/loot/groups.lua
MMOCoreORB/bin/scripts/loot/groups/skill_buffs.lua [new file with mode: 0644]
MMOCoreORB/bin/scripts/loot/items.lua
MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_carbine_accuracy.lua [new file with mode: 0644]
MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_carbine_speed.lua [new file with mode: 0644]
MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_heavy_weapon_accuracy.lua [new file with mode: 0644]
MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_heavy_weapon_speed.lua [new file with mode: 0644]
MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_mask_scent.lua [new file with mode: 0644]
MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_melee_accuracy.lua [new file with mode: 0644]
MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_melee_defense.lua [new file with mode: 0644]
MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_onehandmelee_accuracy.lua [new file with mode: 0644]
MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_onehandmelee_speed.lua [new file with mode: 0644]
MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_pistol_accuracy.lua [new file with mode: 0644]
MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_pistol_speed.lua [new file with mode: 0644]
MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_polearm_accuracy.lua [new file with mode: 0644]
MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_polearm_speed.lua [new file with mode: 0644]
MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_ranged_accuracy.lua [new file with mode: 0644]
MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_ranged_defense.lua [new file with mode: 0644]
MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_rifle_accuracy.lua [new file with mode: 0644]
MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_rifle_speed.lua [new file with mode: 0644]
MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_thrown_accuracy.lua [new file with mode: 0644]
MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_thrown_speed.lua [new file with mode: 0644]
MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_twohandmelee_accuracy.lua [new file with mode: 0644]
MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_twohandmelee_speed.lua [new file with mode: 0644]
MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_unarmed_accuracy.lua [new file with mode: 0644]
MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_unarmed_speed.lua [new file with mode: 0644]
MMOCoreORB/bin/scripts/object/tangible/skill_buff/skill_buff_carbine_accuracy.lua
MMOCoreORB/bin/scripts/object/tangible/skill_buff/skill_buff_carbine_speed.lua
MMOCoreORB/bin/scripts/object/tangible/skill_buff/skill_buff_heavy_weapon_accuracy.lua
MMOCoreORB/bin/scripts/object/tangible/skill_buff/skill_buff_heavy_weapon_speed.lua
MMOCoreORB/bin/scripts/object/tangible/skill_buff/skill_buff_mask_scent.lua
MMOCoreORB/bin/scripts/object/tangible/skill_buff/skill_buff_melee_accuracy.lua
MMOCoreORB/bin/scripts/object/tangible/skill_buff/skill_buff_melee_defense.lua
MMOCoreORB/bin/scripts/object/tangible/skill_buff/skill_buff_onehandmelee_accuracy.lua
MMOCoreORB/bin/scripts/object/tangible/skill_buff/skill_buff_onehandmelee_speed.lua
MMOCoreORB/bin/scripts/object/tangible/skill_buff/skill_buff_pistol_accuracy.lua
MMOCoreORB/bin/scripts/object/tangible/skill_buff/skill_buff_pistol_speed.lua
MMOCoreORB/bin/scripts/object/tangible/skill_buff/skill_buff_polearm_accuracy.lua
MMOCoreORB/bin/scripts/object/tangible/skill_buff/skill_buff_polearm_speed.lua
MMOCoreORB/bin/scripts/object/tangible/skill_buff/skill_buff_ranged_accuracy.lua
MMOCoreORB/bin/scripts/object/tangible/skill_buff/skill_buff_ranged_defense.lua
MMOCoreORB/bin/scripts/object/tangible/skill_buff/skill_buff_rifle_accuracy.lua
MMOCoreORB/bin/scripts/object/tangible/skill_buff/skill_buff_rifle_speed.lua
MMOCoreORB/bin/scripts/object/tangible/skill_buff/skill_buff_thrown_accuracy.lua
MMOCoreORB/bin/scripts/object/tangible/skill_buff/skill_buff_thrown_speed.lua
MMOCoreORB/bin/scripts/object/tangible/skill_buff/skill_buff_twohandmelee_accuracy.lua
MMOCoreORB/bin/scripts/object/tangible/skill_buff/skill_buff_twohandmelee_speed.lua
MMOCoreORB/bin/scripts/object/tangible/skill_buff/skill_buff_unarmed_accuracy.lua
MMOCoreORB/bin/scripts/object/tangible/skill_buff/skill_buff_unarmed_speed.lua
MMOCoreORB/src/Makefile.am
MMOCoreORB/src/server/zone/managers/components/ComponentManager.cpp
MMOCoreORB/src/server/zone/managers/templates/TemplateManager.cpp
MMOCoreORB/src/server/zone/objects/tangible/components/SkillBuffObjectAttributeListComponent.h [new file with mode: 0644]
MMOCoreORB/src/server/zone/objects/tangible/components/SkillBuffObjectMenuComponent.cpp [new file with mode: 0644]
MMOCoreORB/src/server/zone/objects/tangible/components/SkillBuffObjectMenuComponent.h [new file with mode: 0644]
MMOCoreORB/src/server/zone/templates/SharedObjectTemplate.h
MMOCoreORB/src/server/zone/templates/tangible/SkillBuffTemplate.h [new file with mode: 0644]

index 53e09fe..68ac5a2 100644 (file)
@@ -121,6 +121,7 @@ includeFile("groups/rifles.lua")
 includeFile("groups/sharnaff.lua")
 includeFile("groups/sharnaff_common.lua")
 includeFile("groups/skaak_tipper_common.lua")
+includeFile("groups/skill_buffs.lua")
 includeFile("groups/stormtrooper_common.lua")
 includeFile("groups/tailor_components.lua")
 includeFile("groups/tantel_armor_looted.lua")
diff --git a/MMOCoreORB/bin/scripts/loot/groups/skill_buffs.lua b/MMOCoreORB/bin/scripts/loot/groups/skill_buffs.lua
new file mode 100644 (file)
index 0000000..d041069
--- /dev/null
@@ -0,0 +1,32 @@
+skill_buffs = {
+       description = "",
+       minimumLevel = 0,
+       maximumLevel = 0,
+       lootItems = {
+               {itemTemplate = "skill_buff_carbine_accuracy", weight = 434783},
+               {itemTemplate = "skill_buff_carbine_speed", weight = 434783},
+               {itemTemplate = "skill_buff_heavy_weapon_accuracy", weight = 434783},
+               {itemTemplate = "skill_buff_heavy_weapon_speed", weight = 434783},
+               {itemTemplate = "skill_buff_mask_scent", weight = 434783},
+               {itemTemplate = "skill_buff_melee_accuracy", weight = 434783},
+               {itemTemplate = "skill_buff_melee_defense", weight = 434783},
+               {itemTemplate = "skill_buff_ranged_accuracy", weight = 434783},
+               {itemTemplate = "skill_buff_ranged_defense", weight = 434783},
+               {itemTemplate = "skill_buff_onehandmelee_accuracy", weight = 434783},
+               {itemTemplate = "skill_buff_onehandmelee_speed", weight = 434783},
+               {itemTemplate = "skill_buff_pistol_accuracy", weight = 434783},
+               {itemTemplate = "skill_buff_pistol_speed", weight = 434783},
+               {itemTemplate = "skill_buff_polearm_accuracy", weight = 434783},
+               {itemTemplate = "skill_buff_polearm_speed", weight = 434782},
+               {itemTemplate = "skill_buff_rifle_accuracy", weight = 434782},
+               {itemTemplate = "skill_buff_rifle_speed", weight = 434782},
+               {itemTemplate = "skill_buff_thrown_accuracy", weight = 434782},
+               {itemTemplate = "skill_buff_thrown_speed", weight = 434782},
+               {itemTemplate = "skill_buff_twohandmelee_accuracy", weight = 434782},
+               {itemTemplate = "skill_buff_twohandmelee_speed", weight = 434782},
+               {itemTemplate = "skill_buff_unarmed_accuracy", weight = 434782},
+               {itemTemplate = "skill_buff_unarmed_speed", weight = 434782}
+       }
+}
+
+addLootGroupTemplate("skill_buffs", skill_buffs)
\ No newline at end of file
index 21c5317..fa1bc00 100644 (file)
@@ -426,6 +426,31 @@ includeFile("items/recycler/small_motor.lua")
 includeFile("items/recycler/spinner_blade.lua")
 includeFile("items/recycler/tumble_blender_schematic.lua")
 
+--skill_buff sub-folder
+includeFile("items/skill_buff/skill_buff_carbine_accuracy.lua")
+includeFile("items/skill_buff/skill_buff_carbine_speed.lua")
+includeFile("items/skill_buff/skill_buff_heavy_weapon_accuracy.lua")
+includeFile("items/skill_buff/skill_buff_heavy_weapon_speed.lua")
+includeFile("items/skill_buff/skill_buff_mask_scent.lua")
+includeFile("items/skill_buff/skill_buff_melee_accuracy.lua")
+includeFile("items/skill_buff/skill_buff_melee_defense.lua")
+includeFile("items/skill_buff/skill_buff_ranged_accuracy.lua")
+includeFile("items/skill_buff/skill_buff_ranged_defense.lua")
+includeFile("items/skill_buff/skill_buff_onehandmelee_accuracy.lua")
+includeFile("items/skill_buff/skill_buff_onehandmelee_speed.lua")
+includeFile("items/skill_buff/skill_buff_pistol_accuracy.lua")
+includeFile("items/skill_buff/skill_buff_pistol_speed.lua")
+includeFile("items/skill_buff/skill_buff_polearm_accuracy.lua")
+includeFile("items/skill_buff/skill_buff_polearm_speed.lua")
+includeFile("items/skill_buff/skill_buff_rifle_accuracy.lua")
+includeFile("items/skill_buff/skill_buff_rifle_speed.lua")
+includeFile("items/skill_buff/skill_buff_thrown_accuracy.lua")
+includeFile("items/skill_buff/skill_buff_thrown_speed.lua")
+includeFile("items/skill_buff/skill_buff_twohandmelee_accuracy.lua")
+includeFile("items/skill_buff/skill_buff_twohandmelee_speed.lua")
+includeFile("items/skill_buff/skill_buff_unarmed_accuracy.lua")
+includeFile("items/skill_buff/skill_buff_unarmed_speed.lua")
+
 --task_loot sub-folder
 includeFile("items/task_loot/booto_lubble_thermal_detonator.lua")
 includeFile("items/task_loot/booto_lubble_rank_cylinder.lua")
diff --git a/MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_carbine_accuracy.lua b/MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_carbine_accuracy.lua
new file mode 100644 (file)
index 0000000..f8ed89f
--- /dev/null
@@ -0,0 +1,12 @@
+skill_buff_carbine_accuracy = {
+       minimumLevel = 0,
+       maximumLevel = -1,
+       customObjectName = "",
+       directObjectTemplate = "object/tangible/skill_buff/skill_buff_carbine_accuracy.iff",
+       craftingValues = {
+       },
+       customizationStringNames = {},
+       customizationValues = {}
+}
+
+addLootItemTemplate("skill_buff_carbine_accuracy", skill_buff_carbine_accuracy)
diff --git a/MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_carbine_speed.lua b/MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_carbine_speed.lua
new file mode 100644 (file)
index 0000000..32509a8
--- /dev/null
@@ -0,0 +1,12 @@
+skill_buff_carbine_speed = {
+       minimumLevel = 0,
+       maximumLevel = -1,
+       customObjectName = "",
+       directObjectTemplate = "object/tangible/skill_buff/skill_buff_carbine_speed.iff",
+       craftingValues = {
+       },
+       customizationStringNames = {},
+       customizationValues = {}
+}
+
+addLootItemTemplate("skill_buff_carbine_speed", skill_buff_carbine_speed)
diff --git a/MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_heavy_weapon_accuracy.lua b/MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_heavy_weapon_accuracy.lua
new file mode 100644 (file)
index 0000000..7d8f9f1
--- /dev/null
@@ -0,0 +1,12 @@
+skill_buff_heavy_weapon_accuracy = {
+       minimumLevel = 0,
+       maximumLevel = -1,
+       customObjectName = "",
+       directObjectTemplate = "object/tangible/skill_buff/skill_buff_heavy_weapon_accuracy.iff",
+       craftingValues = {
+       },
+       customizationStringNames = {},
+       customizationValues = {}
+}
+
+addLootItemTemplate("skill_buff_heavy_weapon_accuracy", skill_buff_heavy_weapon_accuracy)
diff --git a/MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_heavy_weapon_speed.lua b/MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_heavy_weapon_speed.lua
new file mode 100644 (file)
index 0000000..332e0a6
--- /dev/null
@@ -0,0 +1,12 @@
+skill_buff_heavy_weapon_speed = {
+       minimumLevel = 0,
+       maximumLevel = -1,
+       customObjectName = "",
+       directObjectTemplate = "object/tangible/skill_buff/skill_buff_heavy_weapon_speed.iff",
+       craftingValues = {
+       },
+       customizationStringNames = {},
+       customizationValues = {}
+}
+
+addLootItemTemplate("skill_buff_heavy_weapon_speed", skill_buff_heavy_weapon_speed)
diff --git a/MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_mask_scent.lua b/MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_mask_scent.lua
new file mode 100644 (file)
index 0000000..522c15c
--- /dev/null
@@ -0,0 +1,12 @@
+skill_buff_mask_scent = {
+       minimumLevel = 0,
+       maximumLevel = -1,
+       customObjectName = "",
+       directObjectTemplate = "object/tangible/skill_buff/skill_buff_mask_scent.iff",
+       craftingValues = {
+       },
+       customizationStringNames = {},
+       customizationValues = {}
+}
+
+addLootItemTemplate("skill_buff_mask_scent", skill_buff_mask_scent)
diff --git a/MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_melee_accuracy.lua b/MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_melee_accuracy.lua
new file mode 100644 (file)
index 0000000..1a66312
--- /dev/null
@@ -0,0 +1,12 @@
+skill_buff_melee_accuracy = {
+       minimumLevel = 0,
+       maximumLevel = -1,
+       customObjectName = "",
+       directObjectTemplate = "object/tangible/skill_buff/skill_buff_melee_accuracy.iff",
+       craftingValues = {
+       },
+       customizationStringNames = {},
+       customizationValues = {}
+}
+
+addLootItemTemplate("skill_buff_melee_accuracy", skill_buff_melee_accuracy)
diff --git a/MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_melee_defense.lua b/MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_melee_defense.lua
new file mode 100644 (file)
index 0000000..77650bf
--- /dev/null
@@ -0,0 +1,12 @@
+skill_buff_melee_defense = {
+       minimumLevel = 0,
+       maximumLevel = -1,
+       customObjectName = "",
+       directObjectTemplate = "object/tangible/skill_buff/skill_buff_melee_defense.iff",
+       craftingValues = {
+       },
+       customizationStringNames = {},
+       customizationValues = {}
+}
+
+addLootItemTemplate("skill_buff_melee_defense", skill_buff_melee_defense)
diff --git a/MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_onehandmelee_accuracy.lua b/MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_onehandmelee_accuracy.lua
new file mode 100644 (file)
index 0000000..a7e0c4e
--- /dev/null
@@ -0,0 +1,12 @@
+skill_buff_onehandmelee_accuracy = {
+       minimumLevel = 0,
+       maximumLevel = -1,
+       customObjectName = "",
+       directObjectTemplate = "object/tangible/skill_buff/skill_buff_onehandmelee_accuracy.iff",
+       craftingValues = {
+       },
+       customizationStringNames = {},
+       customizationValues = {}
+}
+
+addLootItemTemplate("skill_buff_onehandmelee_accuracy", skill_buff_onehandmelee_accuracy)
diff --git a/MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_onehandmelee_speed.lua b/MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_onehandmelee_speed.lua
new file mode 100644 (file)
index 0000000..da765bb
--- /dev/null
@@ -0,0 +1,12 @@
+skill_buff_onehandmelee_speed = {
+       minimumLevel = 0,
+       maximumLevel = -1,
+       customObjectName = "",
+       directObjectTemplate = "object/tangible/skill_buff/skill_buff_onehandmelee_speed.iff",
+       craftingValues = {
+       },
+       customizationStringNames = {},
+       customizationValues = {}
+}
+
+addLootItemTemplate("skill_buff_onehandmelee_speed", skill_buff_onehandmelee_speed)
diff --git a/MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_pistol_accuracy.lua b/MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_pistol_accuracy.lua
new file mode 100644 (file)
index 0000000..b3be798
--- /dev/null
@@ -0,0 +1,12 @@
+skill_buff_pistol_accuracy = {
+       minimumLevel = 0,
+       maximumLevel = -1,
+       customObjectName = "",
+       directObjectTemplate = "object/tangible/skill_buff/skill_buff_pistol_accuracy.iff",
+       craftingValues = {
+       },
+       customizationStringNames = {},
+       customizationValues = {}
+}
+
+addLootItemTemplate("skill_buff_pistol_accuracy", skill_buff_pistol_accuracy)
diff --git a/MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_pistol_speed.lua b/MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_pistol_speed.lua
new file mode 100644 (file)
index 0000000..8b58a3f
--- /dev/null
@@ -0,0 +1,12 @@
+skill_buff_pistol_speed = {
+       minimumLevel = 0,
+       maximumLevel = -1,
+       customObjectName = "",
+       directObjectTemplate = "object/tangible/skill_buff/skill_buff_pistol_speed.iff",
+       craftingValues = {
+       },
+       customizationStringNames = {},
+       customizationValues = {}
+}
+
+addLootItemTemplate("skill_buff_pistol_speed", skill_buff_pistol_speed)
diff --git a/MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_polearm_accuracy.lua b/MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_polearm_accuracy.lua
new file mode 100644 (file)
index 0000000..a9e5f6b
--- /dev/null
@@ -0,0 +1,12 @@
+skill_buff_polearm_accuracy = {
+       minimumLevel = 0,
+       maximumLevel = -1,
+       customObjectName = "",
+       directObjectTemplate = "object/tangible/skill_buff/skill_buff_polearm_accuracy.iff",
+       craftingValues = {
+       },
+       customizationStringNames = {},
+       customizationValues = {}
+}
+
+addLootItemTemplate("skill_buff_polearm_accuracy", skill_buff_polearm_accuracy)
diff --git a/MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_polearm_speed.lua b/MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_polearm_speed.lua
new file mode 100644 (file)
index 0000000..7d66890
--- /dev/null
@@ -0,0 +1,12 @@
+skill_buff_polearm_speed = {
+       minimumLevel = 0,
+       maximumLevel = -1,
+       customObjectName = "",
+       directObjectTemplate = "object/tangible/skill_buff/skill_buff_polearm_speed.iff",
+       craftingValues = {
+       },
+       customizationStringNames = {},
+       customizationValues = {}
+}
+
+addLootItemTemplate("skill_buff_polearm_speed", skill_buff_polearm_speed)
diff --git a/MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_ranged_accuracy.lua b/MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_ranged_accuracy.lua
new file mode 100644 (file)
index 0000000..cf331bd
--- /dev/null
@@ -0,0 +1,12 @@
+skill_buff_ranged_accuracy = {
+       minimumLevel = 0,
+       maximumLevel = -1,
+       customObjectName = "",
+       directObjectTemplate = "object/tangible/skill_buff/skill_buff_ranged_accuracy.iff",
+       craftingValues = {
+       },
+       customizationStringNames = {},
+       customizationValues = {}
+}
+
+addLootItemTemplate("skill_buff_ranged_accuracy", skill_buff_ranged_accuracy)
diff --git a/MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_ranged_defense.lua b/MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_ranged_defense.lua
new file mode 100644 (file)
index 0000000..f745a45
--- /dev/null
@@ -0,0 +1,12 @@
+skill_buff_ranged_defense = {
+       minimumLevel = 0,
+       maximumLevel = -1,
+       customObjectName = "",
+       directObjectTemplate = "object/tangible/skill_buff/skill_buff_ranged_defense.iff",
+       craftingValues = {
+       },
+       customizationStringNames = {},
+       customizationValues = {}
+}
+
+addLootItemTemplate("skill_buff_ranged_defense", skill_buff_ranged_defense)
diff --git a/MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_rifle_accuracy.lua b/MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_rifle_accuracy.lua
new file mode 100644 (file)
index 0000000..78491a4
--- /dev/null
@@ -0,0 +1,12 @@
+skill_buff_rifle_accuracy = {
+       minimumLevel = 0,
+       maximumLevel = -1,
+       customObjectName = "",
+       directObjectTemplate = "object/tangible/skill_buff/skill_buff_rifle_accuracy.iff",
+       craftingValues = {
+       },
+       customizationStringNames = {},
+       customizationValues = {}
+}
+
+addLootItemTemplate("skill_buff_rifle_accuracy", skill_buff_rifle_accuracy)
diff --git a/MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_rifle_speed.lua b/MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_rifle_speed.lua
new file mode 100644 (file)
index 0000000..12ddcd7
--- /dev/null
@@ -0,0 +1,12 @@
+skill_buff_rifle_speed = {
+       minimumLevel = 0,
+       maximumLevel = -1,
+       customObjectName = "",
+       directObjectTemplate = "object/tangible/skill_buff/skill_buff_rifle_speed.iff",
+       craftingValues = {
+       },
+       customizationStringNames = {},
+       customizationValues = {}
+}
+
+addLootItemTemplate("skill_buff_rifle_speed", skill_buff_rifle_speed)
diff --git a/MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_thrown_accuracy.lua b/MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_thrown_accuracy.lua
new file mode 100644 (file)
index 0000000..b776668
--- /dev/null
@@ -0,0 +1,12 @@
+skill_buff_thrown_accuracy = {
+       minimumLevel = 0,
+       maximumLevel = -1,
+       customObjectName = "",
+       directObjectTemplate = "object/tangible/skill_buff/skill_buff_thrown_accuracy.iff",
+       craftingValues = {
+       },
+       customizationStringNames = {},
+       customizationValues = {}
+}
+
+addLootItemTemplate("skill_buff_thrown_accuracy", skill_buff_thrown_accuracy)
diff --git a/MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_thrown_speed.lua b/MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_thrown_speed.lua
new file mode 100644 (file)
index 0000000..a265f57
--- /dev/null
@@ -0,0 +1,12 @@
+skill_buff_thrown_speed = {
+       minimumLevel = 0,
+       maximumLevel = -1,
+       customObjectName = "",
+       directObjectTemplate = "object/tangible/skill_buff/skill_buff_thrown_speed.iff",
+       craftingValues = {
+       },
+       customizationStringNames = {},
+       customizationValues = {}
+}
+
+addLootItemTemplate("skill_buff_thrown_speed", skill_buff_thrown_speed)
diff --git a/MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_twohandmelee_accuracy.lua b/MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_twohandmelee_accuracy.lua
new file mode 100644 (file)
index 0000000..5c3a335
--- /dev/null
@@ -0,0 +1,12 @@
+skill_buff_twohandmelee_accuracy = {
+       minimumLevel = 0,
+       maximumLevel = -1,
+       customObjectName = "",
+       directObjectTemplate = "object/tangible/skill_buff/skill_buff_twohandmelee_accuracy.iff",
+       craftingValues = {
+       },
+       customizationStringNames = {},
+       customizationValues = {}
+}
+
+addLootItemTemplate("skill_buff_twohandmelee_accuracy", skill_buff_twohandmelee_accuracy)
diff --git a/MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_twohandmelee_speed.lua b/MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_twohandmelee_speed.lua
new file mode 100644 (file)
index 0000000..10705f4
--- /dev/null
@@ -0,0 +1,12 @@
+skill_buff_twohandmelee_speed = {
+       minimumLevel = 0,
+       maximumLevel = -1,
+       customObjectName = "",
+       directObjectTemplate = "object/tangible/skill_buff/skill_buff_twohandmelee_speed.iff",
+       craftingValues = {
+       },
+       customizationStringNames = {},
+       customizationValues = {}
+}
+
+addLootItemTemplate("skill_buff_twohandmelee_speed", skill_buff_twohandmelee_speed)
diff --git a/MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_unarmed_accuracy.lua b/MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_unarmed_accuracy.lua
new file mode 100644 (file)
index 0000000..e4f744f
--- /dev/null
@@ -0,0 +1,12 @@
+skill_buff_unarmed_accuracy = {
+       minimumLevel = 0,
+       maximumLevel = -1,
+       customObjectName = "",
+       directObjectTemplate = "object/tangible/skill_buff/skill_buff_unarmed_accuracy.iff",
+       craftingValues = {
+       },
+       customizationStringNames = {},
+       customizationValues = {}
+}
+
+addLootItemTemplate("skill_buff_unarmed_accuracy", skill_buff_unarmed_accuracy)
diff --git a/MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_unarmed_speed.lua b/MMOCoreORB/bin/scripts/loot/items/skill_buff/skill_buff_unarmed_speed.lua
new file mode 100644 (file)
index 0000000..8111140
--- /dev/null
@@ -0,0 +1,12 @@
+skill_buff_unarmed_speed = {
+       minimumLevel = 0,
+       maximumLevel = -1,
+       customObjectName = "",
+       directObjectTemplate = "object/tangible/skill_buff/skill_buff_unarmed_speed.iff",
+       craftingValues = {
+       },
+       customizationStringNames = {},
+       customizationValues = {}
+}
+
+addLootItemTemplate("skill_buff_unarmed_speed", skill_buff_unarmed_speed)
index a78f074..c1d47e3 100644 (file)
 
 
 object_tangible_skill_buff_skill_buff_carbine_accuracy = object_tangible_skill_buff_shared_skill_buff_carbine_accuracy:new {
+       templateType = SKILLBUFF,
+       objectMenuComponent = {"cpp", "SkillBuffObjectMenuComponent"},
+       attributeListComponent = "SkillBuffObjectAttributeListComponent",
+       
+       duration = 300,
+       useCount = 5,
+       modifiers = { "carbine_accuracy", 10 },
+       buffName = "carbine_accuracy"
 
 }
 
index 1962d6f..7b17545 100644 (file)
 
 
 object_tangible_skill_buff_skill_buff_carbine_speed = object_tangible_skill_buff_shared_skill_buff_carbine_speed:new {
-
+       templateType = SKILLBUFF,
+       objectMenuComponent = {"cpp", "SkillBuffObjectMenuComponent"},
+       attributeListComponent = "SkillBuffObjectAttributeListComponent",
+       
+       duration = 300,
+       useCount = 5,
+       modifiers = { "carbine_speed", 10 },
+       buffName = "carbine_speed"
 }
 
 ObjectTemplates:addTemplate(object_tangible_skill_buff_skill_buff_carbine_speed, "object/tangible/skill_buff/skill_buff_carbine_speed.iff")
index cb9e389..f1e3170 100644 (file)
 
 
 object_tangible_skill_buff_skill_buff_heavy_weapon_accuracy = object_tangible_skill_buff_shared_skill_buff_heavy_weapon_accuracy:new {
-
+       templateType = SKILLBUFF,
+       objectMenuComponent = {"cpp", "SkillBuffObjectMenuComponent"},
+       attributeListComponent = "SkillBuffObjectAttributeListComponent",
+       
+       duration = 300,
+       useCount = 5,
+       modifiers = { "heavyweapon_accuracy", 10 },
+       buffName = "heavyweapon_accuracy"
 }
 
 ObjectTemplates:addTemplate(object_tangible_skill_buff_skill_buff_heavy_weapon_accuracy, "object/tangible/skill_buff/skill_buff_heavy_weapon_accuracy.iff")
index a589fe8..6cff96f 100644 (file)
 
 
 object_tangible_skill_buff_skill_buff_heavy_weapon_speed = object_tangible_skill_buff_shared_skill_buff_heavy_weapon_speed:new {
-
+       templateType = SKILLBUFF,
+       objectMenuComponent = {"cpp", "SkillBuffObjectMenuComponent"},
+       attributeListComponent = "SkillBuffObjectAttributeListComponent",
+       
+       duration = 300,
+       useCount = 5,
+       modifiers = { "heavyweapon_speed", 10 },
+       buffName = "heavyweapon_speed"
 }
 
 ObjectTemplates:addTemplate(object_tangible_skill_buff_skill_buff_heavy_weapon_speed, "object/tangible/skill_buff/skill_buff_heavy_weapon_speed.iff")
index fb748fd..d9377e0 100644 (file)
 
 
 object_tangible_skill_buff_skill_buff_mask_scent = object_tangible_skill_buff_shared_skill_buff_mask_scent:new {
-
+       templateType = SKILLBUFF,
+       objectMenuComponent = {"cpp", "SkillBuffObjectMenuComponent"},
+       attributeListComponent = "SkillBuffObjectAttributeListComponent",
+       
+       duration = 300,
+       useCount = 5,
+       modifiers = { "mask_scent", 10 },
+       buffName = "mask_scent"
 }
 
 ObjectTemplates:addTemplate(object_tangible_skill_buff_skill_buff_mask_scent, "object/tangible/skill_buff/skill_buff_mask_scent.iff")
index e8f70b0..3122626 100644 (file)
 
 
 object_tangible_skill_buff_skill_buff_melee_accuracy = object_tangible_skill_buff_shared_skill_buff_melee_accuracy:new {
-
+       templateType = SKILLBUFF,
+       objectMenuComponent = {"cpp", "SkillBuffObjectMenuComponent"},
+       attributeListComponent = "SkillBuffObjectAttributeListComponent",
+       
+       duration = 300,
+       useCount = 5,
+       modifiers = { "melee_accuracy", 10 },
+       buffName = "melee_accuracy"
 }
 
 ObjectTemplates:addTemplate(object_tangible_skill_buff_skill_buff_melee_accuracy, "object/tangible/skill_buff/skill_buff_melee_accuracy.iff")
index f83d039..1dce235 100644 (file)
 
 
 object_tangible_skill_buff_skill_buff_melee_defense = object_tangible_skill_buff_shared_skill_buff_melee_defense:new {
-
+       templateType = SKILLBUFF,
+       objectMenuComponent = {"cpp", "SkillBuffObjectMenuComponent"},
+       attributeListComponent = "SkillBuffObjectAttributeListComponent",
+       
+       duration = 300,
+       useCount = 5,
+       modifiers = { "melee_defense", 10 },
+       buffName = "melee_defense"
 }
 
 ObjectTemplates:addTemplate(object_tangible_skill_buff_skill_buff_melee_defense, "object/tangible/skill_buff/skill_buff_melee_defense.iff")
index a6d1540..9e72f0f 100644 (file)
 
 
 object_tangible_skill_buff_skill_buff_onehandmelee_accuracy = object_tangible_skill_buff_shared_skill_buff_onehandmelee_accuracy:new {
-
+       templateType = SKILLBUFF,
+       objectMenuComponent = {"cpp", "SkillBuffObjectMenuComponent"},
+       attributeListComponent = "SkillBuffObjectAttributeListComponent",
+       
+       duration = 300,
+       useCount = 5,
+       modifiers = { "onehandmelee_accuracy", 10 },
+       buffName = "onehandmelee_accuracy"
 }
 
 ObjectTemplates:addTemplate(object_tangible_skill_buff_skill_buff_onehandmelee_accuracy, "object/tangible/skill_buff/skill_buff_onehandmelee_accuracy.iff")
index 564f4a8..940fac2 100644 (file)
 
 
 object_tangible_skill_buff_skill_buff_onehandmelee_speed = object_tangible_skill_buff_shared_skill_buff_onehandmelee_speed:new {
-
+       templateType = SKILLBUFF,
+       objectMenuComponent = {"cpp", "SkillBuffObjectMenuComponent"},
+       attributeListComponent = "SkillBuffObjectAttributeListComponent",
+       
+       duration = 300,
+       useCount = 5,
+       modifiers = { "onehandmelee_speed", 10 },
+       buffName = "onehandmelee_speed"
 }
 
 ObjectTemplates:addTemplate(object_tangible_skill_buff_skill_buff_onehandmelee_speed, "object/tangible/skill_buff/skill_buff_onehandmelee_speed.iff")
index d1913ba..2b61e1a 100644 (file)
 
 
 object_tangible_skill_buff_skill_buff_pistol_accuracy = object_tangible_skill_buff_shared_skill_buff_pistol_accuracy:new {
-
+       templateType = SKILLBUFF,
+       objectMenuComponent = {"cpp", "SkillBuffObjectMenuComponent"},
+       attributeListComponent = "SkillBuffObjectAttributeListComponent",
+       
+       duration = 300,
+       useCount = 5,
+       modifiers = { "pistol_accuracy", 10 },
+       buffName = "pistol_accuracy"
 }
 
 ObjectTemplates:addTemplate(object_tangible_skill_buff_skill_buff_pistol_accuracy, "object/tangible/skill_buff/skill_buff_pistol_accuracy.iff")
index 967f34b..ac55fb8 100644 (file)
 
 
 object_tangible_skill_buff_skill_buff_pistol_speed = object_tangible_skill_buff_shared_skill_buff_pistol_speed:new {
-
+       templateType = SKILLBUFF,
+       objectMenuComponent = {"cpp", "SkillBuffObjectMenuComponent"},
+       attributeListComponent = "SkillBuffObjectAttributeListComponent",
+       
+       duration = 300,
+       useCount = 5,
+       modifiers = { "pistol_speed", 10 },
+       buffName = "pistol_speed"
 }
 
 ObjectTemplates:addTemplate(object_tangible_skill_buff_skill_buff_pistol_speed, "object/tangible/skill_buff/skill_buff_pistol_speed.iff")
index fd9f5a1..5238e83 100644 (file)
 
 
 object_tangible_skill_buff_skill_buff_polearm_accuracy = object_tangible_skill_buff_shared_skill_buff_polearm_accuracy:new {
-
+       templateType = SKILLBUFF,
+       objectMenuComponent = {"cpp", "SkillBuffObjectMenuComponent"},
+       attributeListComponent = "SkillBuffObjectAttributeListComponent",
+       
+       duration = 300,
+       useCount = 5,
+       modifiers = { "polearm_accuracy", 10 },
+       buffName = "polearm_accuracy"
 }
 
 ObjectTemplates:addTemplate(object_tangible_skill_buff_skill_buff_polearm_accuracy, "object/tangible/skill_buff/skill_buff_polearm_accuracy.iff")
index fddbb8a..2328696 100644 (file)
 
 
 object_tangible_skill_buff_skill_buff_polearm_speed = object_tangible_skill_buff_shared_skill_buff_polearm_speed:new {
-
+       templateType = SKILLBUFF,
+       objectMenuComponent = {"cpp", "SkillBuffObjectMenuComponent"},
+       attributeListComponent = "SkillBuffObjectAttributeListComponent",
+       
+       duration = 300,
+       useCount = 5,
+       modifiers = { "polearm_speed", 10 },
+       buffName = "polearm_speed"
 }
 
 ObjectTemplates:addTemplate(object_tangible_skill_buff_skill_buff_polearm_speed, "object/tangible/skill_buff/skill_buff_polearm_speed.iff")
index ffa53af..8696cfa 100644 (file)
 
 
 object_tangible_skill_buff_skill_buff_ranged_accuracy = object_tangible_skill_buff_shared_skill_buff_ranged_accuracy:new {
-
+       templateType = SKILLBUFF,
+       objectMenuComponent = {"cpp", "SkillBuffObjectMenuComponent"},
+       attributeListComponent = "SkillBuffObjectAttributeListComponent",
+       
+       duration = 300,
+       useCount = 5,
+       modifiers = { "ranged_accuracy", 10 },
+       buffName = "ranged_accuracy"
 }
 
 ObjectTemplates:addTemplate(object_tangible_skill_buff_skill_buff_ranged_accuracy, "object/tangible/skill_buff/skill_buff_ranged_accuracy.iff")
index d7a6397..8a08c77 100644 (file)
 
 
 object_tangible_skill_buff_skill_buff_ranged_defense = object_tangible_skill_buff_shared_skill_buff_ranged_defense:new {
-
+       templateType = SKILLBUFF,
+       objectMenuComponent = {"cpp", "SkillBuffObjectMenuComponent"},
+       attributeListComponent = "SkillBuffObjectAttributeListComponent",
+       
+       duration = 300,
+       useCount = 5,
+       modifiers = { "ranged_defense", 10 },
+       buffName = "ranged_defense"
 }
 
 ObjectTemplates:addTemplate(object_tangible_skill_buff_skill_buff_ranged_defense, "object/tangible/skill_buff/skill_buff_ranged_defense.iff")
index 1c4f52d..acbd550 100644 (file)
 
 
 object_tangible_skill_buff_skill_buff_rifle_accuracy = object_tangible_skill_buff_shared_skill_buff_rifle_accuracy:new {
-
+       templateType = SKILLBUFF,
+       objectMenuComponent = {"cpp", "SkillBuffObjectMenuComponent"},
+       attributeListComponent = "SkillBuffObjectAttributeListComponent",
+       
+       duration = 300,
+       useCount = 5,
+       modifiers = { "rifle_accuracy", 10 },
+       buffName = "rifle_accuracy"
 }
 
 ObjectTemplates:addTemplate(object_tangible_skill_buff_skill_buff_rifle_accuracy, "object/tangible/skill_buff/skill_buff_rifle_accuracy.iff")
index 3057258..f6d23d8 100644 (file)
 
 
 object_tangible_skill_buff_skill_buff_rifle_speed = object_tangible_skill_buff_shared_skill_buff_rifle_speed:new {
-
+       templateType = SKILLBUFF,
+       objectMenuComponent = {"cpp", "SkillBuffObjectMenuComponent"},
+       attributeListComponent = "SkillBuffObjectAttributeListComponent",
+       
+       duration = 300,
+       useCount = 5,
+       modifiers = { "rifle_speed", 10 },
+       buffName = "rifle_speed"
 }
 
 ObjectTemplates:addTemplate(object_tangible_skill_buff_skill_buff_rifle_speed, "object/tangible/skill_buff/skill_buff_rifle_speed.iff")
index 9c35f1b..2e1efcd 100644 (file)
 
 
 object_tangible_skill_buff_skill_buff_thrown_accuracy = object_tangible_skill_buff_shared_skill_buff_thrown_accuracy:new {
-
+       templateType = SKILLBUFF,
+       objectMenuComponent = {"cpp", "SkillBuffObjectMenuComponent"},
+       attributeListComponent = "SkillBuffObjectAttributeListComponent",
+       
+       duration = 300,
+       useCount = 5,
+       modifiers = { "thrown_accuracy", 10 },
+       buffName = "thrown_accuracy"
 }
 
 ObjectTemplates:addTemplate(object_tangible_skill_buff_skill_buff_thrown_accuracy, "object/tangible/skill_buff/skill_buff_thrown_accuracy.iff")
index 1d666f4..44e05d1 100644 (file)
 
 
 object_tangible_skill_buff_skill_buff_thrown_speed = object_tangible_skill_buff_shared_skill_buff_thrown_speed:new {
-
+       templateType = SKILLBUFF,
+       objectMenuComponent = {"cpp", "SkillBuffObjectMenuComponent"},
+       attributeListComponent = "SkillBuffObjectAttributeListComponent",
+       
+       duration = 300,
+       useCount = 5,
+       modifiers = { "thrown_speed", 10 },
+       buffName = "thrown_speed"
 }
 
 ObjectTemplates:addTemplate(object_tangible_skill_buff_skill_buff_thrown_speed, "object/tangible/skill_buff/skill_buff_thrown_speed.iff")
index 035404d..b55143a 100644 (file)
 
 
 object_tangible_skill_buff_skill_buff_twohandmelee_accuracy = object_tangible_skill_buff_shared_skill_buff_twohandmelee_accuracy:new {
-
+       templateType = SKILLBUFF,
+       objectMenuComponent = {"cpp", "SkillBuffObjectMenuComponent"},
+       attributeListComponent = "SkillBuffObjectAttributeListComponent",
+       
+       duration = 300,
+       useCount = 5,
+       modifiers = { "twohandmelee_accuracy", 10 },
+       buffName = "twohandmelee_accuracy"
 }
 
 ObjectTemplates:addTemplate(object_tangible_skill_buff_skill_buff_twohandmelee_accuracy, "object/tangible/skill_buff/skill_buff_twohandmelee_accuracy.iff")
index 01cae3f..a73496f 100644 (file)
 
 
 object_tangible_skill_buff_skill_buff_twohandmelee_speed = object_tangible_skill_buff_shared_skill_buff_twohandmelee_speed:new {
-
+       templateType = SKILLBUFF,
+       objectMenuComponent = {"cpp", "SkillBuffObjectMenuComponent"},
+       attributeListComponent = "SkillBuffObjectAttributeListComponent",
+       
+       duration = 300,
+       useCount = 5,
+       modifiers = { "twohandmelee_speed", 10 },
+       buffName = "twohandmelee_speed"
 }
 
 ObjectTemplates:addTemplate(object_tangible_skill_buff_skill_buff_twohandmelee_speed, "object/tangible/skill_buff/skill_buff_twohandmelee_speed.iff")
index 551c005..e0edce3 100644 (file)
 
 
 object_tangible_skill_buff_skill_buff_unarmed_accuracy = object_tangible_skill_buff_shared_skill_buff_unarmed_accuracy:new {
-
+       templateType = SKILLBUFF,
+       objectMenuComponent = {"cpp", "SkillBuffObjectMenuComponent"},
+       attributeListComponent = "SkillBuffObjectAttributeListComponent",
+       
+       duration = 300,
+       useCount = 5,
+       modifiers = { "unarmed_accuracy", 10 },
+       buffName = "unarmed_accuracy"
 }
 
 ObjectTemplates:addTemplate(object_tangible_skill_buff_skill_buff_unarmed_accuracy, "object/tangible/skill_buff/skill_buff_unarmed_accuracy.iff")
index fc632f7..ff6b962 100644 (file)
 
 
 object_tangible_skill_buff_skill_buff_unarmed_speed = object_tangible_skill_buff_shared_skill_buff_unarmed_speed:new {
-
+       templateType = SKILLBUFF,
+       objectMenuComponent = {"cpp", "SkillBuffObjectMenuComponent"},
+       attributeListComponent = "SkillBuffObjectAttributeListComponent",
+       
+       duration = 300,
+       useCount = 5,
+       modifiers = { "unarmed_accuracy", 10 },
+       buffName = "unarmed_accuracy"
 }
 
 ObjectTemplates:addTemplate(object_tangible_skill_buff_skill_buff_unarmed_speed, "object/tangible/skill_buff/skill_buff_unarmed_speed.iff")
index 1b22cbf..dec55c1 100644 (file)
@@ -406,6 +406,7 @@ core3_SOURCES =     $(core3_IDLS) \
                server/zone/objects/tangible/components/LightsaberObjectMenuComponent.cpp \
                server/zone/objects/tangible/components/SaberInventoryContainerComponent.cpp \
                server/zone/objects/tangible/components/RobeObjectMenuComponent.cpp \
+               server/zone/objects/tangible/components/SkillBuffObjectMenuComponent.cpp \
                server/zone/objects/tangible/components/generic/ShellfishHarvesterMenuComponent.cpp \
                server/zone/objects/tangible/components/generic/CreatureHabitatMenuComponent.cpp \
                server/zone/objects/scene/components/LuaObjectMenuComponent.cpp \
index 51c20f4..403a071 100644 (file)
@@ -55,6 +55,8 @@
 #include "server/zone/objects/tangible/components/SaberInventoryContainerComponent.h"
 #include "server/zone/objects/tangible/components/generic/LootSchematicAttributeListComponent.h"
 #include "server/zone/objects/tangible/components/RobeObjectAttributeListComponent.h"
+#include "server/zone/objects/tangible/components/SkillBuffObjectAttributeListComponent.h"
+#include "server/zone/objects/tangible/components/SkillBuffObjectMenuComponent.h"
 #include "server/zone/objects/tangible/deed/components/PlaceStructureComponent.h"
 #include "server/zone/objects/tangible/deed/components/PlaceCityHallComponent.h"
 #include "server/zone/objects/tangible/deed/components/PlaceGCWBaseComponent.h"
@@ -154,6 +156,9 @@ ComponentManager::ComponentManager() {
 
        components.put("RobeObjectAttributeListComponent", new RobeObjectAttributeListComponent());
 
+       components.put("SkillBuffObjectAttributeListComponent", new SkillBuffObjectAttributeListComponent());
+       components.put("SkillBuffObjectMenuComponent", new SkillBuffObjectMenuComponent());
+
        components.put("PlaceStructureComponent", new PlaceStructureComponent());
        components.put("PlaceCityHallComponent", new PlaceCityHallComponent());
        components.put("PlaceGCWBaseComponent", new PlaceGCWBaseComponent());
index 124e0e2..3029dcb 100644 (file)
@@ -31,6 +31,7 @@
 #include "server/zone/templates/tangible/SharedShipObjectTemplate.h"
 #include "server/zone/templates/tangible/SharedWeaponObjectTemplate.h"
 #include "server/zone/templates/tangible/StimPackTemplate.h"
+#include "server/zone/templates/tangible/SkillBuffTemplate.h"
 #include "server/zone/templates/tangible/ConsumableTemplate.h"
 #include "server/zone/templates/tangible/InstrumentObjectTemplate.h"
 #include "server/zone/templates/tangible/RangedStimPackTemplate.h"
@@ -542,6 +543,7 @@ void TemplateManager::registerTemplateObjects() {
        templateFactory.registerObject<DotPackTemplate>(SharedObjectTemplate::DOTPACK);
        templateFactory.registerObject<WoundPackTemplate>(SharedObjectTemplate::WOUNDPACK);
        templateFactory.registerObject<StatePackTemplate>(SharedObjectTemplate::STATEPACK);
+       templateFactory.registerObject<SkillBuffTemplate>(SharedObjectTemplate::SKILLBUFF);
        templateFactory.registerObject<ConsumableTemplate>(SharedObjectTemplate::CONSUMABLE);
        templateFactory.registerObject<InstrumentObjectTemplate>(SharedObjectTemplate::INSTRUMENT);
        templateFactory.registerObject<CampKitTemplate>(SharedObjectTemplate::CAMPKIT);
@@ -690,6 +692,7 @@ void TemplateManager::registerGlobals() {
        luaTemplatesInstance->setGlobalInt("DOTPACK", SharedObjectTemplate::DOTPACK);
        luaTemplatesInstance->setGlobalInt("WOUNDPACK", SharedObjectTemplate::WOUNDPACK);
        luaTemplatesInstance->setGlobalInt("STATEPACK", SharedObjectTemplate::STATEPACK);
+       luaTemplatesInstance->setGlobalInt("SKILLBUFF", SharedObjectTemplate::SKILLBUFF);
        luaTemplatesInstance->setGlobalInt("CONSUMABLE", SharedObjectTemplate::CONSUMABLE);
        luaTemplatesInstance->setGlobalInt("INSTRUMENT", SharedObjectTemplate::INSTRUMENT);
        luaTemplatesInstance->setGlobalInt("CAMPKIT", SharedObjectTemplate::CAMPKIT);
diff --git a/MMOCoreORB/src/server/zone/objects/tangible/components/SkillBuffObjectAttributeListComponent.h b/MMOCoreORB/src/server/zone/objects/tangible/components/SkillBuffObjectAttributeListComponent.h
new file mode 100644 (file)
index 0000000..86e8084
--- /dev/null
@@ -0,0 +1,61 @@
+/*
+ * SkillBuffTemplate.h
+ *
+ *  Created on: 9/21/2013
+ *      Author: Klivian
+ */
+
+#ifndef SKILLBUFFATTRIBUTELISTCOMPONENT_H_
+#define SKILLBUFFATTRIBUTELISTCOMPONENT_H_
+
+#include "server/zone/templates/tangible/SkillBuffTemplate.h"
+#include "server/zone/objects/scene/components/AttributeListComponent.h"
+#include "server/zone/objects/tangible/TangibleObject.h"
+
+class SkillBuffObjectAttributeListComponent: public AttributeListComponent {
+public:
+
+       /**
+        * Fills the Attributes
+        * @pre { this object is locked }
+        * @post { this object is locked, menuResponse is complete}
+        * @param menuResponse ObjectMenuResponse that will be sent to the client
+        */
+       void fillAttributeList(AttributeListMessage* alm, CreatureObject* creature, SceneObject* object) {
+
+               ManagedReference<SkillBuffTemplate*> skillBuff = cast<SkillBuffTemplate*>(object->getObjectTemplate());
+               if (skillBuff == NULL) {
+                       error("No SkillBuffTemplate for: " + String::valueOf(object->getServerObjectCRC()));
+                       return;
+               }
+
+               if(!object->isTangibleObject())
+                       return;
+
+               ManagedReference<TangibleObject*> tano = cast<TangibleObject*>(object);
+               if(tano->getUseCount() > 1)
+                       alm->insertAttribute("quantity", tano->getUseCount());
+
+               VectorMap<String,float>* modifiers = skillBuff->getModifiers();
+
+               for (int i = 0; i < modifiers->size(); ++i) {
+                       VectorMapEntry<String, float>* entry = &modifiers->elementAt(i);
+                       alm->insertAttribute("skill", "@stat_n:" + entry->getKey());
+               }
+
+               StringBuffer durationstring;
+               int minutes = (int) floor(skillBuff->getDuration() / 60.0f);
+               int seconds = skillBuff->getDuration() % 60;
+
+               if (minutes > 0){
+                       durationstring << minutes << "m ";
+               }
+
+               durationstring << seconds << "s";
+
+               alm->insertAttribute("duration", durationstring.toString());
+       }
+
+};
+
+#endif /* SKILLBUFFATTRIBUTELISTCOMPONENT_H_ */
diff --git a/MMOCoreORB/src/server/zone/objects/tangible/components/SkillBuffObjectMenuComponent.cpp b/MMOCoreORB/src/server/zone/objects/tangible/components/SkillBuffObjectMenuComponent.cpp
new file mode 100644 (file)
index 0000000..90733bf
--- /dev/null
@@ -0,0 +1,84 @@
+/*
+ * SkillBuffObjectMenuComponent.cpp
+ *
+ *  Created on: 9/21/2013
+ *      Author: Klivian
+ */
+
+#include "server/zone/objects/creature/CreatureObject.h"
+#include "server/zone/objects/player/PlayerObject.h"
+#include "SkillBuffObjectMenuComponent.h"
+#include "server/zone/objects/scene/components/ObjectMenuComponent.h"
+#include "server/zone/packets/object/ObjectMenuResponse.h"
+#include "server/zone/objects/creature/buffs/Buff.h"
+#include "server/zone/templates/tangible/SkillBuffTemplate.h"
+#include "server/zone/managers/objectcontroller/ObjectController.h"
+
+void SkillBuffObjectMenuComponent::fillObjectMenuResponse(SceneObject* sceneObject, ObjectMenuResponse* menuResponse, CreatureObject* player) {
+
+       if(!sceneObject->isTangibleObject())
+               return;
+
+       TangibleObject* tano = cast<TangibleObject*>(sceneObject);
+       if(tano == NULL)
+               return;
+
+       TangibleObjectMenuComponent::fillObjectMenuResponse(sceneObject, menuResponse, player);
+
+}
+
+int SkillBuffObjectMenuComponent::handleObjectMenuSelect(SceneObject* sceneObject, CreatureObject* player, byte selectedID) {
+
+       if (!sceneObject->isASubChildOf(player))
+               return 0;
+
+       if (selectedID != 20) {
+               return TangibleObjectMenuComponent::handleObjectMenuSelect(sceneObject, player, selectedID);
+       }
+
+       if (player->isDead() || player->isIncapacitated())
+               return 0;
+
+       if(!sceneObject->isTangibleObject())
+               return 0;
+
+       ManagedReference<TangibleObject*> tano = cast<TangibleObject*>(sceneObject);
+
+       ManagedReference<SkillBuffTemplate*> skillBuff = cast<SkillBuffTemplate*>(sceneObject->getObjectTemplate());
+       if (skillBuff == NULL) {
+               error("No SkillBuffTemplate for: " + String::valueOf(sceneObject->getServerObjectCRC()));
+               return 1;
+       }
+
+       unsigned int buffCRC = skillBuff->getBuffName().hashCode();
+       int duration = skillBuff->getDuration();
+       VectorMap<String, float>* modifiers = skillBuff->getModifiers();
+
+       // Check if buff of same type is already active
+       if ( player->hasBuff(buffCRC) ) {
+               player->sendSystemMessage("@skill_buff_n:already_have"); //You already have that skill modifier active.
+               return 0;
+       }
+
+       // Build buff
+       ManagedReference<Buff*> buff = new Buff(player, buffCRC, duration, BuffType::SKILL);
+       for (int i = 0; i < modifiers->size(); ++i) {
+               String attribute = modifiers->elementAt(i).getKey();
+               float value = modifiers->elementAt(i).getValue();
+               buff->setSkillModifier(attribute, (int)value);
+       }
+
+       // Submit buff
+       if (buff != NULL){
+               player->addBuff(buff);
+       }
+
+       // Send message to player
+       StringIdChatParameter stringId("skill_buff_d", "consume"); // You feel enhanced!
+       player->sendSystemMessage(stringId);
+
+       //Consume a charge from the item, destroy it if it reaches 0 charges remaining.
+       tano->decreaseUseCount();
+
+       return TangibleObjectMenuComponent::handleObjectMenuSelect(sceneObject, player, selectedID);
+}
diff --git a/MMOCoreORB/src/server/zone/objects/tangible/components/SkillBuffObjectMenuComponent.h b/MMOCoreORB/src/server/zone/objects/tangible/components/SkillBuffObjectMenuComponent.h
new file mode 100644 (file)
index 0000000..a88e85a
--- /dev/null
@@ -0,0 +1,37 @@
+/*
+ * SkillBuffMenuComponent.h
+ *
+ *  Created on: 9/20/2013
+ *      Author: Klivian
+ */
+
+#ifndef SKILLBUFFOBJECTMENUCOMPONENT_H_
+#define SKILLBUFFOBJECTMENUCOMPONENT_H_
+
+#include "TangibleObjectMenuComponent.h"
+
+class SkillBuffObjectMenuComponent : public TangibleObjectMenuComponent {
+public:
+
+       /**
+        * Fills the radial options, needs to be overriden
+        * @pre { this object is locked }
+        * @post { this object is locked, menuResponse is complete}
+        * @param menuResponse ObjectMenuResponse that will be sent to the client
+        */
+       virtual void fillObjectMenuResponse(SceneObject* sceneObject, ObjectMenuResponse* menuResponse, CreatureObject* player);
+
+       /**
+        * Handles the radial selection sent by the client, must be overriden by inherited objects
+        * @pre { this object is locked, player is locked }
+        * @post { this object is locked, player is locked }
+        * @param player PlayerCreature that selected the option
+        * @param selectedID selected menu id
+        * @returns 0 if successfull
+        */
+       virtual int handleObjectMenuSelect(SceneObject* sceneObject, CreatureObject* player, byte selectedID);
+
+};
+
+
+#endif /* SKILLBUFFOBJECTMENUCOMPONENT_H_ */
index 9ca3e8f..f20fcf9 100644 (file)
@@ -179,6 +179,7 @@ public:
        const static int RECYCLETOOL = 0x4000038;
        const static int DNASAMPLE = 0x4000039;
        const static int PETDEED = 0x4000040;
+       const static int SKILLBUFF = 0x4000042;
 
 public:
        SharedObjectTemplate();
@@ -607,6 +608,10 @@ public:
                return false;
        }
 
+       virtual bool isSkillBuffTemplate() {
+               return false;
+       }
+
        virtual bool isLairObjectTemplate() {
                return false;
        }
diff --git a/MMOCoreORB/src/server/zone/templates/tangible/SkillBuffTemplate.h b/MMOCoreORB/src/server/zone/templates/tangible/SkillBuffTemplate.h
new file mode 100644 (file)
index 0000000..44b7793
--- /dev/null
@@ -0,0 +1,66 @@
+/*
+ * SkillBuffTemplate.h
+ *
+ *  Created on: 9/21/2013
+ *      Author: Klivian
+ */
+
+#ifndef SKILLBUFFTEMPLATE_H_
+#define SKILLBUFFTEMPLATE_H_
+
+#include "../SharedTangibleObjectTemplate.h"
+
+class SkillBuffTemplate : public SharedTangibleObjectTemplate {
+       int duration;
+       VectorMap<String, float> modifiers;
+       String buffName;
+
+public:
+       SkillBuffTemplate() {
+
+       }
+
+       ~SkillBuffTemplate() {
+
+       }
+
+       void readObject(LuaObject* templateData) {
+               SharedTangibleObjectTemplate::readObject(templateData);
+
+               duration = templateData->getIntField("duration");
+
+               modifiers.removeAll();
+               LuaObject mods = templateData->getObjectField("modifiers");
+
+               for (int i = 1; i <= mods.getTableSize(); i += 2) {
+                       String attribute = mods.getStringAt(i);
+                       float value = mods.getFloatAt(i + 1);
+
+                       modifiers.put(attribute, value);
+               }
+               mods.pop();
+
+               buffName = templateData->getStringField("buffName");
+
+    }
+
+    inline String& getBuffName() {
+               return buffName;
+       }
+
+    inline int getDuration() const {
+               return duration;
+       }
+
+       VectorMap<String, float>* getModifiers() {
+               return &modifiers;
+       }
+
+       bool isSkillBuffTemplate() {
+               return true;
+       }
+
+};
+
+
+#endif /* SKILLBUFFTEMPLATE_H_ */