new: simp 2 17 24207 "moe_c4_oliphanta" 1 82 1000 mvsf mopx mopy *install scrp 2 15 24207 10 inst attr 198 accg 5 aero 2 elas 10 tick rand 25 35 fric 50 setv ov06 5 seta ov08 null seta ov10 null setv ov50 46 setv ov51 61 pat: dull 1 "moe_c4_oliphanta" 78 46 61 1 rnge 1024 perm 51 endm *timer scrp 2 15 24207 9 *Counters *Life addv ov01 1 *Hunger addv ov02 1 */Counters *if life counter is greater than X, adulthood will haunt you doif ov01 eq 30 base 39 pose 0 pat: kill 1 setv ov50 31 setv ov51 27 pat: dull 1 "moe_c4_oliphanta" 80 31 27 1 endi */endgrowup *if hunger gets too high, find food doif ov02 gt 20 doif ov08 eq null gsub lookaround gsub findfood else gsub hunt endi *stop because, hunger takes priority! stop endi */endhungersearch *Breeding *Find a mate if you haven't bred yet doif ov01 ge 100 and ov14 eq 0 setv va00 0 esee 2 15 24207 doif targ ne null *don't count adults who've bred doif ov14 eq 0 addv va00 1 endi endi next targ ownr doif va00 lt 3 doif ov10 eq null gsub findmate elif ov10 ne null gsub gotomate stop endi endi endi */endbreeding *DIE doif ov01 ge 200 kill ownr endi gsub wander subr lookaround *headturn towards anim [0 1 2 3 4 5 4 3 2 1 0] over *headturn away anim [0 6 7 8 9 10 11 10 9 8 7 6 0] over retn subr wander doif ov13 gt 0 subv ov13 1 gsub walk else setv va00 rand 0 1 doif va00 eq 0 *right setv ov04 1 elif va00 eq 1 *left setv ov04 0 endi setv ov13 rand 5 10 doif ov04 eq 1 and obst rght lt 30 setv ov04 0 elif ov04 eq 0 and obst left lt 30 setv ov04 1 endi endi retn subr chew doif va01 gt posy *headdown frat 2 anim [16 17 18 19 20 16] over else *headup frat 2 anim [12 13 14 15 16 12] over endi *eat frat 1 anim [22 23 24 25 25 25 25 24 24 23 23 22 22 24 24 25 25 24 24 23 23 22 22 0] over retn subr findmate inst esee 2 15 24207 doif targ ne null *make sure they don't have a mate already doif ov10 eq null seta mv10 targ seta ov10 ownr endi endi next slow targ ownr retn subr gotomate targ ov10 setv va00 posx setv va01 posy targ ownr *If mate is too far, forget it doif relx ov10 ownr gt 1500 seta ov10 null stop endi doif va00 gt posx setv ov04 1 else setv ov04 0 endi gsub walk doif touc ownr ov10 eq 1 setv ov14 1 gsub layegg endi retn subr layegg setv va00 posx setv va01 posy new: simp 2 18 24207 "moe_c4_oliphanta" 2 83 rand 1001 3000 mvsf va00 va01 targ ownr retn subr hunt targ ov08 setv va00 posx setv va01 posy targ ownr *if it's too high, forget it! doif va01 lt post seta ov08 null stop endi doif touc ownr ov08 eq 1 mesg writ ov08 12 gsub chew setv ov02 0 endi doif va00 gt posx setv ov04 1 else setv ov04 0 endi gsub walk retn subr findfood setv va00 hirp room ownr 6 0 setv va01 torx va00 doif va01 gt 1 setv ov04 1 elif va01 lt 0 setv ov04 0 endi star 2 8 24207 doif targ ne null seta mv08 targ else star 2 8 0 doif targ ne null and targ ne ownr doif spcs ne 7 seta mv08 targ endi endi endi targ ownr gsub walk retn subr walk *BLINK setv va00 rand 0 1 doif va00 eq 1 part 1 pose 1 wait 5 part 1 pose 0 part 0 endi *right doif ov04 eq 1 setv va00 ov06 mira 1 *move eyelids doif base eq 0 pat: move 1 57 61 else pat: move 1 68 27 endi else *left setv va00 ov06 negv va00 mira 0 pat: move 1 ov50 ov51 endi *walk animations *lock frat 2 anim [26 27 28 29 30 31 32 33 34 35 36 37 26] wait 10 lock reps 10 wait 1 subv vely 2 setv velx va00 repe unlk *unlk retn endm *activate 1 scrp 2 15 24207 1 stop *headturn towards anim [0 1 2 3 4 5 4 3 2 1 0] over *headturn away anim [0 6 7 8 9 10 11 10 9 8 7 6 0] over *headup frat 2 anim [12 13 14 15 16 12] over *headdown frat 2 anim [16 17 18 19 20 16] over *eat frat 1 anim [22 23 24 25 25 25 25 24 24 23 23 22 22 24 24 25 25 24 24 23 23 22 22 0] over *walk lock frat 2 anim [26 27 28 29 30 31 32 33 34 35 36 37 26] reps 10 wait 2 addv velx -5 repe over unlk endm *collision scrp 2 15 24207 6 *snde "dr10" doif wall eq left setv ov04 1 elif wall eq rght setv ov04 0 endi endm *eat scrp 2 15 24207 12 *snde "chmp"/"reat" doif crea from eq 1 *stim writ from 0 0 endi endm *deactivate scrp 2 15 24207 0 endm *activate 2 scrp 2 15 24207 2 endm *hit scrp 2 15 24207 3 doif crea from eq 1 *stim writ from 0 0 endi endm *pickup scrp 2 15 24207 4 endm *drop scrp 2 15 24207 5 endm *catchall scrp 2 15 24207 255 endm *VENDOR AND EGGS LEVEL scrp 2 17 24207 10 attr 198 elas 10 accg 5 aero 1 endm scrp 2 17 24207 1 setv va00 posx setv va01 posy subv va01 16 subv va00 16 setv va02 plne new: simp 2 18 24207 "moe_c4_oliphanta" 2 83 rand 1001 3000 mvsf va00 va01 addv velx rand -15 15 endm scrp 2 17 24207 6 snde "drop" endm scrp 2 18 24207 10 attr 198 elas 10 accg 5 aero 1 tick rand 250 500 mira rand 0 1 endm scrp 2 18 24207 9 lock sndc "crak" wait 20 setv va00 posl setv va01 post subv va01 81 subv va00 54 new: comp 2 15 24207 "moe_c4_oliphanta" 78 0 rand 1000 3000 mvsf va00 va01 targ ownr pose 1 wait tick kill ownr endm scrp 2 18 24207 6 snde "dr10" endm rscr inst enum 2 15 24207 kill targ next *Removes all scripts for the specified agent 2 15 24207 if it exists. *No need to micromanage. :) loop doif sorq 2 15 24207 va00 eq 1 scrx 2 15 24207 va00 endi addv va00 1 untl va00 eq 2000 setv va00 0 inst enum 2 18 24207 kill targ next *Removes all scripts for the specified agent 2 15 24207 if it exists. *No need to micromanage. :) loop doif sorq 2 18 24207 va00 eq 1 scrx 2 18 24207 va00 endi addv va00 1 untl va00 eq 2000 setv va00 0 enum 2 17 24207 kill targ next *Removes all scripts for the specified agent 2 15 24207 if it exists. *No need to micromanage. :) loop doif sorq 2 17 24207 va00 eq 1 scrx 2 17 24207 va00 endi addv va00 1 untl va00 eq 2000 setv va00 0