! Shmitty's contains several NPCS: ! Ferdinando Erup the bartender NPC Ferdinando "Ferdinando" with description [; print "His nametag says ~Ferdinando el Toro~."; print " He appears to be carrying "; if (child(self) == 0) print "nothing",(string) random(".^"," important.^"," interesting.^"); else { writelistfrom(child(self),ENGLISH_BIT+WORKFLAG_BIT+PARTINV_BIT+TERSE_BIT+CONCEAL_BIT,1); ".^"; } ], name 'Ferdinando' 'el' 'Toro', golfcounter 0, life [; voxto(self,actor,"No thanks."); rtrue; ], daemon [; self.live(); ], NPC_hear [o s a b c p; if (o ofclass phone && o.connection) p = (o.connection).caller; else p = o; switch(s) { Ferdinando: switch(a) { ##NotUnderStood: self.huh(o); ##give: if (b==hiredgun) self.NPC_hear(o,0,-28,self,b); else self.def_hear(o,s,a,b,c); default: self.def_hear(o,s,a,b,c); } default: ! s must be a string switch(a) { ! NPC library messages -3: if (b==self) switch(self.talktopic) { 'repairman','2repairman': self.NPC_hear(o,s,-4,b); hiredgun: voxto(self,o,"Okay, fine. I'm also a hired gun."); self.talktopic = 0; 'canihelp': voxto(self,o,"Alright, what do you want?"); self.talktopic = 0; default: voxto(self,o,"Really."); } -4: if (b==self) switch(self.talktopic) { 'repairman': voxto(self,o,"No, seriously. I repair TVs."); self.talktopic = '2repairman'; '2repairman': voxto(self,o,"Okay, smart boy, what am I then?"); self.talktopic = 0; 'canihelp': voxto(self,o,"Then why did you call?"); default: voxto(self,o,"You bein' smart?"); } -6: if (b==self) { self.SetPro(c); switch(c) { Ferdinando: voxto(self,o,"I am Ferdinando el Toro, TV repariman."); self.talktopic = 'repairman'; default: self.dunno(o); } } -7: if (b==self) { self.SetPro(c); switch(c) { Ferdinando: voxto(self,o,"Who cares?"); default: self.def_hear(o,s,a,b,c); } } -8: if (b==self) { self.SetPro(c); switch(c) { Ferdinando: voxto(self,o,"I repair TV's. Yeah. That's it."); self.talktopic = 'repairman'; default: self.def_hear(o,s,a,b,c); } } -9: if (b==self) { self.SetPro(c); switch(c) { default: self.def_hear(o,s,a,b,c); } } -11: if (b==self) { self.SetPro(c); switch(c) { Ferdinando: voxto(self,o,"I work here."); default: self.def_hear(o,s,a,b,c); } } -12: if (b==self) voxto(self,o,"Hrm."); -13: if (b==self) { self.SetPro(c); switch(c) { playerobj: if (p==player) voxto(self,o,"You look mostly sober..."); default: self.def_hear(o,s,a,b,c); } } -14: if (b==self) voxto(self,o,"See yuh.",-14,o); -15: if (b==self) voxto(self,o,"Whats so funny?",-1,o); -16: if (b==self) switch(o) { default: voxto(self,o,"Doh.",-15,o); } -17: if (b==self) voxto(self,o,"What?",-1,o); -18: if (b==self) voxto(self,o,"Erm...",-17,o); -19: if (b==self) { self.SetPro(c); switch(c) { Ferdinando: voxto(self,o,"It's my job."); default: self.def_hear(o,s,a,b,c); } } -20,-21: if (b==self) voxto(self,o,"Ask me what I do."); -22: if (b==self) voxto(self,o,"Mmm."); -23: if (b==self) { self.SetPro(c); if (ObjectSees(b,c)) voxto(self,o,"Right here."); else switch(c) { default: self.def_hear(o,s,a,b,c); } } -24: if (b==self) { self.SetPro(c); if (c in b) switch(c) { default: self.def_hear(o,s,a,b,c); } else self.def_hear(o,s,a,b,c);; } -25: if (b==self) voxto(self,o,"Ferdinando... Ferdinando el Toro."); -28: if (b==self) { switch(c) { ferdinando: voxto(self,o,"Right.",-3); hiredgun: voxto(self,o,"Uh...No way... I never shot anyone, especially not in the back while they were boarding a train for New Hampshire."); self.talktopic = hiredgun; default: self.def_hear(o,s,a,b,c); } } ! user messages 3: self.NPC_hear(o,s,-8,self); 4: voxto(self,o,"Red."); 5: voxto(self,o,"Supercuts. I hate them."); 11: voxto(self,o,"There is no life! Only death!"); voxto(self,o,"Sorry. Was that my outside voice?"); 18: voxto(self,o,"What? They were supposed to change that... Um, can I help you?"); self.talktopic = 'canihelp'; default: self.def_hear(o,s,a,b,c); } } ], Brain [s; switch(s) { 1: !Get a copy of the will if (self.wantswill < 3) { if (SameScope(uncle,self)) { if (self.wantswill == 1) voxto(self,uncle,"Hey, uncle! Can I have a copy of the will?",1,uncle); rtrue; } else self.NPC_wander(); } } ], WantsIt [ o; if (IsTreasure(o)) rtrue; rfalse; ], has transparent proper static animate; Object hiredgun with name 'hired' 'gun' 'killer' 'assassin' 'goon' 'mafia' 'mafioso' 'murderer';