Skip to content

Commit b6184fb

Browse files
committed
Lifeday gifts and collections
1 parent 79e8b25 commit b6184fb

6 files changed

Lines changed: 130 additions & 1 deletion

File tree

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import sys
22

33
def setup(core, object):
4-
return
4+
object.setAttachment('radial_filename', 'main_lifeday_tree')
5+
return
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import sys
2+
3+
def setup(core, object):
4+
object.setStfName('item_lifeday_gift_other_01_01')
5+
object.setDetailName('item_lifeday_gift_other_01_01')
6+
object.setCustomName('Life Day Gift Box For A Friend')
7+
object.setIntAttribute('volume', 1)
8+
object.setIntAttribute('tier', 2)
9+
object.setAttachment('radial_filename', 'lifeday_gift')
10+
return
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import sys
2+
3+
def setup(core, object):
4+
object.setStfName('item_lifeday_gift_self_01_01')
5+
object.setDetailName('item_lifeday_gift_self_01_01')
6+
object.setCustomName('Life Day Gift Box')
7+
object.setIntAttribute('volume', 1)
8+
object.setIntAttribute('no_trade', 1)
9+
object.setIntAttribute('tier', 2)
10+
object.setAttachment('radial_filename', 'lifeday_gift')
11+
return

scripts/radial/lifeday_gift.py

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
from resources.common import RadialOptions
2+
import sys
3+
from java.util import Random
4+
5+
def createRadial(core, owner, target, radials):
6+
radials.clear()
7+
radials.add(RadialOptions(0, 21, 1, ''))
8+
return
9+
10+
def handleSelection(core, actor, object, option):
11+
if option == 21:
12+
if object.getAttachment('ownerId') and actor.getObjectID() == object.getAttachment('ownerId'):
13+
return
14+
15+
random = java.util.Random()
16+
giftNum = random.nextInt(12)
17+
18+
if giftNum == 0:
19+
objectName = 'rewards_09/shared_lifeday_decor_cookie'
20+
elif giftNum == 1:
21+
objectName = 'rewards_09/shared_lifeday_decor_fruitcake'
22+
elif giftNum == 2:
23+
objectName = 'rewards_09/shared_lifeday_decor_hoth_chocolate'
24+
elif giftNum == 3:
25+
objectName = 'rewards_09/shared_lifeday_decor_varactyl_nog'
26+
elif giftNum == 4:
27+
objectName = 'rewards_09/shared_lifeday_fireplace_01'
28+
elif giftNum == 5:
29+
objectName = 'rewards_09/shared_lifeday_fireplace_02'
30+
elif giftNum == 6:
31+
objectName = 'rewards_09/shared_lifeday_lamp_01'
32+
elif giftNum == 7:
33+
objectName = 'rewards_09/shared_lifeday_lamp_02'
34+
elif giftNum == 8:
35+
objectName = 'rewards_09/shared_lifeday_ornament'
36+
elif giftNum == 9:
37+
objectName = 'shared_life_day_present'
38+
elif giftNum == 10:
39+
objectName = 'shared_life_day_tree'
40+
elif giftNum == 11:
41+
objectName = 'shared_life_day_tree_dressed'
42+
else:
43+
objectName = 'rewards_09/shared_lifeday_ornament'
44+
45+
inventory = actor.getSlottedObject('inventory')
46+
47+
if not inventory:
48+
return
49+
50+
reward1 = core.objectService.createObject('object/holiday/life_day/rewards_09/shared_lifeday_painting.iff', actor.getPlanet())
51+
reward2 = core.objectService.createObject('object/holiday/life_day/' + objectName + '.iff', actor.getPlanet())
52+
53+
inventory.add(reward1)
54+
inventory.add(reward2)
55+
56+
core.objectService.destroyObject(object)
57+
return
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
from resources.common import RadialOptions
2+
import sys
3+
4+
def createRadial(core, owner, target, radials):
5+
radials.clear()
6+
player = owner.getSlottedObject('ghost')
7+
radials.add(RadialOptions(0, 7, 1, ''))
8+
if player and core.collectionService.isComplete(owner, 'col_lifeday_tree_tracking_2010'):
9+
radials.add(RadialOptions(0, 21, 3, '@spam:tree_use'))
10+
if player and core.collectionService.isComplete(owner, 'lifeday_badge_08'):
11+
radials.add(RadialOptions(0, 115, 3, '@spam:tree_badge'))
12+
return
13+
14+
def handleSelection(core, owner, target, option):
15+
actor = owner
16+
object = target
17+
18+
if option == 115:
19+
core.collectionService.addCollection(owner, 'lifeday_badge_08')
20+
return
21+
22+
if option != 21 or not object:
23+
return
24+
25+
player = actor.getSlottedObject('ghost')
26+
27+
if not player:
28+
return
29+
30+
if core.collectionService.isComplete(actor, 'lifeday_badge_08'):
31+
return
32+
33+
inventory = actor.getSlottedObject('inventory')
34+
35+
if not inventory:
36+
return
37+
38+
lifedaybox = core.objectService.createObject('object/tangible/loot/creature_loot/collections/shared_dejarik_table_base.iff', actor.getPlanet(), 'item_lifeday_gift_self_01_01')
39+
lifedaybox.setAttachment('radial_filename', 'lifeday_gift')
40+
inventory.add(lifedaybox)
41+
42+
lifedayboxfriend = core.objectService.createObject('object/tangible/loot/creature_loot/collections/shared_dejarik_table_base.iff', actor.getPlanet(), 'item_lifeday_gift_other_01_01')
43+
lifedayboxfriend.setAttachment('ownerId', actor.getObjectID())
44+
inventory.add(lifedayboxfriend)
45+
46+
core.collectionService.addCollection(owner, 'col_lifeday_tree_tracking_2010')

src/services/object/ObjectService.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -296,6 +296,10 @@ public SWGObject createObject(String Template, Planet planet) {
296296
return createObject(Template, 0, planet, new Point3D(0, 0, 0), new Quaternion(1, 0, 0, 0));
297297
}
298298

299+
public SWGObject createObject(String Template, Planet planet, String customServerTemplate) {
300+
return createObject(Template, 0, planet, new Point3D(0, 0, 0), new Quaternion(1, 0, 0, 0), customServerTemplate);
301+
}
302+
299303
public SWGObject createObject(String Template, Planet planet, float x, float z, float y) {
300304
return createObject(Template, 0, planet, new Point3D(x, y, z), new Quaternion(1, 0, 0, 0));
301305
}

0 commit comments

Comments
 (0)