- /* 
-  * src/e_sbonus.c 
-  * 
-  * Copyright (C) 1998-2002 BigOrno (bigorno@bigorno.net). All rights reserved. 
-  * 
-  * The use and distribution terms for this software are contained in the file 
-  * named README, which can be found in the root of this distribution. By 
-  * using this software in any fashion, you are agreeing to be bound by the 
-  * terms of this license. 
-  * 
-  * You must not remove this notice, or any other, from this software. 
-  */ 
-   
- #include "system.h" 
- #include "game.h" 
- #include "ents.h" 
- #include "e_sbonus.h" 
-   
- #include "util.h" 
- #include "maps.h" 
- #include "e_rick.h" 
-   
-   
- /* 
-  * public vars 
-  */ 
- U8 e_sbonus_counting = FALSE; 
- U8 e_sbonus_counter = 0; 
- U16 e_sbonus_bonus = 0; 
-   
-   
- /* 
-  * Entity action / start counting 
-  * 
-  * ASM 2182 
-  */ 
- void e_sbonus_start (U8 e) 
- { 
-    if (E_RICK_STTST (E_RICK_STZOMBIE)) 
-       return; 
-   
-    ent_ents[e].sprite = 0; /* invisible */ 
-   
-    if (u_trigbox (e, (S16) (ENT_RICK.x + 0x0C), (S16) (ENT_RICK.y + 0x0A))) 
-    { 
-       /* rick is within trigger box */ 
-       ent_ents[e].n = 0; 
-       e_sbonus_counting = TRUE;   /* 6DD5 */ 
-       e_sbonus_counter = 0x1e;   /* 6DDB */ 
-       e_sbonus_bonus = 2000;      /* 291A-291D */ 
-       syssnd_play (WAV_SBONUS1, 1); 
-    } 
- } 
-   
-   
- /* 
-  * Entity action / stop counting 
-  * 
-  * ASM 2143 
-  */ 
- void e_sbonus_stop (U8 e) 
- { 
-    if (E_RICK_STTST (E_RICK_STZOMBIE)) 
-       return; 
-   
-    ent_ents[e].sprite = 0; /* invisible */ 
-   
-    if (!e_sbonus_counting) 
-       return; 
-   
-    if (u_trigbox (e, (S16) (ENT_RICK.x + 0x0C), (S16) (ENT_RICK.y + 0x0A))) 
-    { 
-       /* rick is within trigger box */ 
-       e_sbonus_counting = FALSE; /* stop counting */ 
-       ent_ents[e].n = 0; /* deactivate entity */ 
-       game_score += e_sbonus_bonus; /* add bonus to score */ 
-       syssnd_play(WAV_SBONUS2, 1); 
-   
-       /* make sure the entity won't be activated again */ 
-       map_marks[ent_ents[e].mark].ent |= MAP_MARK_NACT; 
-    } 
-    else 
-    { 
-       /* keep counting */ 
-       if (--e_sbonus_counter == 0) 
-       { 
-          e_sbonus_counter = 0x1e; 
-          if (e_sbonus_bonus) e_sbonus_bonus--; 
-       } 
-    } 
- } 
-