Contract con_bbf_events_01


Contract Code


  
1 random.seed()
2 last_event = Variable()
3
4 @construct
5 def seed():
6 last_event.set(0)
7
8 @export
9 def event(plant_data: dict):
10
11 event_names = {
12 1 : freak_rain, #extra water
13 2 : hot_day, #lose water
14 3 : swarm, #more bugs
15 4 : birds, #less bugs
16 5 : toxic_rain, #increase toxicity
17 6 : lawn_gnomes, #decrease toxicity
18 7 : solar_eclipse, #less photosynthesis
19 8 : solar_flare, #more photosynthesis
20 9 : extra_manure, #increased nutrients
21 10 : greedy_weeds, #decreased nutrients
22 11 : fertilizer_backfire, #increased weeds
23 12 : friendly_snails #decreased weeds
24 }
25
26 event_num = (random.randint(1, 12))
27 last_event.set(event_num)
28 event_names[event_num](plant_data)
29
30 def freak_rain(plant_data):
31 plant_data["current_water"] += (random.randint(3, 15))
32 return plant_data
33
34 def hot_day(plant_data):
35 plant_data["current_water"] -= (random.randint(3, 15))
36 return plant_data
37
38 def swarm(plant_data):
39 plant_data["current_bugs"] += (random.randint(3, 15))
40 return plant_data
41
42 def birds(plant_data):
43 plant_data["current_bugs"] -= (random.randint(3, 15))
44 return plant_data
45
46 def toxic_rain(plant_data):
47 plant_data["current_toxicity"] += (random.randint(3, 15))
48 return plant_data
49
50 def lawn_gnomes(plant_data):
51 plant_data["current_toxicity"] -= (random.randint(3, 15))
52 return plant_data
53
54 def solar_eclipse(plant_data):
55 plant_data["current_photosynthesis"] -= (random.randint(3, 10))
56 return plant_data
57
58 def solar_flare(plant_data):
59 plant_data["current_photosynthesis"] += (random.randint(3, 10))
60 return plant_data
61
62 def extra_manure(plant_data):
63 plant_data["current_nutrients"] += (random.randint(3, 15))
64 return plant_data
65
66 def greedy_weeds(plant_data):
67 plant_data["current_nutrients"] -= (random.randint(3, 15))
68 return plant_data
69
70 def fertilizer_backfire(plant_data):
71 plant_data["current_weeds"] += (random.randint(3, 15))
72 return plant_data
73
74 def friendly_snails(plant_data):
75 plant_data["current_weeds"] -= (random.randint(3, 15))
76 return plant_data
77
78

Byte Code

e30000000000000000000000000400000040000000739600000065006a018300010065026400640164028d025a036403640484005a04650564008301650664059c0164066407840483015a076408640984005a08640a640b84005a09640c640d84005a0a640e640f84005a0b6410641184005a0c6412641384005a0d6414641584005a0e6416641784005a0f6418641984005a10641a641b84005a11641c641d84005a12641e641f84005a13642053002921da11636f6e5f6262665f6576656e74735f3031da0a6c6173745f6576656e742902da08636f6e7472616374da046e616d65630000000000000000000000000200000043000000730e00000074006a016401830101006400530029024ee9000000002902da0c5f5f6c6173745f6576656e74da03736574a90072080000007208000000da00da045f5f5f5f0500000073020000000001720a0000002901da0a706c616e745f64617461630100000000000000030000000d0000004300000073440000007400740174027403740474057406740774087409740a740b64019c0c7d01740c6a0d6402640383027d02740e6a0f7c02830101007c017c0219007c00830101006400530029044e290ce901000000e902000000e903000000e904000000e905000000e906000000e907000000e908000000e909000000e90a000000e90b000000e90c000000720c00000072170000002910da0c5f5f667265616b5f7261696eda095f5f686f745f646179da075f5f737761726dda075f5f6269726473da0c5f5f746f7869635f7261696eda0d5f5f6c61776e5f676e6f6d6573da0f5f5f736f6c61725f65636c69707365da0d5f5f736f6c61725f666c617265da0e5f5f65787472615f6d616e757265da0e5f5f6772656564795f7765656473da155f5f66657274696c697a65725f6261636b66697265da115f5f667269656e646c795f736e61696c73da0672616e646f6dda0772616e64696e74720600000072070000002903720b000000da0b6576656e745f6e616d6573da096576656e745f6e756d720800000072080000007209000000da056576656e7409000000730e00000000020601060106010c010c010a017228000000630100000000000000010000000600000043000000731c0000007c0064010500190074006a01640264038302370003003c007c00530029044eda0d63757272656e745f7761746572720e000000e90f0000002902722400000072250000002901720b0000007208000000720800000072090000007218000000140000007304000000000118017218000000630100000000000000010000000600000043000000731c0000007c0064010500190074006a01640264038302380003003c007c00530029044e7229000000720e000000722a0000002902722400000072250000002901720b0000007208000000720800000072090000007219000000190000007304000000000118017219000000630100000000000000010000000600000043000000731c0000007c0064010500190074006a01640264038302370003003c007c00530029044eda0c63757272656e745f62756773720e000000722a0000002902722400000072250000002901720b000000720800000072080000007209000000721a0000001e000000730400000000011801721a000000630100000000000000010000000600000043000000731c0000007c0064010500190074006a01640264038302380003003c007c00530029044e722b000000720e000000722a0000002902722400000072250000002901720b000000720800000072080000007209000000721b00000023000000730400000000011801721b000000630100000000000000010000000600000043000000731c0000007c0064010500190074006a01640264038302370003003c007c00530029044eda1063757272656e745f746f786963697479720e000000722a0000002902722400000072250000002901720b000000720800000072080000007209000000721c00000028000000730400000000011801721c000000630100000000000000010000000600000043000000731c0000007c0064010500190074006a01640264038302380003003c007c00530029044e722c000000720e000000722a0000002902722400000072250000002901720b000000720800000072080000007209000000721d0000002d000000730400000000011801721d000000630100000000000000010000000600000043000000731c0000007c0064010500190074006a01640264038302380003003c007c00530029044eda1663757272656e745f70686f746f73796e746865736973720e00000072150000002902722400000072250000002901720b000000720800000072080000007209000000721e00000032000000730400000000011801721e000000630100000000000000010000000600000043000000731c0000007c0064010500190074006a01640264038302370003003c007c00530029044e722d000000720e00000072150000002902722400000072250000002901720b000000720800000072080000007209000000721f00000037000000730400000000011801721f000000630100000000000000010000000600000043000000731c0000007c0064010500190074006a01640264038302370003003c007c00530029044eda1163757272656e745f6e75747269656e7473720e000000722a0000002902722400000072250000002901720b00000072080000007208000000720900000072200000003c0000007304000000000118017220000000630100000000000000010000000600000043000000731c0000007c0064010500190074006a01640264038302380003003c007c00530029044e722e000000720e000000722a0000002902722400000072250000002901720b0000007208000000720800000072090000007221000000410000007304000000000118017221000000630100000000000000010000000600000043000000731c0000007c0064010500190074006a01640264038302370003003c007c00530029044eda0d63757272656e745f7765656473720e000000722a0000002902722400000072250000002901720b0000007208000000720800000072090000007222000000460000007304000000000118017222000000630100000000000000010000000600000043000000731c0000007c0064010500190074006a01640264038302380003003c007c00530029044e722f000000720e000000722a0000002902722400000072250000002901720b00000072080000007208000000720900000072230000004b00000073040000000001180172230000004e29147224000000da0473656564da085661726961626c657206000000720a000000da085f5f6578706f7274da0464696374722800000072180000007219000000721a000000721b000000721c000000721d000000721e000000721f00000072200000007221000000722200000072230000007208000000720800000072080000007209000000da083c6d6f64756c653e01000000732000000008010c0308040601100a08050805080508050805080508050805080508050805