
   /*
   =============================================================
         GGGG    OOOO      0000    MM    MM  BBB       AA
        G       O    O    0    0   M M  M M  B  B     A  A
        G GGG  O      O  0      0  M  MM  M  BBB     AAAAAA
        G   G   O    O    0    0   M      M  B  B   A      A
         GGGG    OOOO      0000    M      M  BBB   A        A
   =============================================================
       THE ULTIMATE GOOMBA MOD - MARIO CHARACTERS!
       Please visit http://goomba.calzinger.net/ for the latest updates.
      Note: This plugin is for STEAM only!
            It can be used with WON, but certain features will not work.
       Author: Calzinger
           AIM: XSouLHeLLTemplaR
           MSN: Calzinger@hotmail.com
           Email: CMobarek@calzinger.net/
           Website: http://calzinger.net/
       Team:
           dj88mph - Tester
           SilentSniper - Idea Contributer
         Thanks to T(+)rget for plenty of help with the fireball!
       Quick Description:
           This plugin is a remake of the ChickenMod plugin, except uses
           the  infamous  Mario  character,  the  Goomba,  as  a chicken.
   Clients
           have  the  ability  to  rent  a  Goomba. People who rent their
   goombas
           appear as the goomba character in the game while playing.
      Requirements:
         AMX 0.9.8 (STEAM ONLY) -
   http://djeyl.net/forum/index.php?showtopic=25648
         Vexd Utilities - http://www.amxmod.info/downloads/vexd.zip
         XtraFun - http://www.amxmod.info/downloads/xtrafun.zip
       Explanation:
           Goomba Classes:
               Normal - Normal Goombas just have their model changed.
               Super  -  Super Goombas haave the ability to buy items for
   their
                          their goombas. Items can enhance performance at
   a cost.
                          They  are required to pay a roundly fee to rent
   the goomba
                          however,  if  they  cannot afford it, they lose
   their goomba
                     and  items.  Super  goombas  cost  more  than normal
   goombas.
         Goomba Arena:
            During Goomba Arena, all players turn into Super Goombas and
            receive all of the items. There are no costs for the items or
            goombas.  However,  any items that require money right on the
   spot
            will still have a cost (ie. Flower).
         Goomba Flower:
            In  order to use your flower to throw a fireball, you must be
   a super
            goomba  and have a flower. Then bind a key to goomba_fireball
   and shoot
            a fireball.
         Goomba Fly:
            In  order  to  fly  and  use  your wings, you must be a super
   goomba and have
            a  set  of  wings.  Then type /fly to toggle fly mode or not.
   During flymode,
            you  can  travel  vertically,  but  your forward speed during
   flymode is slower.
            Then type /fly again to turn off.
         Goomba Team Sprite:
            This  is  a  new  feature  added  into the Goomba Conversion.
   Goombas now have
            sprites  above  their  heads  that  will determine their team
   (placed where
            the  radio sprite is placed). The sprites are color based and
   have leters
            representing the team.
         Goomba Items (For details, type /goomba_itemlist):
            Pulmonary Enhancer - Adds health at the start of the round.
            Steroid            - Adds damage at the cost of health per 10
   seconds.
            Salvage            - Gain more money per kill.
            Wings              - Gain the ability to fly in the air
                                 (model now has wings)
            Flower             - Gain the ability to shoot fireballs
                                 (bind a key to fire the fireball)
                                 (cost per fire)
            Boots              - Adds walk/run speed
                               - Removes sound of footsteps
            Lockpick           - Leech health based on damage
         Goomba Menus:
            /goomba           - Main Goomba Menu (Master Menu)
            /goomba_help      - Displays Goomba Help Screen
            /goomba_items     - Buy Item List
            /goomba_itemlist  - Display information about each item
      Admin Commands:
         - amx_goomba_arena < toggle > OR < 1/0 or on/off >
               Turn Goomba Arena OFF or ON
      Client Commands:
         - say /goomba
               Opens Main Goomba Menu
         - say /goomba_help
               Displays Goomba Help Screen
         - say /goomba_items
               Opens Item menu
         - say /goomba_itemlist
               Displays information about each item
         - say /fly
               Toggle between Fly mode ON or OFF
         - goomba_fireball
               Shoot a fireball. (REQUIRE: Super goomba and flower)
      Server CVARs:
         -  goomba_showcost  0/1  -> Show your total cost of items at the
   start of a round
         - goomba_glowstyle 0/1/2/3 -> 0 = No Rendering
                                       1 = All One Colour (Green)
                                       2 = Team Based Glow
                                       3 = Random (Refresh .5 seconds)
                                       NOTE:  Options 2 and 3 only affect
   super goombas
         - goomba_entermusic 0/1 -> Play music to a client when he enters
   the server
         -  goomba_hostname  0/1  ->  Add  "(Goomba Mod) " to your server
   hostname
         - goomba_fireball_gravity 0/1 -> Fireball has gravity
         - goomba_fireball_effects 0/1/2 -> 0 = Invisible Fireball
                                            1 = Fireball with surrounding
   particles
                                            2  =  Fireball with explosion
   sprite (realistic)
         -  goomba_fireball_ff  0/1  ->  Friendly  Fire (Self Client also
   affected)
         -  goomba_fireball_effects 0/1 -> Adds extra explosion and decal
   effects
         - goomba_normal_cost 100 -> Cost of a normal goomba per round
         - goomba_super_cost 1000 -> Cost of a super goomba per round
         - goomba_pulmonaryenhancer 500 -> Cost of Pulmonary Enhancer
         - goomba_steroid 800 -> Cost of Steroid
         - goomba_salvage 300 -> Cost of Salvage
         - goomba_wings 1000 -> Cost of Wings
         - goomba_flower 2500 -> Cost of Flower
         - goomba_boots 800 -> Cost of Boots
         - goomba_lockpick 1200 -> Cost of Lockpick
      Issues:
         WON  Issue: MOTDs will not display properly with WON due to HTML
   compatibility on Steam.
         Listenserver  Issue:  This  plugin  may  delay on listenservers,
   depending on your load and RAM.
         Download  Issue:  This plugin requires downloadable files. It is
   suggested that clients download
                         these files from the goomba website.
         Antiflood  Issue:  Make  sure  you  pause any antiflood plugins.
   Clients will constantly be trying
                          to  access  the menu. Activating antiflood will
   prevent them from getting to the
                          menu sometimes.
      WARNING:  THIS  PLUGIN  IS  EXTREMELY  SERVER INTENSIVE. IT IS HIGH
   SUGGESTED THAT YOU DO NOT RUN THIS
               PLUGIN  WITH  OTHER HIGH-PRIORITY PLUGINS (ie. Warcraft 3,
   Superheromod). RUNNING MANY HIGH
               TASKING  PLUGINS  CAN  RESULT IN MULTIPLIED PINGS AND VERY
   SLOW RESPONSE TIME. THIS IS
               MOSTLY    NOTICABLE   IN   LISTENSERVERS   WHERE   SENDING
   INFORMATION IS SLOW AS IS. GOOMBA IS A
               GLOBAL  PLUGIN,  ASSUMING  OTHER  PLUGINS ARE NOT GOING TO
   INTERRUPT ITS PATH. AGAIN, TRY TO RUN
               AS LITTLE AS POSSIBLE HIGH PRIORITY PLUGINS. GOOMBA MOD IS
   EXTREMELY SERVER INTENSIVE.
      Changelog:
      - v1.0:
         [BUILD]  - COMPLETELY REBUILT WITH NEW SOURCE AND INTERFACE; NEW
   FEATURES.
   */
   #include <amxmod>
   #include <amxmisc>
   #include <Vexd_Utilities>
   #include <xtrafun>
   #define IN_JUMP (1 << 1)
   #define IN_FORWARD (1 << 3)
   #define IN_BACK (1 << 4)
   #define TE_BEAMENTPOINT 1
   #define TE_EXPLOSION 3
   #define TE_SMOKE 5
   #define TE_SPARKS 9
   #define TE_GUNSHOTDECAL 109
   #define TE_PLAYERATTACHMENT 124
   #define TE_KILLPLAYERATTACHMENTS 125
   #define PULMONARYENHANCER 100
   #define STEROID 4
   #define SALVAGE 400
   #define FIREBALL 100
   #define BOOTS 300.0
   #define LOCKPICK 8
   new const Version[] = "1.0";
   new colorfade;
   new hostname;
   new deathmsg;
   new explosion;
   new laser;
   new smoke;
   new terrorist;
   new ct;
   // Goomba Level
   new bool:normal[33] = false;
   new bool:super[33] = false;
   // Misc
   new bool:music[33] = false;
   new bool:glow[33] = false;
   new bool:arena = false;
   // Items
   new bool:pulmonaryenhancer[33] = false;
   new bool:steroid[33] = false;
   new bool:salvage[33] = false;
   new bool:wings[33] = false;
   new bool:flyingset[33] = false; // Flying On/Off
   new bool:flower[33] = false;
   new bool:boots[33] = false;
   new bool:lockpick[33] = false;
   //
   ----------------------------------------------------------------------
   ---------- //
   public plugin_init() {
      register_plugin("Ultimate Goomba Mod",Version,"Calzinger");
      register_event("InitHUD","enter","b");
      register_event("ResetHUD","round_start","b");
      register_event("SendAudio","round_end","a","2=%!MRAD_terwin","2=%!M
   RAD_ctwin","2=%!MRAD_rounddraw");
      register_event("TextMsg","round_end","a","2&#Game_Commencing","2&#G
   ame_will_restart_in");
      register_event("Damage","damage_init","b","2!0","3=0","4!0");
      register_event("DeathMsg","death_init","a");
      set_task(0.5,"rainbow",0,"",0,"b");
      set_task(5.0,"sprite_index",0,"",0,"b");
      set_task(10.0,"steroid_damage",0,"",0,"b");
      set_task(150.0,"goomba_advertise",0,"",0,"b");
      register_cvar("goomba_showcost","1");
      register_cvar("goomba_normal_cost","100");
      register_cvar("goomba_super_cost","1000");
      register_cvar("goomba_glowstyle","3");
      register_cvar("goomba_entermusic","1");
      register_cvar("goomba_hostname","1");
      register_cvar("goomba_fireball_gravity","1");
      register_cvar("goomba_fireball_effects","2");
      register_cvar("goomba_fireball_extraeffects","1");
      register_cvar("goomba_fireball_ff","1");
      register_cvar("goomba_pulmonaryenhancer","500");
      register_cvar("goomba_steroid","800");
      register_cvar("goomba_salvage","300");
      register_cvar("goomba_wings","1000");
      register_cvar("goomba_flower","2500");
      register_cvar("goomba_boots","800");
      register_cvar("goomba_lockpick","1200");
      register_clcmd("say  /fly","flying",0,":  Toggle  Flying Mode (Must
   have a set of wings!)");
      register_clcmd("say_team  /fly","flying",0,":  Toggle  Flying  Mode
   (Must have a set of wings!)");
      register_clcmd("goomba_fireball","InitFireball",0,":   Throw   your
   fireball!");
      register_clcmd("say  /goomba_help","goomba_help",0,":  Goomba  Help
   Message");
      register_clcmd("say_team   /goomba_help","goomba_help",0,":  Goomba
   Help Message");
      register_clcmd("say  /goomba_itemlist","item_list",0,": Goomba Item
   List");
      register_clcmd("say_team  /goomba_itemlist","item_list",0,": Goomba
   Item List");
      register_menucmd(register_menuid("\rG\wo\yo\wm\yb\wa
   \rM\we\yn\wu"),1023,"menucmds");
      register_clcmd("say /goomba","goomba_menu",0,": Goomba Menu");
      register_clcmd("say_team /goomba","goomba_menu",0,": Goomba Menu");
      register_menucmd(register_menuid("\rG\wo\yo\wm\yb\wa   \rI\wt\ye\wm
   \rM\we\yn\wu"),1023,"itemmenu");
      register_clcmd("say  /goomba_items","goomba_items",0,"; Goomba Item
   Menu");
      register_clcmd("say_team  /goomba_items","goomba_items",0,": Goomba
   Item Menu");
      register_concmd("amx_goomba_arena","admin_arena",ADMIN_LEVEL_A,"<
   1/0 or on/off or toggle > (Enables/Disables Goomba Arena)");
      colorfade = get_user_msgid("ScreenFade");
      hostname = get_user_msgid("ServerName");
      deathmsg = get_user_msgid("DeathMsg");
   }
   //
   ----------------------------------------------------------------------
   ---------- //
   public plugin_precache() {
      precache_sound("goomba/jump.wav");
      precache_sound("goomba/coin.wav");
      precache_sound("goomba/death.wav");
      precache_sound("goomba/music.mp3");
      precache_sound("goomba/ending.wav");
      precache_sound("goomba/fireball.wav");
      precache_sound("goomba/con1.wav");
      precache_sound("goomba/con2.wav");
      precache_sound("goomba/con3.wav");
      terrorist = precache_model("sprites/terrorist.spr");
      ct = precache_model("sprites/ct.spr");
      explosion = precache_model("sprites/zerogxplode.spr");
      laser = precache_model("sprites/laserbeam.spr");
      smoke = precache_model("sprites/steam1.spr");
      precache_model("models/player/goomba/goomba.mdl");
      precache_model("models/player/goombawing/goombawing.mdl");
      precache_model("models/oranget.mdl");
      precache_model("models/rpgrocket.mdl");
      return   PLUGIN_CONTINUE;
   }
   //
   ----------------------------------------------------------------------
   ---------- //
   public ServerFrame() {
      // Tasking Called
      // Hostname
      if ( get_cvar_num("goomba_hostname") != 0 ) {
         new sHostname[50];
         get_cvar_string("hostname",sHostname,49);

         new sComplete[50];
         new len = format(sComplete,49,"(Goomba Mod) ");
         len += format(sComplete[len],49 - len,"%s",sHostname);
         message_begin(MSG_ALL,hostname);
         write_string( sComplete );
         message_end();
      }
      new glowstyle = get_cvar_num("goomba_glowstyle");
      new all[32], anum;
      get_players(all,anum);
      for ( new x=0 ; x<anum ; x++ ) {
         new id = all[x];
         if ( is_user_alive(id) == 1 ) {
            // Glowing
            if ( glowstyle != 0 ) {
               if ( normal[id] == true ) {
                  set_user_rendering(id,kRenderFxGlowShell,255,255,255,kR
   enderNormal,100);
               }
               else if ( super[id] == true ) {
                  if ( glowstyle != 3 ) {
                     glow[id] = false;
                  }
                  else if ( glowstyle == 3 ) {
                     glow[id] = true;
                  }
                  if ( glowstyle == 1 ) {
                     set_user_rendering(id,kRenderFxGlowShell,0,255,0,kRe
   nderNormal,100);
                  }
                  else if ( glowstyle == 2 ) {
                     switch( get_user_team(id) ) {
                        case 1: {
                           set_user_rendering(id,kRenderFxGlowShell,255,5
   0,0,kRenderNormal,100);
                        }
                        case 2: {
                           set_user_rendering(id,kRenderFxGlowShell,0,50,
   255,kRenderNormal,100);
                        }
                        default: {
                           set_user_rendering(id,kRenderFxGlowShell,255,2
   55,255,kRenderNormal,100);
                        }
                     }
                  }
               }
            }
            if ( super[id] == true ) {
               // Wings
               if ( wings[id] == true ) {
                  if ( flyingset[id] == true ) {
                     if ( get_button(id)&IN_JUMP ) {
                        new Float:iVec[3];
                        new Float:iAim[3];
                        Entvars_Get_Vector(id,EV_VEC_velocity,iVec);
                        if ( get_button(id)&IN_FORWARD ) {
                           VelocityByAim(id,125,iAim);
                           iVec[0] = iAim[0];
                           iVec[1] = iAim[1];
                        }
                        if ( get_button(id)&IN_BACK ) {
                           VelocityByAim(id,-125,iAim);
                           iVec[0] = iAim[0];
                           iVec[1] = iAim[1];
                        }
                        iVec[2] = 100.0;
                        Entvars_Set_Vector(id,EV_VEC_velocity,iVec);
                     }
                  }
               }
            }
            if ( (super[id] == true) && (boots[id] == true) ) {
               set_user_maxspeed(id,BOOTS);
               Entvars_Set_Int(id,EV_INT_flTimeStepSound,999);
            }
            else {
               set_user_maxspeed(id,210.0);
            }
         }
      }
   }
   //
   ----------------------------------------------------------------------
   ---------- //
   public vexd_pfntouch(pToucher,pTouched) {
      new CnFireball[32];
      Entvars_Get_String(pToucher,EV_SZ_classname,CnFireball,31);
      if ( equal(CnFireball,"fireball") ) {
         new Float:Xplode[3];
         Entvars_Get_Vector(pToucher,EV_VEC_origin,Xplode);
         //RadiusDamage(Xplode,1,15);
         new attacker = Entvars_Get_Edict(pToucher,EV_ENT_owner);
         new all[32], anum;
         get_players(all,anum,"a");
         for ( new x=0 ; x<anum ; x++ ) {
            new id = all[x];
            if ( is_user_alive(id) ) {
               new iOrigin[3];
               new eOrigin[3];
               get_user_origin(id,iOrigin,0);
               get_entity_origin(pToucher,eOrigin);
               new iDistance = get_distance(iOrigin,eOrigin);
               if ( (iDistance >= 110 && (iDistance <= 500) ) {
                  if  ((get_user_team(id) != get_user_attacker(attacker))
   && ((id) != (attacker))) {
                     set_hudmessage(255,0,0,0.15,0.5,0,0.1,5.0,0.2,0.2,8)
   ;
                     show_hudmessage(id,"(GOOMBA)   WARNING:  A  fireball
   from an enemy exploded near you!");
                  }
               }
               new randd;
               if ( get_cvar_num("goomba_fireball_ff") == 0 ) {
                  if ( ((get_user_team(id)) != (get_user_team(attacker)))
   && ((id) != (attacker))) {
                     if ( iDistance <= 50 ) {
                        randd = random_num(70,100);
                        if ( get_user_health(id) <= randd ) {
                           set_user_frags(attacker,get_user_frags(attacke
   r) + 1);
                           message_begin(MSG_ALL,deathmsg);
                           write_byte( attacker );
                           write_byte( id );
                           write_string( "Fireball" );
                           message_end();
                           user_kill(id,1);
                           // Laser
                           new rgb[3];
                           if ( get_user_team(id) == 1 ) {
                              rgb[0] = 255;
                              rgb[1] = 0;
                              rgb[2] = 0;
                           }
                           else if ( get_user_team(id) == 2 ) {
                              rgb[0] = 0;
                              rgb[1] = 0;
                              rgb[2] = 255;
                           }
                           message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
                           write_byte( TE_BEAMENTPOINT );
                           write_short( id );
                           write_coord( iOrigin[0] );
                           write_coord( iOrigin[1] );
                           write_coord( iOrigin[2]+500 );
                           write_short( laser );
                           write_byte( 1 );
                           write_byte( 5 );
                           write_byte( 50 );
                           write_byte( 20 );
                           write_byte( 0 );
                           write_byte( rgb[0] );
                           write_byte( rgb[1] );
                           write_byte( rgb[2] );
                           write_byte( 200 );
                           write_byte( 200 );
                           message_end();
                        }
                        else if ( get_user_health(id) > randd ) {
                           set_user_health(id,get_user_health(id)       -
   randd);
                        }
                     }
                     else if ((iDistance >= 51) && (iDistance <= 75)) {
                        randd = random_num(30,69);
                        if ( get_user_health(id) <= randd ) {
                           set_user_frags(attacker,get_user_frags(attacke
   r) + 1);
                           message_begin(MSG_ALL,deathmsg);
                           write_byte( attacker );
                           write_byte( id );
                           write_string( "Fireball" );
                           message_end();
                           user_kill(id,1);
                           // Laser
                           new rgb[3];
                           if ( get_user_team(id) == 1 ) {
                              rgb[0] = 255;
                              rgb[1] = 0;
                              rgb[2] = 0;
                           }
                           else if ( get_user_team(id) == 2 ) {
                              rgb[0] = 0;
                              rgb[1] = 0;
                              rgb[2] = 255;
                           }
                           message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
                           write_byte( TE_BEAMENTPOINT );
                           write_short( id );
                           write_coord( iOrigin[0] );
                           write_coord( iOrigin[1] );
                           write_coord( iOrigin[2]+500 );
                           write_short( laser );
                           write_byte( 1 );
                           write_byte( 5 );
                           write_byte( 50 );
                           write_byte( 20 );
                           write_byte( 0 );
                           write_byte( rgb[0] );
                           write_byte( rgb[1] );
                           write_byte( rgb[2] );
                           write_byte( 200 );
                           write_byte( 200 );
                           message_end();
                        }
                        else if ( get_user_health(id) > randd ) {
                           set_user_health(id,get_user_health(id)       -
   randd);
                        }
                     }
                     else if ((iDistance >= 76) && (iDistance <= 108)) {
                        randd = random_num(1,29);
                        if ( get_user_health(id) <= randd ) {
                           set_user_frags(attacker,get_user_frags(attacke
   r) + 1);
                           message_begin(MSG_ALL,deathmsg);
                           write_byte( attacker );
                           write_byte( id );
                           write_string( "Fireball" );
                           message_end();
                           user_kill(id,1);
                           // Laser
                           new rgb[3];
                           if ( get_user_team(id) == 1 ) {
                              rgb[0] = 255;
                              rgb[1] = 0;
                              rgb[2] = 0;
                           }
                           else if ( get_user_team(id) == 2 ) {
                              rgb[0] = 0;
                              rgb[1] = 0;
                              rgb[2] = 255;
                           }
                           message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
                           write_byte( TE_BEAMENTPOINT );
                           write_short( id );
                           write_coord( iOrigin[0] );
                           write_coord( iOrigin[1] );
                           write_coord( iOrigin[2]+500 );
                           write_short( laser );
                           write_byte( 1 );
                           write_byte( 5 );
                           write_byte( 50 );
                           write_byte( 20 );
                           write_byte( 0 );
                           write_byte( rgb[0] );
                           write_byte( rgb[1] );
                           write_byte( rgb[2] );
                           write_byte( 200 );
                           write_byte( 200 );
                           message_end();
                        }
                        else if ( get_user_health(id) > randd ) {
                           set_user_health(id,get_user_health(id)       -
   randd);
                        }
                     }
                  }
               }
               else if ( get_cvar_num("goomba_fireball_ff") != 0 ) {
                  if ( iDistance <= 50 ) {
                     randd = random_num(70,100);
                     if ( get_user_health(id) <= randd ) {
                        set_user_frags(attacker,get_user_frags(attacker)
   + 1);
                        message_begin(MSG_ALL,deathmsg);
                        write_byte( attacker );
                        write_byte( id );
                        write_string( "Fireball" );
                        message_end();
                        user_kill(id,1);
                        // Laser
                        new rgb[3];
                        if ( get_user_team(id) == 1 ) {
                           rgb[0] = 255;
                           rgb[1] = 0;
                           rgb[2] = 0;
                        }
                        else if ( get_user_team(id) == 2 ) {
                           rgb[0] = 0;
                           rgb[1] = 0;
                           rgb[2] = 255;
                        }
                        message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
                        write_byte( TE_BEAMENTPOINT );
                        write_short( id );
                        write_coord( iOrigin[0] );
                        write_coord( iOrigin[1] );
                        write_coord( iOrigin[2]+500 );
                        write_short( laser );
                        write_byte( 1 );
                        write_byte( 5 );
                        write_byte( 50 );
                        write_byte( 20 );
                        write_byte( 0 );
                        write_byte( rgb[0] );
                        write_byte( rgb[1] );
                        write_byte( rgb[2] );
                        write_byte( 200 );
                        write_byte( 200 );
                        message_end();
                     }
                     else if ( get_user_health(id) > randd ) {
                        set_user_health(id,get_user_health(id) - randd);
                     }
                  }
                  else if ((iDistance >= 51) && (iDistance <= 75)) {
                     randd = random_num(30,69);
                     if ( get_user_health(id) <= randd ) {
                        set_user_frags(attacker,get_user_frags(attacker)
   + 1);
                        message_begin(MSG_ALL,deathmsg);
                        write_byte( attacker );
                        write_byte( id );
                        write_string( "Fireball" );
                        message_end();
                        user_kill(id,1);
                        // Laser
                        new rgb[3];
                        if ( get_user_team(id) == 1 ) {
                          rgb[0] = 255;
                          rgb[1] = 0;
                          rgb[2] = 0;
                        }
                        else if ( get_user_team(id) == 2 ) {
                            rgb[0] = 0;
                            rgb[1] = 0;
                            rgb[2] = 255;
                        }
                        message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
                        write_byte( TE_BEAMENTPOINT );
                        write_short( id );
                        write_coord( iOrigin[0] );
                        write_coord( iOrigin[1] );
                        write_coord( iOrigin[2]+500 );
                        write_short( laser );
                        write_byte( 1 );
                        write_byte( 5 );
                        write_byte( 50 );
                        write_byte( 20 );
                        write_byte( 0 );
                        write_byte( rgb[0] );
                        write_byte( rgb[1] );
                        write_byte( rgb[2] );
                        write_byte( 200 );
                        write_byte( 200 );
                        message_end();
                     }
                     else if ( get_user_health(id) > randd ) {
                        set_user_health(id,get_user_health(id) - randd);
                     }
                  }
                  else if ((iDistance >= 76) && (iDistance <= 108)) {
                     randd = random_num(1,29);
                     if ( get_user_health(id) <= randd ) {
                        set_user_frags(attacker,get_user_frags(attacker)
   + 1);
                        message_begin(MSG_ALL,deathmsg);
                        write_byte( attacker );
                        write_byte( id );
                        write_string( "Fireball" );
                        message_end();
                        user_kill(id,1);
                        // Laser
                        new rgb[3];
                        if ( get_user_team(id) == 1 ) {
                           rgb[0] = 255;
                           rgb[1] = 0;
                           rgb[2] = 0;
                        }
                        else if ( get_user_team(id) == 2 ) {
                           rgb[0] = 0;
                           rgb[1] = 0;
                           rgb[2] = 255;
                        }
                        message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
                        write_byte( TE_BEAMENTPOINT );
                        write_short( id );
                        write_coord( iOrigin[0] );
                        write_coord( iOrigin[1] );
                        write_coord( iOrigin[2]+500 );
                        write_short( laser );
                        write_byte( 1 );
                        write_byte( 5 );
                        write_byte( 50 );
                        write_byte( 20 );
                        write_byte( 0 );
                        write_byte( rgb[0] );
                        write_byte( rgb[1] );
                        write_byte( rgb[2] );
                        write_byte( 200 );
                        write_byte( 200 );
                        message_end();
                     }
                     else if ( get_user_health(id) > randd ) {
                        set_user_health(id,get_user_health(id) - randd);
                     }
                  }
               }
            }
         }

         // Explosion Sprite
         message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
         write_byte( TE_EXPLOSION );
         write_coord( floatround(Xplode[0]) );
         write_coord( floatround(Xplode[1]) );
         write_coord( floatround(Xplode[2]) );
         write_short( explosion );
         write_byte( 30 );
         write_byte( 15 );
         write_byte( 0 );
         message_end();
         if ( get_cvar_num("goomba_fireball_extraeffects") != 0 ) {
            message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
            write_byte( TE_SMOKE );
            write_coord( floatround(Xplode[0]) );
            write_coord( floatround(Xplode[1]) );
            write_coord( floatround(Xplode[2]) );
            write_short( smoke );
            write_byte( 20 );
            write_byte( 10 );
            message_end();
            for ( new i=0 ; i <= 4 ; i ++ ) {
               message_begin(MSG_PVS,SVC_TEMPENTITY);
               write_byte( TE_SPARKS );
               write_coord( floatround(Xplode[0]) );
               write_coord( floatround(Xplode[1]) );
               write_coord( floatround(Xplode[2]) );
               message_end();
            }
            new iDecal;
            new decaled = random_num(0,3);
            switch (decaled) {
               case 0: iDecal = 28;
               case 1: iDecal = 103;
               case 2: iDecal = 198;
               case 3: iDecal = 199;
            }
            message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
            write_byte( TE_GUNSHOTDECAL );
            write_coord( floatround(Xplode[0]) );
            write_coord( floatround(Xplode[1]) );
            write_coord( floatround(Xplode[2]) );
            write_short( 0 );
            write_byte( iDecal );
            message_end();
         }


         RemoveEntity(pToucher);
      }
   }
   //
   ----------------------------------------------------------------------
   ---------- //
   public client_connect(id) {
      normal[id] = false;
      super[id] = false;
      music[id] = false;
      glow[id] = false;
      pulmonaryenhancer[id] = false;
      steroid[id] = false;
      salvage[id] = false;
      wings[id] = false;
      flyingset[id] = false;
      flower[id] = false;
      boots[id] = false;
      lockpick[id] = false;
   }
   //
   ----------------------------------------------------------------------
   ---------- //
   public client_disconnect(id) {
      normal[id] = false;
      super[id] = false;
      music[id] = false;
      glow[id] = false;
      pulmonaryenhancer[id] = false;
      steroid[id] = false;
      salvage[id] = false;
      wings[id] = false;
      flyingset[id] = false;
      flower[id] = false;
      boots[id] = false;
      lockpick[id] = false;
   }
   //
   ----------------------------------------------------------------------
   ---------- //
   public admin_arena(id,level,cid) {
      if (!cmd_access(id,level,cid,1)) {
         return   PLUGIN_HANDLED;
      }
      if ( read_argc() == 2 ) {
         new set[5];
         read_argv(1,set,4);
         if ( (equali(set,"on")) || (equali(set,"1")) ) {
            arena = true;
            set_hudmessage(0,255,100,-1.0,0.50,0,0.1,10.0,0.5,0.5,8);
            show_hudmessage(0,"(GOOMBA) Goomba Arena ENABLED!^nRestarting
   round...");
            server_cmd("sv_restart ^"5^"");
            for ( new i=0 ; i < 2 ; i++ ) {
               console_print(id,"[GOOMBA] GOOMBA ARENA ENABLED!");
            }
         }
         else if ( (equali(set,"off")) || (equali(set,"0")) ) {
            arena = false;
            set_hudmessage(255,100,0,-1.0,0.50,0,0.1,10.0,0.5,0.5,8);
            show_hudmessage(0,"(GOOMBA)            Goomba           Arena
   DISABLED...^nRestarting round...");
            server_cmd("sv_restart ^"5^"");
            new all[32], anum;
            get_players(all,anum);
            // Remove Items when Goomba Arena is OFF
            for ( new x=0 ; x<anum ; x++ ) {
               new player = all[x];
               pulmonaryenhancer[player] = false;
               steroid[player] = false;
               salvage[player] = false;
               wings[player] = false;
               flyingset[player] = false;
               flower[player] = false;
               boots[player] = false;
               lockpick[player] = false;
            }
         }
      }
      else {
         if ( arena == true ) {
            arena = false;
            set_hudmessage(255,100,0,-1.0,0.50,0,0.1,10.0,0.5,0.5,8);
            show_hudmessage(0,"(GOOMBA)            Goomba           Arena
   DISABLED...^nRestarting round...");
            server_cmd("sv_restart ^"5^"");
            new all[32], anum;
            get_players(all,anum);
            // Remove Items when Goomba Arena is OFF
            for ( new x=0 ; x<anum ; x++ ) {
               new player = all[x];
               pulmonaryenhancer[player] = false;
               steroid[player] = false;
               salvage[player] = false;
               wings[player] = false;
               flyingset[player] = false;
               flower[player] = false;
               boots[player] = false;
               lockpick[player] = false;
            }
         }
         else if ( arena == false ) {
            arena = true;
            set_hudmessage(0,255,100,-1.0,0.50,0,0.1,10.0,0.5,0.5,8);
            show_hudmessage(0,"(GOOMBA) Goomba Arena ENABLED!^nRestarting
   round...");
            server_cmd("sv_restart ^"5^"");
            for ( new i=0 ; i < 2 ; i++ ) {
               console_print(id,"[GOOMBA] GOOMBA ARENA ENABLED!");
            }
         }
      }
      return   PLUGIN_HANDLED;
   }
   //
   ----------------------------------------------------------------------
   ---------- //
   public flying(id) {
      if ( (normal[id] == false) && (super[id] == false) ) {
         client_print(id,print_chat,"[GOOMBA]  You cannot fly because you
   are not a goomba.");
      }
      else if ( normal[id] == true ) {
         client_print(id,print_chat,"[GOOMBA]  You cannot fly because you
   are a normal goomba. You must be a Super Goomba!");
      }
      else if ( super[id] == true ) {
         if ( wings[id] == true ) {
            if ( flyingset[id] == false ) {
               flyingset[id] = true;
               client_print(id,print_center,"(GOOMBA) Flying mode ON!");
            }
            else if ( flyingset[id] == true ) {
               flyingset[id] = false;
               client_print(id,print_center,"(GOOMBA) Flying mode OFF!");
            }
         }
         else {
            client_print(id,print_chat,"[GOOMBA]  You do not own a set of
   wings.");
         }
      }
      return   PLUGIN_HANDLED;
   }
   //
   ----------------------------------------------------------------------
   ---------- //
   public InitFireball(id) {
      if (!is_user_alive(id)) {
         client_print(id,print_chat,"[GOOMBA]  You must be alive in order
   to shoot a fireball.");
         return   PLUGIN_HANDLED;
      }
      else if ( is_user_alive(id) ) {
         if ( (normal[id] == false) && (super[id] == false) ) {
            client_print(id,print_chat,"[GOOMBA]   You   cannot  throw  a
   fireball because you are not a goomba.");
         }
         else if ( normal[id] == true ) {
            client_print(id,print_chat,"[GOOMBA]   You   cannot  throw  a
   fireball  because  you  are  a  normal  goomba.  You  must  be a Super
   Goomba!");
         }
         else if ( super[id] == true ) {
            if ( flower[id] == true ) {
               if ( get_user_money(id) < FIREBALL ) {
                  client_print(id,print_chat,"[GOOMBA] You cannot throw a
   fireball   because   you   do   not   have   enough  money.  You  need
   $%i.",FIREBALL);
               }
               else if ( get_user_money(id) >= FIREBALL ) {
                  client_cmd(id,"weapon_knife");
                  new Float:pOrigin[3];
                  Entvars_Get_Vector(id,EV_VEC_origin,pOrigin);
                  // Entity initiation and placement
                  new fireball = CreateEntity("info_target");
                  Entvars_Set_String(fireball,EV_SZ_classname,"fireball")
   ;
                  ENT_SetModel(fireball,"models/oranget.mdl");
                  ENT_SetOrigin(fireball,pOrigin);
                  // Entity Glow
                  new Float:red[3];
                  red[0] = 255.0;
                  red[1] = 0.0;
                  red[2] = 0.0;
                  Entvars_Set_Int(fireball,EV_INT_rendermode,kRenderNorma
   l); // Null
                  Entvars_Set_Int(fireball,EV_INT_renderfx,kRenderFxGlowS
   hell); // FX (Shell around the ball)
                  Entvars_Set_Float(fireball,EV_FL_renderamt,255.0);   //
   Alpha
                  Entvars_Set_Vector(fireball,EV_VEC_rendercolor,red); //
   Red Glow Colour
                  // Entity effects, mov, global
                  Entvars_Set_Int(fireball,EV_INT_solid,2);  //  touch on
   edge, block (Line 88 of const)
                  Entvars_Set_Edict(fireball,EV_ENT_owner,id); // id that
   throws cannot be hit on creation
                  // Entity Gravity
                  if ( get_cvar_num("goomba_fireball_gravity") != 0 ) {
                     Entvars_Set_Int(fireball,EV_INT_movetype,6);
                     Entvars_Set_Float(fireball,EV_FL_gravity,0.20);
                  }
                  else  if ( get_cvar_num("goomba_fireball_gravity") == 0
   ) {
                     Entvars_Set_Int(fireball,EV_INT_movetype,5);
                  }
                  // Entity Effects
                  if ( get_cvar_num("goomba_fireball_effects") == 1 ) {
                     Entvars_Set_Int(fireball,EV_INT_effects,1);
                  }
                  else  if ( get_cvar_num("goomba_fireball_effects") == 2
   ) {
                     Entvars_Set_Int(fireball,EV_INT_effects,64);
                  }
                  new Float:pVelocity[3];
                  VelocityByAim(id,800,pVelocity);
                  Entvars_Set_Vector(fireball,EV_VEC_velocity,pVelocity);
                  emit_sound(id,CHAN_BODY,"goomba/fireball.wav",1.0,ATTN_
   NORM,0,PITCH_NORM);
                  set_user_money(id,get_user_money(id) - FIREBALL);
               }
            }
         }
      }
      return   PLUGIN_HANDLED;
   }
   //
   ----------------------------------------------------------------------
   ---------- //
   public goomba_advertise() {
      new all[32], anum;
      get_players(all,anum);
      for ( new x=0 ; x<anum ; x++ ) {
         new id = all[x];
         if ( is_user_alive(id) == 1 ) {
            set_hudmessage(0,155,255,-1.0,0.55,0,0.1,10.0,0.5,0.5,8);
            show_hudmessage(id,"(GOOMBA)   This  server  is  running  the
   Goomba  Plugin!^nType /goomba.^nVisit http://goomba.calzinger.net/ for
   updates!");
         }
      }
   }
   //
   ----------------------------------------------------------------------
   ---------- //
   public goomba_menu(id) {
      new normalcost = get_cvar_num("goomba_normal_cost");
      new supercost = get_cvar_num("goomba_super_cost");
      new musicdoing[50];
      if (!file_exists("sound/goomba/music.mp3")) {
         musicdoing = "File Not Found";
      }
      else {
         if ( music[id] == false ) {
            musicdoing = "Not Playing";
         }
         else if ( music[id] == true ) {
            musicdoing = "Playing";
         }
      }
      new cplayer[50];
      new cnormal[50];
      new csuper[50];
      if ((normal[id] == false) && (super[id] == false)) {
         cplayer = "\y(\rCurrent\y)";
      }
      else if ( normal[id] == true ) {
         cnormal = "\y(\rCurrent\y)";
      }
      else if ( super[id] == true ) {
         csuper = "\y(\rCurrent\y)";
      }
      new arena_status[15];
      if ( arena == false ) {
         arena_status = "DISABLED";
      }
      else if ( arena == true ) {
         arena_status = "ENABLED";
      }
      new gmenu[1000];
      new len = format(gmenu,1000,"\rG\wo\yo\wm\yb\wa \rM\we\yn\wu^n");
      len   +=   format(gmenu[len],999   -  len,"\yU\wl\yt\wi\ym\wa\yt\we
   \yG\wo\yo\wm\yb\wa          \yM\wo\yd         \yV\we\yr\ws\yi\wo\yn\w:
   \y(\r%s\y)^n",Version);
      len     +=     format(gmenu[len],999     -     len,"\yA\wr\ye\wn\ya
   \yS\wt\ya\wt\yu\ws\y: \y(\r%s\y)^n",arena_status);
      len += format(gmenu[len],999 - len,"^n");
      len   +=  format(gmenu[len],999  -  len,"\y1\w.  ($\y0\w)  \wNormal
   Player %s^n",cplayer);
      len  +=  format(gmenu[len],999  -  len,"\y2\w.  ($\y%i\w)  \wNormal
   Goomba %s^n",normalcost,cnormal);
      len += format(gmenu[len],999 - len,"\y3\w. ($\y%i\w) \wSuper Goomba
   %s^n",supercost,csuper);
      len += format(gmenu[len],999 - len,"^n");
      len += format(gmenu[len],999 - len,"^n");
      len   +=  format(gmenu[len],999  -  len,"\y6\w.  \yG\wo\yo\wm\yb\wa
   \yH\we\yl\wp \yD\wi\ys\wp\yl\wa\yy^n");
      len += format(gmenu[len],999 - len,"\y7\w. \yI\wt\ye\wm\ys^n");
      len   +=   format(gmenu[len],999   -   len,"\y8\w.  \yM\wu\ys\wi\yc
   \w(\y%s\w)^n",musicdoing);
      len += format(gmenu[len],999 - len,"^n");
      len += format(gmenu[len],999 - len,"\y0\w. \rExit");
      new key = (1<<0|1<<1|1<<2|1<<5|1<<6|1<<7|1<<9);
      show_menu(id,key,gmenu,-1);
      return   PLUGIN_HANDLED;
   }
   //
   ----------------------------------------------------------------------
   ---------- //
   public menucmds(id,key) {
      new normalcost = get_cvar_num("goomba_normal_cost");
      new supercost = get_cvar_num("goomba_super_cost");
      new playername[32];
      get_user_name(id,playername,31);
      switch ( key ) {
         case 0: {
            normal[id] = false;
            super[id] = false;
            CS_ClearModel(id);
            client_print(id,print_chat,"[GOOMBA] You are not a goomba.");
         }
         case 1: {
            if (get_user_money(id) < normalcost) {
               client_print(id,print_chat,"[GOOMBA]   You   do  not  have
   enough money to rent the Normal Goomba. You need $%i.",normalcost);
            }
            else {
               normal[id] = true;
               super[id] = false;
               CS_SetModel(id,"goomba");
               set_user_money(id,get_user_money(id) - normalcost);
               client_print(0,print_chat,"[GOOMBA]  %s  is  now  a normal
   goomba.",playername);
               client_print(id,print_chat,"[GOOMBA]   You  are  a  normal
   goomba.  You  have lost %i and will lose this for each round you are a
   goomba.",normalcost);
            }
         }
         case 2: {
            if (get_user_money(id) < supercost) {
               client_print(id,print_chat,"[GOOMBA]  You dont have enough
   money to rent the Super Goomba! You need $%i.",supercost);
            }
            else {
               normal[id] = false;
               super[id] = true;
               CS_SetModel(id,"goomba");
               set_user_money(id,get_user_money(id) - supercost);
               client_print(0,print_chat,"[GOOMBA]  %s  is  now  a  super
   goomba!",playername);
               client_print(id,print_chat,"[GOOMBA]   You   are  a  super
   goomba!  You  have lost %i and will lose this for each round you are a
   goomba.",supercost);
            }
         }
         case 5: {
            goomba_help(id);
         }
         case 6: {
            goomba_items(id);
         }
         case 7: {
            if ( music[id] == false ) {
               music[id] = true;
               client_cmd(id,"mp3 loop ^"sound/goomba/music.mp3^"");
               client_print(id,print_chat,"[GOOMBA]  Goomba  music is now
   playing!");
            }
            else if ( music[id] == true ) {
               music[id] = false;
               client_cmd(id,"mp3 stop");
               client_print(id,print_chat,"[GOOMBA]  Goomba  music is not
   playing!");
            }
            goomba_menu(id);
         }
         case 9: {
            return   PLUGIN_CONTINUE;
         }
         default: {
            normal[id] = false;
            super[id] = false;
         }
      }
      return   PLUGIN_CONTINUE;
   }
   //
   ----------------------------------------------------------------------
   ---------- //
   public goomba_items(id) {
      new pulmonaryenhancer_cvar =
   get_cvar_num("goomba_pulmonaryenhancer");
      new pe_buysell[10];
      new steroid_cvar = get_cvar_num("goomba_steroid");
      new st_buysell[10];
      new salvage_cvar = get_cvar_num("goomba_salvage");
      new sa_buysell[10];
      new wings_cvar = get_cvar_num("goomba_wings");
      new wi_buysell[10];
      new flower_cvar = get_cvar_num("goomba_flower");
      new fl_buysell[10];
      new boots_cvar = get_cvar_num("goomba_boots");
      new bo_buysell[10];
      new lockpick_cvar = get_cvar_num("goomba_lockpick");
      new lp_buysell[10];
      // -- //
      if ( pulmonaryenhancer[id] == true) {
         pe_buysell = "Sell"
         pulmonaryenhancer_cvar /= 2;
      }
      else if ( pulmonaryenhancer[id] == false) {
         pe_buysell = "Buy";
      }
      // -- //
      if ( steroid[id] == true) {
         st_buysell = "Sell"
         steroid_cvar /= 2;
      }
      else if ( steroid[id] == false) {
         st_buysell = "Buy";
      }
      // -- //
      if ( salvage[id] == true ) {
         sa_buysell = "Sell";
         salvage_cvar /= 2;
      }
      else if ( salvage[id] == false ) {
         sa_buysell = "Buy";
      }
      // -- //
      if ( wings[id] == true ) {
         wi_buysell = "Sell";
         wings_cvar /= 2;
      }
      else if ( wings[id] == false ) {
         wi_buysell = "Buy";
      }
      // -- //
      if ( flower[id] == true ) {
         fl_buysell = "Sell";
         flower_cvar /= 2;
      }
      else if ( flower[id] == false ) {
         fl_buysell = "Buy";
      }
      // -- //
      if ( boots[id] == true ) {
         bo_buysell = "Sell";
         boots_cvar /= 2;
      }
      else if ( boots[id] == false ) {
         bo_buysell = "Buy";
      }
      // -- //
      if ( lockpick[id] == true ) {
         lp_buysell = "Sell";
         lockpick_cvar /= 2;
      }
      else if ( lockpick[id] == false ) {
         lp_buysell = "Buy";
      }
      // -- //
      new imenu[1000];
      new   len   =   format(imenu,999,"\rG\wo\yo\wm\yb\wa   \rI\wt\ye\wm
   \rM\we\yn\wu^n^n");
      len    +=    format(imenu[len],999    -    len,"\y1\w.    ($\y%i\w)
   \w(\y%s\w)  \yP\wulmonary
   \yE\wnhancer^n",pulmonaryenhancer_cvar,pe_buysell);
      len    +=    format(imenu[len],999    -    len,"\y2\w.    ($\y%i\w)
   \w(\y%s\w)  \yS\wteroid^n",steroid_cvar,st_buysell);
      len    +=    format(imenu[len],999    -    len,"\y3\w.    ($\y%i\w)
   \w(\y%s\w)  \yS\walvage^n",salvage_cvar,sa_buysell);
      len    +=    format(imenu[len],999    -    len,"\y4\w.    ($\y%i\w)
   \w(\y%s\w)  \yW\wings^n",wings_cvar,wi_buysell);
      len    +=    format(imenu[len],999    -    len,"\y5\w.    ($\y%i\w)
   \w(\y%s\w)  \yF\wlower^n",flower_cvar,fl_buysell);
      len    +=    format(imenu[len],999    -    len,"\y6\w.    ($\y%i\w)
   \w(\y%s\w)  \yB\woots^n",boots_cvar,bo_buysell);
      len    +=    format(imenu[len],999    -    len,"\y7\w.    ($\y%i\w)
   \w(\y%s\w)  \yL\wock \yP\wick^n",lockpick_cvar,lp_buysell);
      len += format(imenu[len],999 - len,"^n");
      len += format(imenu[len],999 - len,"^n");
      len   +=  format(imenu[len],999  -  len,"\y9\w.  \yG\wo\yo\wm\yb\wa
   \yI\wt\ye\wm \yD\we\ys\wc\yr\wi\yp\wt\yi\wo\yn\ws^n");
      len += format(imenu[len],999 - len,"\y0\w. \rExit.");
      new key = (1<<0|1<<1|1<<2|1<<3|1<<4|1<<5|1<<6|1<<8|1<<9);
      show_menu(id,key,imenu,-1);
      return   PLUGIN_HANDLED;
   }
   //
   ----------------------------------------------------------------------
   ---------- //
   public itemmenu(id,key) {
      new pulmonaryenhancer_cvar =
   get_cvar_num("goomba_pulmonaryenhancer");
      new steroid_cvar = get_cvar_num("goomba_steroid");
      new salvage_cvar = get_cvar_num("goomba_salvage");
      new wings_cvar = get_cvar_num("goomba_wings");
      new flower_cvar = get_cvar_num("goomba_flower");
      new boots_cvar = get_cvar_num("goomba_boots");
      new lockpick_cvar = get_cvar_num("goomba_lockpick")
      new playername[32];
      get_user_name(id,playername,31);
      switch ( key ) {
         case 0: {
            if ( normal[id] == true ) {
               client_print(id,print_chat,"[GOOMBA]  You  cannot  buy the
   Pulmonary Enhancer. You are a normal goomba, not a Super Goomba!");
            }
            else if ( super[id] == true ) {
               if  (  (get_user_money(id)  <  pulmonaryenhancer_cvar)  &&
   (pulmonaryenhancer[id] == false) ) {
                  client_print(id,print_chat,"[GOOMBA]  You  do  not have
   enough    money    to   buy   the   Pulmonary   Enhancer.   You   need
   $%i.",pulmonaryenhancer_cvar);
               }
               else {
                  if ( pulmonaryenhancer[id] == false ) {
                     set_user_money(id,get_user_money(id)               -
   pulmonaryenhancer_cvar);
                     pulmonaryenhancer[id] = true;
                     client_print(id,print_chat,"[GOOMBA] You have bought
   the pulmonary enhancer and will pay $%i per
   round.",pulmonaryenhancer_cvar);
                  }
                  else if ( pulmonaryenhancer[id] == true ) {
                     set_user_money(id,get_user_money(id)               +
   pulmonaryenhancer_cvar/2);
                     pulmonaryenhancer[id] = false;
                     client_print(id,print_chat,"[GOOMBA]  You  have sold
   your pulmonary enhancer and gained $%i.",pulmonaryenhancer_cvar/2);
                  }
               }
            }
            else {
               client_print(id,print_chat,"[GOOMBA]  You cannot buy items
   because you are not a goomba.");
            }
            goomba_items(id);
         }
         case 1: {
            if ( normal[id] == true ) {
               client_print(id,print_chat,"[GOOMBA]  You  cannot  buy the
   Steroid. You are a normal goomba, not a Super Goomba!");
            }
            else if ( super[id] == true ) {
               if  (  (get_user_money(id) < steroid_cvar) && (steroid[id]
   == false) ) {
                  client_print(id,print_chat,"[GOOMBA]  You  do  not have
   enough money to buy the Steroid. You need $%i.",steroid_cvar);
               }
               else {
                  if ( steroid[id] == false ) {
                     set_user_money(id,get_user_money(id)               -
   steroid_cvar);
                     steroid[id] = true;
                     client_print(id,print_chat,"[GOOMBA] You have bought
   the steroid and will pay $%i per round.",steroid_cvar);
                  }
                  else if ( steroid[id] == true ) {
                     set_user_money(id,get_user_money(id)               +
   steroid_cvar/2);
                     steroid[id] = false;
                     client_print(id,print_chat,"[GOOMBA]  You  have sold
   your steroid and gained $%i.",steroid_cvar/2);
                  }
               }
            }
            else {
               client_print(id,print_chat,"[GOOMBA]  You cannot buy items
   because you are not a goomba.");
            }
            goomba_items(id);
         }
         case 2: {
            if ( normal[id] == true ) {
               client_print(id,print_chat,"[GOOMBA]  You  cannot  buy the
   Salvage. You are a normal goomba, not a Super Goomba!");
            }
            else if ( super[id] == true ) {
               if  (  (get_user_money(id) < salvage_cvar) && (salvage[id]
   == false) ) {
                  client_print(id,print_chat,"[GOOMBA]  You  do  not have
   enough money to buy the Salvage. You need %i.",salvage_cvar);
               }
               else {
                  if ( salvage[id] == false ) {
                     set_user_money(id,get_user_money(id)               -
   salvage_cvar);
                     salvage[id] = true;
                     client_print(id,print_chat,"[GOOMBA] You have bought
   the salvage and will pay $%i per round.",salvage_cvar);
                  }
                  else if ( salvage[id] == true ) {
                     set_user_money(id,get_user_money(id)               +
   salvage_cvar/2);
                     salvage[id] = false;
                     client_print(id,print_chat,"[GOOMBA]  You  have sold
   your salvage and gained $%i.",salvage_cvar/2);
                  }
               }
            }
            else {
               client_print(id,print_chat,"[GOOMBA]  You cannot buy items
   because you are not a goomba.");
            }
            goomba_items(id);
         }
         case 3: {
            if ( normal[id] == true ) {
               client_print(id,print_chat,"[GOOMBA]  You  cannot  buy the
   Wings. You are a normal goomba, not a Super Goomba!");
            }
            else if ( super[id] == true ) {
               if  (  (get_user_money(id)  < wings_cvar) && (wings[id] ==
   false) ) {
                  client_print(id,print_chat,"[GOOMBA]  You  do  not have
   enough money to buy the Wings. You need %i.",wings_cvar);
               }
               else {
                  if ( wings[id] == false ) {
                     set_user_money(id,get_user_money(id) - wings_cvar);
                     wings[id] = true;
                     client_print(id,print_chat,"[GOOMBA] You have bought
   the  wings  and  will  pay  $%i  per  round.  Type /fly to toggle your
   wings.",wings_cvar);
                  }
                  else if ( wings[id] == true ) {
                     set_user_money(id,get_user_money(id)               +
   wings_cvar/2);
                     wings[id] = false;
                     client_print(id,print_chat,"[GOOMBA]  You  have sold
   your wings and gained $%i.",wings_cvar/2);
                  }
               }
            }
            else {
               client_print(id,print_chat,"[GOOMBA]  You cannot buy items
   because you are not a goomba.");
            }
            goomba_items(id);
         }
         case 4: {
            if ( normal[id] == true ) {
               client_print(id,print_chat,"[GOOMBA]  You  cannot  buy the
   Flower. You are a normal goomba, not a Super Goomba!");
            }
            else if ( super[id] == true ) {
               if  ( (get_user_money(id) < flower_cvar) && (flower[id] ==
   false) ) {
                  client_print(id,print_chat,"[GOOMBA]  You  do  not have
   enough money to buy the Flower. You need %i.",flower_cvar);
               }
               else {
                  if ( flower[id] == false ) {
                     set_user_money(id,get_user_money(id) - flower_cvar);
                     flower[id] = true;
                     client_print(id,print_chat,"[GOOMBA] You have bought
   the flower and will pay $%i per round.",flower_cvar);
                  }
                  else if ( flower[id] == true ) {
                     set_user_money(id,get_user_money(id)               +
   flower_cvar/2);
                     flower[id] = false;
                     client_print(id,print_chat,"[GOOMBA]  You  have sold
   your Flower and gained $%i.",flower_cvar/2);
                  }
               }
            }
            else {
               client_print(id,print_chat,"[GOOMBA]  You cannot buy items
   because you are not a goomba.");
            }
            goomba_items(id);
         }
         case 5: {
            if ( normal[id] == true ) {
               client_print(id,print_chat,"[GOOMBA]  You  cannot  buy the
   Boots. You are a normal goomba, not a Super Goomba!");
            }
            else if ( super[id] == true ) {
               if  (  (get_user_money(id)  < boots_cvar) && (boots[id] ==
   false) ) {
                  client_print(id,print_chat,"[GOOMBA]  You  do  not have
   enough money to buy the Boots. You need %i.",boots_cvar);
               }
               else {
                  if ( boots[id] == false ) {
                     set_user_money(id,get_user_money(id) - boots_cvar);
                     boots[id] = true;
                     client_print(id,print_chat,"[GOOMBA] You have bought
   the Boots and will pay $%i per round.",boots_cvar);
                  }
                  else if ( boots[id] == true ) {
                     set_user_money(id,get_user_money(id)               +
   boots_cvar/2);
                     boots[id] = false;
                     client_print(id,print_chat,"[GOOMBA]  You  have sold
   your Boots and gained $%i.",boots_cvar/2);
                  }
               }
            }
            else {
               client_print(id,print_chat,"[GOOMBA]  You cannot buy items
   because you are not a goomba.");
            }
            goomba_items(id);
         }
         case 6: {
            if ( normal[id] == true ) {
               client_print(id,print_chat,"[GOOMBA]  You  cannot  buy the
   Lockpick. You are a normal goomba, not a Super Goomba!");
            }
            else if ( super[id] == true ) {
               if ( (get_user_money(id) < lockpick_cvar) && (lockpick[id]
   == false) ) {
                  client_print(id,print_chat,"[GOOMBA]  You  do  not have
   enough money to buy the Lockpick. You need %i.",lockpick_cvar);
               }
               else {
                  if ( lockpick[id] == false ) {
                     set_user_money(id,get_user_money(id)               -
   lockpick_cvar);
                     lockpick[id] = true;
                     client_print(id,print_chat,"[GOOMBA] You have bought
   the Lockpick and will pay $%i per round.",lockpick_cvar);
                  }
                  else if ( boots[id] == true ) {
                     set_user_money(id,get_user_money(id)               +
   lockpick_cvar/2);
                     lockpick[id] = false;
                     client_print(id,print_chat,"[GOOMBA]  You  have sold
   your Lockpick and gained $%i.",lockpick_cvar/2);
                  }
               }
            }
            else {
               client_print(id,print_chat,"[GOOMBA]  You cannot buy items
   because you are not a goomba.");
            }
            goomba_items(id);
         }
         case 8: {
            item_list(id);
         }
         case 9: {
            return   PLUGIN_CONTINUE;
         }
      }
      return   PLUGIN_CONTINUE;
   }
   //
   ----------------------------------------------------------------------
   ---------- //
   public item_list(id) {
      new itemlist[4000];
      new  len  = format(itemlist,3999,"<!DOCTYPE HTML PUBLIC -//W3C//DTD
   HTML  4.01  Transitional//EN><html><head><meta http-equiv=Content-Type
   content=text/html;                     charset=iso-8859-1></head><body
   bgcolor=#FFFFFF><font            color=#000000            family=Arial
   style=font-family:Arial><center><strong>Goobma                    Item
   List</strong></center><br><br>");
      len   +=   format(itemlist[len],3999   -  len,"<ul><li><u>Pulmonary
   Enhancer</u>:<br>This  item  will give you more health at the start of
   each round.<br>Bonus: +%i HP<br><br></li>",PULMONARYENHANCER);
      len += format(itemlist[len],3999 - len,"<li><u>Steroid</u>:<br>This
   item  will  allow you to do more damage at the cost of health every 10
   seconds.<br>Bonus: +%i Percent Damage<br><br></li>",100/STEROID);
      len += format(itemlist[len],3999 - len,"<li><u>Salvage</u>:<br>This
   item  will  allow  you to gain more money per round.<br>Note: Only use
   this  if  you  are  facing more than one opponent. Otherwise, you will
   lose    more    money    than    you    gain.<br>Bonus:    +$%i    per
   kill<br><br></li>",SALVAGE);
      len  +=  format(itemlist[len],3999 - len,"<li><u>Wings</u>:<br>This
   item will allow you to fly throughout the level at a fair speed.<br>To
   toggle  the activation of your wings, type /fly once you have bought a
   pair of wings.<br><br></li>");
      len  += format(itemlist[len],3999 - len,"<li><u>Flower</u>:<br>This
   item  will  allow you to shoot fireballs as Mario can. These fireballs
   damage  ALL  clients,  including teammates and yourself.<br>To throw a
   fireball,   bind   a   key   to   goomba_fireball.<br>Cost  Per  Fire:
   $%i<br><br></li>",FIREBALL);
      len  +=  format(itemlist[len],3999 - len,"<li><u>Boots</u>:<br>This
   item    will    allow    you    to   walk   faster.<br>Bonus:   Faster
   Run/Walk<br>Bonus: Silent Footsteps<br><br></li>");
      len += format(itemlist[len],3999 -
   len,"<li><u>Lockpick</u>:<br>This  item  will give you health when you
   damage an enemy.<br>%i Percent Damage
   Stolen<br><br></li>",100/LOCKPICK);
      len += format(itemlist[len],3999 - len,"</ul></font></body>");
      show_motd(id,itemlist,"Goomba Item List");
      return   PLUGIN_HANDLED;
   }
   //
   ----------------------------------------------------------------------
   ---------- //
   public goomba_help(id) {
      new normalcost = get_cvar_num("goomba_normal_cost");
      new supercost = get_cvar_num("goomba_super_cost");
      new help[4000];
      new  len = format(help,3999,"<!DOCTYPE HTML PUBLIC -//W3C//DTD HTML
   4.01     Transitional//EN><html><head><meta    http-equiv=Content-Type
   content=text/html;                     charset=iso-8859-1></head><body
   bgcolor=#FFFFFF><font            color=#000000            family=Arial
   style=font-family:Arial><center><strong>Goomba
   Help</strong><br><br><br><img
   src=http://www.v0rex.com/site/projects/AMXMOD/Pick-Yer-Model/screenies
   /goomba.jpg></center><br>");
      len  += format(help[len],3999 - len, "<b>What is a Goomba?</b><br>A
   goomba  is  a character from the infamous Mario video game. The goomba
   is  one  of the enemies in this game. The model was built as a chicken
   mod  model, but was converted as a separate mod for more customization
   through  AMX Mod. The goomba in this mod are available in two options:
   Normal Goomba and Super Goomba.<br><br>");
      len  +=  format(help[len],3999  - len,"<b>Normal Goomba</b>:<br>The
   normal goomba just changes your character to appearas a goomba. It has
   no  effect  on your game performance, except for the fact now you look
   like a goomba.<br><br>");
      len  +=  format(help[len], 3999 - len, "<b>Super Goomba</b>:<br>The
   Super  Goomba  is  the  ultimate  goomba  that can do much more than a
   normal  goomba  can.  Super  Goombas  can  buy  power items which will
   enhance  their  gameplay. For details on which items Super Goombas can
   buy,  type  /goomba_items.  Super  Goombas  also  cost  more money per
   round.<br><br>");
      len     +=    format(help[len],    3999    -    len,    "<b>Payment
   Method</b>:<br><u>Normal   Goomba   Cost</u>:  $%i<br><u>Super  Goomba
   Cost</u>: $%i<br><br>",normalcost,supercost);
      len    +=    format(help[len],    3999   -   len,   "<b>Interactive
   Menus</b>:<br><ul><li>/goomba  - Main Menu</li><li>/goomba_help - This
   screen</li><li>/goomba_items  -  Item Menu </li><li>/goomba_itemlist -
   Item List</li></ul>");
      len += format(help[len], 3999 - len, "</font></body>");
      show_motd(id,help,"Goomba Help");
      return   PLUGIN_HANDLED;
   }
   //
   ----------------------------------------------------------------------
   ---------- //
   public death_init() {
      new attacker = read_data(1);
      new victim = read_data(2);
      new playername[32];
      get_user_name(attacker,playername,31);
      if ( (super[attacker] == true) || (normal[attacker] == true) ) {
         client_cmd(attacker,"spk ^"sound/goomba/coin.wav^"");
         set_hudmessage(0,255,50,-1.0,0.25,0,0.1,5.0,0.1,0.1,8);
         show_hudmessage(victim,"(GOOMBA)  You  were  killed  by  a super
   goomba!^nAlias: %s",playername);
         if ( salvage[attacker] == true ) {
            new rgb[3];
            rgb[0] = random_num(0,255);
            rgb[1] = random_num(0,255);
            rgb[2] = random_num(0,255);
            set_user_money(attacker,get_user_money(attacker) + SALVAGE);
            set_hudmessage(rgb[0],rgb[1],rgb[2],-1.0,0.25,0,0.1,5.0,0.2,0
   .2,8);
            show_hudmessage(attacker,"(GOOMBA)    You    have    salvaged
   $%i.",SALVAGE);
         }
      }
      if ( (super[victim] == true) || (normal[victim] == true) ) {
         client_cmd(victim,"spk ^"sound/goomba/death.wav^"");
      }
      return   PLUGIN_CONTINUE;
   }
   //
   ----------------------------------------------------------------------
   ---------- //
   public damage_init(id) {
      new attacker = get_user_attacker(id);
      new damage = read_data(2);
      new rgb[3];
      rgb[0] = random_num(0,255);
      rgb[1] = random_num(0,255);
      rgb[2] = random_num(0,255);
      if ( super[attacker] == true ) {
         if ( steroid[attacker] == true ) {
            new extra = (damage/STEROID);
            if ( extra > get_user_health(id) ) {
               return   PLUGIN_CONTINUE;
            }
            else if (extra < get_user_health(id) ) {
               set_user_health(id,get_user_health(id) - extra);
            }
            new total = extra+damage;
            set_hudmessage(rgb[0],rgb[1],rgb[2],-1.0,0.8,0,0.1,5.0,0.5,0.
   5,8);
            show_hudmessage(attacker,"(GOOMBA)      Steroid      Enhanced
   Damage!^nNormal    Damage:   %i^nExtra   Damage:   %i^nTotal   Damage:
   %i",damage,extra,total);
            if ( (attacker >= 1) && (attacker <= 32) ) {
               screenfade(attacker,12,1,0,255,50,50);
            }
            if ( (id >= 1) && (id <= 32) ) {
               screenfade(id,12,1,255,100,0,50);
            }
         }
         if ( lockpick[attacker] == true ) {
            new leech = damage/8;
            set_user_health(attacker,get_user_health(attacker) + leech);
            screenfade(attacker,12,1,rgb[0],rgb[1],rgb[2],100);
            set_hudmessage(rgb[0],rgb[1],rgb[2],-1.0,0.8,0,0.1,5.0,0.5,0.
   5,8);
            show_hudmessage(attacker,"(GOOMBA)       Lockpick      Stolen
   Health!^nDamage: %i^nLife Stolen: %i",damage,leech);
         }
      }
      return   PLUGIN_CONTINUE;
   }
   //
   ----------------------------------------------------------------------
   ---------- //
   public enter(id) {
      if ( get_cvar_num("goomba_entermusic") != 0 ) {
         new sound = random_num(1,3);
         if ( sound == 1 ) {
            client_cmd(id,"spk ^"sound/goomba/con1.wav^"");
         }
         else if ( sound == 2 ) {
            client_cmd(id,"spk ^"sound/goomba/con2.wav^"");
         }
         else if ( sound == 3 ) {
            client_cmd(id,"spk ^"sound/goomba/con3.wav^"");
         }
         set_hudmessage(0,255,50,0.15,0.85,0,0.1,20.0,0.5,0.5,10);
         show_hudmessage(id,"(GOOMBA)  This  server is running the Goomba
   Mod!^nType /goomba for details!");
      }
   }
   //
   ----------------------------------------------------------------------
   ---------- //
   public round_start(id) {

      // Money Handler
      new normalcost = get_cvar_num("goomba_normal_cost");
      new supercost = get_cvar_num("goomba_super_cost");
      new pulmonaryenhancer_cvar =
   get_cvar_num("goomba_pulmonaryenhancer");
      new steroid_cvar = get_cvar_num("goomba_steroid");
      new salvage_cvar = get_cvar_num("goomba_salvage");
      new wings_cvar = get_cvar_num("goomba_wings");
      new flower_cvar = get_cvar_num("goomba_flower");
      new boots_cvar = get_cvar_num("goomba_boots");
      new lockpick_cvar = get_cvar_num("goomba_lockpick");
      new loss[1002];
      new len = format(loss,1002,"(GOOMBA) Money Subtractions:^n");

      new total = 0;
      new     wholetime     =     (get_cvar_num("mp_roundtime")*60)     +
   get_cvar_num("mp_freezetime");
      new Float:endingtime = wholetime - 60.0;
      set_task(endingtime,"ending",400,"",0,"",0);
      if ( arena == false ) {
         if ( normal[id] == true ) {
            if ( get_user_money(id) < normalcost ) {
               normal[id] = false;
            }
            else {
               if ( normal[id] == true ) {
                  CS_SetModel(id,"goomba");
                  set_user_money(id,get_user_money(id) - normalcost);
                  len   +=  format(loss[len],1001  -  len,"$%i  -  Normal
   Goomba^n",normalcost);
                  total += normalcost;
               }
            }
         }
         else if ( super[id] == true ) {
            if ( get_user_money(id) < supercost ) {
               super[id] = false;
               client_print(id,print_chat,"[GOOMBA]  You  have  lost your
   super goomba because you can no longer afford it.");
            }
            else {
               if ( super[id] == true) {
                  if ( wings[id] == true ) {
                     CS_SetModel(id,"goombawing");
                  }
                  else {
                     CS_SetModel(id,"goomba");
                  }
                  set_user_money(id,get_user_money(id) - supercost);
                  len   +=   format(loss[len],1001  -  len,"$%i  -  Super
   Goomba^n",supercost);
                  total += supercost;
               }
               // Item Costs
               if (pulmonaryenhancer[id] == true) {
                  if (get_user_money(id) < pulmonaryenhancer_cvar) {
                     pulmonaryenhancer[id] = false;
                  }
                  else {
                     set_user_money(id,get_user_money(id)               -
   pulmonaryenhancer_cvar);
                     len  += format(loss[len],1001 - len,"$%i - Pulmonary
   Enhancer^n",pulmonaryenhancer_cvar);
                     total += pulmonaryenhancer_cvar;
                  }
               }
               if (steroid[id] == true) {
                  if (get_user_money(id) < steroid_cvar) {
                     steroid[id] = false;
                  }
                  else {
                     set_user_money(id,get_user_money(id)               -
   steroid_cvar);
                     len    +=   format(loss[len],1001   -   len,"$%i   -
   Steroid^n",steroid_cvar);
                     total += steroid_cvar;
                  }
               }
               if (salvage[id] == true) {
                  if (get_user_money(id) < salvage_cvar) {
                     salvage[id] = false;
                  }
                  else {
                     set_user_money(id,get_user_money(id)               -
   salvage_cvar);
                     len    +=   format(loss[len],1001   -   len,"$%i   -
   Salvage^n",salvage_cvar);
                     total += salvage_cvar;
                  }
               }
               if (wings[id] == true) {
                  if (get_user_money(id) < wings_cvar) {
                     wings[id] = false;
                  }
                  else {
                     set_user_money(id,get_user_money(id) - wings_cvar);
                     len    +=   format(loss[len],1001   -   len,"$%i   -
   Wings^n",wings_cvar);
                     total += wings_cvar;
                  }
               }
               if (flower[id] == true) {
                  if (get_user_money(id) < flower_cvar) {
                     flower[id] = false;
                  }
                  else {
                     set_user_money(id,get_user_money(id) - flower_cvar);
                     len    +=   format(loss[len],1001   -   len,"$%i   -
   Flower^n",flower_cvar);
                     total += flower_cvar;
                  }
               }
               if (boots[id] == true) {
                  if (get_user_money(id) < boots_cvar) {
                     boots[id] = false;
                  }
                  else {
                     set_user_money(id,get_user_money(id) - boots_cvar);
                     len    +=   format(loss[len],1001   -   len,"$%i   -
   Boots^n",boots_cvar);
                     total += boots_cvar;
                  }
               }
               if (lockpick[id] == true) {
                  if (get_user_money(id) < lockpick_cvar) {
                     lockpick[id] = false;
                  }
                  else {
                     set_user_money(id,get_user_money(id)               -
   lockpick_cvar);
                     len    +=   format(loss[len],1001   -   len,"$%i   -
   Lockpick^n",lockpick_cvar);
                     total += lockpick_cvar;
                  }
               }
               // Item Initiation
               if (pulmonaryenhancer[id] == true) {
                  set_user_health(id,get_user_health(id)                +
   PULMONARYENHANCER);
               }
            }
         }
         else {
            CS_ClearModel(id);
            len += format(loss[len],1001 - len,"No Costs");
         }
         if ( (get_cvar_num("goomba_showcost") == 1) ) {
            new rand[3];
            rand[0] = random_num(0,255);
            rand[1] = random_num(0,255);
            rand[2] = random_num(0,255);
            set_hudmessage(rand[0],rand[1],rand[2],0.2,0.25,0,0.1,10.0,2.
   0,2.0,8);
            show_hudmessage(id,"%s^nTotal Cost: $%i",loss,total);
         }
      }
      else if ( arena == true ) {
         super[id] = true;
         CS_SetModel(id,"goombawing");
         // Items
         pulmonaryenhancer[id] = true;
         steroid[id] = true;
         salvage[id] = true;
         wings[id] = true;
         flower[id] = true;
         boots[id] = true;
         set_user_health(id,get_user_health(id) + PULMONARYENHANCER);
         new rand[3];
         rand[0] = random_num(0,255);
         rand[1] = random_num(0,255);
         rand[2] = random_num(0,255);
         set_hudmessage(rand[0],rand[1],rand[2],0.2,0.25,0,0.1,10.0,2.0,2
   .0,8);
         show_hudmessage(id,"%s^nNo      costs!^nGoomba      Arena     is
   ENABLED!",loss);
      }
      return   PLUGIN_CONTINUE;
   }
   //
   ----------------------------------------------------------------------
   ---------- //
   public round_end() {
      remove_task(400,0);
      return   PLUGIN_CONTINUE;
   }
   //
   ----------------------------------------------------------------------
   ---------- //
   public ending() {
      new all[32], anum;
      get_players(all,anum);
      for ( new x=0 ; x<anum ; x++ ) {
         client_cmd(all[x],"spk ^"sound/goomba/ending.wav^"");
         set_hudmessage(255,0,0,-1.0,0.45,0,0.1,5.0,0.2,0.2,8);
         show_hudmessage(all[x],"(GOOMBA)  Warning:  60  seconds  left in
   this round!");
      }
      return   PLUGIN_CONTINUE;
   }
   //
   ----------------------------------------------------------------------
   ---------- //
   public rainbow() {
      new all[32], anum;
      get_players(all,anum,"a");
      for ( new x=0 ; x<anum ; x++ ) {
         if ( is_user_alive(all[x]) ) {
            if ( glow[all[x]] == true ) {
               new rgb[3];
               rgb[0] = random_num(0,255);
               rgb[1] = random_num(0,255);
               rgb[2] = random_num(0,255);
               set_user_rendering(all[x],kRenderFxGlowShell,rgb[0],rgb[1]
   ,rgb[2],kRenderNormal,100);
            }
         }
      }
      return   PLUGIN_CONTINUE;
   }
   //
   ----------------------------------------------------------------------
   ---------- //
   public sprite_index() {
      new all[32], anum;
      get_players(all,anum);
      for ( new x=0 ; x<anum ; x++ ) {
         new id = all[x];
         if ( (super[id] == true) || (normal[id] == true) ) {
            if ( is_user_alive(id) ) {
               if ( get_user_team(id) == 1 ) {
                  message_begin(MSG_ALL,SVC_TEMPENTITY);
                  write_byte( TE_PLAYERATTACHMENT );
                  write_byte( id );
                  write_coord( 70 );
                  write_short( terrorist );
                  write_short( 70 );
                  message_end();
               }
               else if ( get_user_team(id) == 2 ) {
                  message_begin(MSG_ALL,SVC_TEMPENTITY);
                  write_byte( TE_PLAYERATTACHMENT );
                  write_byte( id );
                  write_coord( 70 );
                  write_short( ct );
                  write_short( 70 );
                  message_end();
               }
            }
         }
         else if ((super[id] == false) && (normal[id] == false)) {
            message_begin(MSG_ALL,SVC_TEMPENTITY);
            write_byte( TE_KILLPLAYERATTACHMENTS );
            write_byte( id );
            message_end();
         }
      }
   }
   //
   ----------------------------------------------------------------------
   ---------- //
   public steroid_damage() {
      new all[32], anum;
      get_players(all,anum,"a");
      for ( new x=0 ; x<anum ; x++ ) {
         new id = all[x];
         if ( is_user_alive(id) == 1 ) {
            if ( steroid[id] == true ) {
               if ( get_user_health(id) > 2 ) {
                  set_user_health(id,get_user_health(id)-2);
               }
               else if ( get_user_health(id) <= 2 ) {
                  client_cmd(id,"kill")
                  client_print(id,print_chat,"[GOOMBA]   You   have  been
   killed by your steroid.");
               }
            }
         }
      }
      return   PLUGIN_CONTINUE;
   }
   //
   ----------------------------------------------------------------------
   ---------- //
   // Shortcut Functions
   //
   ----------------------------------------------------------------------
   ---------- //
   public screenfade(id,dur,hold,r,g,b,alpha) {
      if (!is_user_alive(id)) {
         return;
      }
      message_begin(MSG_ONE,colorfade,{0,0,0},id);
      write_short( 1<<dur );
      write_short( 1<<hold );
      write_short( 1<<12 );
      write_byte( r );
      write_byte( g );
      write_byte( b );
      write_byte( alpha );
      message_end();
   }
   stock get_button(id) {
      new button = Entvars_Get_Int(id,EV_INT_button);
      return button;
   }
