-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy path21816_frootfruit_ARNOUT.cos
222 lines (204 loc) · 3.43 KB
/
21816_frootfruit_ARNOUT.cos
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
*Froot Fruit Tree: 2 4 21816
*ov20 age, ov21 fertility, ov30 = 1 means that the tree will stay alive forever
*Froot Fruit: 2 8 21816
*Froot Fruit Detritus: 2 10 21816
* Create a tree
* new: simp 2 8 21816 "gp_frootfruit_CS" 1 1 980
* mesg wrt+ targ 1000 posx posy delay
* Tree creation script
scrp 2 8 21816 1000
attr 199
bhvr 59
accg 5
aero 5
fric 100
elas 20
perm 0
*!!!!!
mvto _p1_ _p2_
emit 6 0.3
*This one needs to become a tree faster than its descendants
tick 10
endm
*if pushed, pulled or hit; fly a little bit
*the ACCG part lets Creatures take them out of the tree
scrp 2 8 21816 1
velo 0 rand -3 -4
accg 5
endm
scrp 2 8 21816 2
velo 0 rand -3 -4
accg 5
endm
scrp 2 8 21816 3
velo 0 rand -3 -4
accg 5
endm
*Lets Creatures take the fruit out of the tree
scrp 2 8 21816 4
accg 5
endm
*collision sound
scrp 2 8 21816 6
* snde "drip"
endm
*eat script
scrp 2 8 21816 12
*nom
lock
stim writ from 78 1
snde "chwp"
*contains some healthy stuff as well (But also safe for Toxic Norns)
targ from
*Vitamin E
chem 98 0.1
*Vitamin C
chem 99 0.1
kill ownr
endm
*Timer script
scrp 2 8 21816 9
tick rand 500 1200
doif carr <> null
stop
endi
*this part drops the fruit out of the tree it it's still hanging
accg 5
*Check if there are any trees nearby
*But before that check if the room type is OK
doif rtyp room targ lt 5 or rtyp room targ gt 7
addv ov00 1
else
rnge 1000
esee 2 4 21816
addv va50 1
next
*If there is less than 1 tree around: Grow
doif va50 lt 1
*Get the current position as variables
setv va51 posx
subv va51 70
setv va52 posy
*Make the new tree
new: simp 2 4 21816 "gp_frootfruit_CS" 1 0 978
attr 192
*Creatures can push, pull, or hit
bhvr 3
accg 5
aero 5
fric 100
elas 0
perm 0
mvsf va51 va52
tick 400
*And of course get rid of the fruit
kill ownr
else
*Else: Add 1 to the age variable
addv ov00 1
endi
endi
*If the age variable is too high: Become a detritus
doif ov00 gt 5
setv va40 posx
setv va41 posy
new: simp 2 10 21816 "gp_frootfruit_CS" 3 2 979
attr 199
bhvr 59
accg 5
aero 5
fric 100
elas 20
perm 0
mvsf va40 va41
tick rand 300 1200
kill ownr
endi
endm
*Push and pull script
scrp 2 4 21816 1
stim writ targ 84 1
endm
scrp 2 4 21816 2
stim writ targ 84 2
endm
*Tree timer script
scrp 2 4 21816 9
*OV20: Age
addv ov20 1
*OV21: Fertility
addv ov21 rand 2 4
doif ov20 gt 100 and ov30 ne 1
kill ownr
endi
doif ov21 gt 6
setv ov21 0
reps rand 1 2
setv va90 posx
addv va90 rand 35 -50
setv va91 posy
addv va91 rand -25 -30
new: simp 2 8 21816 "gp_frootfruit_CS" 1 1 980
attr 199
bhvr 59
accg 0
aero 5
fric 100
elas 20
perm 0
mvsf va90 va91
emit 6 0.3
tick rand 800 2000
repe
endi
endm
*if pushed, pulled or hit; fly a little bit
scrp 2 10 21816 1
velo 0 rand -3 -4
endm
scrp 2 10 21816 2
velo 0 rand -3 -4
endm
scrp 2 10 21816 3
velo 0 rand -3 -4
endm
*Detritus timer script
scrp 2 10 21816 9
addv ov06 1
doif ov06 lt 3
pose ov06
else
kill ownr
endi
endm
*eat script
scrp 2 10 21816 12
*not so nom
lock
stim writ from 81 1
kill ownr
endm
rscr
enum 2 4 21816
kill targ
next
scrx 2 4 21816 1
scrx 2 4 21816 2
scrx 2 4 21816 9
enum 2 8 21816
kill targ
next
scrx 2 8 21816 1
scrx 2 8 21816 2
scrx 2 8 21816 3
scrx 2 8 21816 6
scrx 2 8 21816 9
scrx 2 8 21816 12
enum 2 10 21816
kill targ
next
scrx 2 10 21816 1
scrx 2 10 21816 2
scrx 2 10 21816 3
scrx 2 10 21816 9
scrx 2 10 21816 12