1 /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ 2 /* hack.timeout.c - version 1.0.3 */ 3 4 #include "hack.h" 5 6 timeout(){ 7 register struct prop *upp; 8 if(Stoned) stoned_dialogue(); 9 for(upp = u.uprops; upp < u.uprops+SIZE(u.uprops); upp++) 10 if((upp->p_flgs & TIMEOUT) && !--upp->p_flgs) { 11 if(upp->p_tofn) (*upp->p_tofn)(); 12 else switch(upp - u.uprops){ 13 case STONED: 14 killer = "cockatrice"; 15 done("died"); 16 break; 17 case SICK: 18 pline("You die because of food poisoning."); 19 killer = u.usick_cause; 20 done("died"); 21 break; 22 case FAST: 23 pline("You feel yourself slowing down."); 24 break; 25 case CONFUSION: 26 pline("You feel less confused now."); 27 break; 28 case BLIND: 29 pline("You can see again."); 30 setsee(); 31 break; 32 case INVIS: 33 on_scr(u.ux,u.uy); 34 pline("You are no longer invisible."); 35 break; 36 case WOUNDED_LEGS: 37 heal_legs(); 38 break; 39 } 40 } 41 } 42 43 /* He is being petrified - dialogue by inmet!tower */ 44 char *stoned_texts[] = { 45 "You are slowing down.", /* 5 */ 46 "Your limbs are stiffening.", /* 4 */ 47 "Your limbs have turned to stone.", /* 3 */ 48 "You have turned to stone.", /* 2 */ 49 "You are a statue." /* 1 */ 50 }; 51 52 stoned_dialogue() 53 { 54 register long i = (Stoned & TIMEOUT); 55 56 if(i > 0 && i <= SIZE(stoned_texts)) 57 pline(stoned_texts[SIZE(stoned_texts) - i]); 58 if(i == 5) 59 Fast = 0; 60 if(i == 3) 61 nomul(-3); 62 } 63