Advertisement
Guest User

Untitled

a guest
Mar 25th, 2017
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 11.80 KB | None | 0 0
  1. /*
  2. ** << Evolution Class Extension >>
  3. **
  4. **  Copyright (C) 2005 - 2007 Corona Bytes .NET
  5. **
  6. ** This program is free software; you can redistribute it and/or
  7. ** modify it under the terms of the GNU General Public License
  8. ** as published by the Free Software Foundation; either version 2
  9. ** of the License, or (at your option) any later version.
  10. **
  11. ** This program is distributed in the hope that it will be useful,
  12. ** but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14. ** GNU General Public License for more details.
  15. **
  16. ** You should have received a copy of the GNU General Public License
  17. ** along with this program; if not, write to the Free Software
  18. ** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  19. */
  20.  
  21.  
  22. new const CX_Plugin[]   =   "CX.Bergamo";
  23. new const CX_Version[]  =   "1337";
  24. new const CX_Author[]   =   "BANDIT";
  25.  
  26. #define MOD_SOUND   1
  27. #define MOD_CHARGE  1
  28. #define MOD_WEAPON  1
  29.  
  30. // << Implement CX Interface >>
  31. #include <xtension/class/main>
  32. PluginInit ()
  33. {
  34.     register_plugin( CX_Plugin, CX_Version, CX_Author );
  35.    
  36.     register_message( get_user_msgid( "Health" ), "@ClassDamage" );
  37.     register_message( get_user_msgid( "PowerLevel" ), "@ClassPowerLevel" );
  38. }
  39.    
  40.  
  41.  
  42.  
  43. public @ClassCreation ()
  44. {
  45.     createClass( { MOD_SOUND, MOD_CHARGE, MOD_WEAPON },
  46.                 "Bergamo", true, false, "Two assholes combined", "Black/c_intro.wav" );
  47.  
  48.     // Bergamo
  49.     addClassLevel( "Zamasu-Fusion", "Bergamo", 20.0, 20.0, 4000000, 1000000000, 2.0,
  50.                     800, 200, bool:{ true, false }, 30.0, { 300, 200 }, { 1, 0, 0, 0, 0, 0, 0 }, 8.0, Float:{ 400.0, 70.0 } );
  51.     addClassEffect( "models/evolution/Auras/shape_01.mdl", Float:{ 255.0, 255.0, 255.0, 50.0 }, 0, kRenderTransAdd,
  52.                     { 255, 255, 255 }, { 1, 1, 1, 7 }, Float:{ 0.0, 0.0, 0.0, 0.0 } );
  53.                    
  54.     // Bergamo2
  55.     addClassLevel( "Zamasu-Fusion", "Bergamo", 20.0, 20.0, 4000000, 1000000000, 2.0,
  56.                     800, 200, bool:{ true, false }, 30.0, { 300, 200 }, { 1, 0, 0, 0, 0, 0, 0 }, 8.0, Float:{ 400.0, 70.0 } );
  57.     addClassEffect( "models/evolution/Auras/shape_01.mdl", Float:{ 255.0, 255.0, 255.0, 50.0 }, 0, kRenderTransAdd,
  58.                     { 255, 255, 255 }, { 1, 1, 1, 7 }, Float:{ 0.0, 0.0, 0.0, 0.0 } );
  59.                    
  60.     // Bergamo3
  61.     addClassLevel( "Zamasu-Fusion", "Bergamo", 20.0, 20.0, 4000000, 1000000000, 2.0,
  62.                     800, 200, bool:{ true, false }, 30.0, { 300, 200 }, { 1, 0, 0, 0, 0, 0, 0 }, 8.0, Float:{ 400.0, 70.0 } );
  63.     addClassEffect( "models/evolution/Auras/shape_01.mdl", Float:{ 255.0, 255.0, 255.0, 50.0 }, 0, kRenderTransAdd,
  64.                     { 255, 255, 255 }, { 1, 1, 1, 7 }, Float:{ 0.0, 0.0, 0.0, 0.0 } );
  65.                    
  66.     // Bergamo4
  67.     addClassLevel( "Zamasu-Fusion", "Bergamo", 20.0, 20.0, 4000000, 1000000000, 2.0,
  68.                     800, 200, bool:{ true, false }, 30.0, { 300, 200 }, { 1, 0, 0, 0, 0, 0, 0 }, 8.0, Float:{ 400.0, 70.0 } );
  69.     addClassEffect( "models/evolution/Auras/shape_01.mdl", Float:{ 255.0, 255.0, 255.0, 50.0 }, 0, kRenderTransAdd,
  70.                     { 255, 255, 255 }, { 1, 1, 1, 7 }, Float:{ 0.0, 0.0, 0.0, 0.0 } );
  71.                    
  72.     // Bergamo5
  73.     addClassLevel( "Zamasu-Fusion", "Bergamo", 20.0, 20.0, 4000000, 1000000000, 2.0,
  74.                     800, 200, bool:{ true, false }, 30.0, { 300, 200 }, { 1, 0, 0, 0, 0, 0, 0 }, 8.0, Float:{ 400.0, 70.0 } );
  75.     addClassEffect( "models/evolution/Auras/shape_01.mdl", Float:{ 255.0, 255.0, 255.0, 50.0 }, 0, kRenderTransAdd,
  76.                     { 255, 255, 255 }, { 1, 1, 1, 7 }, Float:{ 0.0, 0.0, 0.0, 0.0 } );
  77.    
  78. }
  79.  
  80.  
  81.  
  82. // << Class Extension PreCache >> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  83.  
  84. PluginPreCache ()
  85. {
  86.     MOD_Charge_PreCache ();
  87.     Class_Sound_PreCache ();
  88.    
  89.     precache_model( "models/player/Bergamo/Bergamo.mdl" );
  90.  
  91.     precache_model( "models/evolution/Auras/shape_01.mdl" );
  92.     precache_model( "models/evolution/Auras/shape_05.mdl" );
  93.     precache_model( "models/evolution/Auras/shape_06.mdl" );
  94.     precache_sound( "ecx.vegetto/t_ssj.wav" );
  95.     precache_sound( "ecx.vegetto/t_scream.wav" );
  96.     precache_sound( "Black/Null.wav" );
  97.     precache_sound( "Black/Step1.wav" );
  98.     precache_sound( "Black/Step2.wav" );
  99.     precache_sound( "Black/Step3.wav" );
  100.     precache_sound( "Black/Step4.wav" );
  101.     precache_sound( "Black/Transformation.wav" );
  102.     precache_sound( "Black/TransformationP.wav" );
  103.  
  104.     precache_model( "sprites/RoseAura.spr" );
  105.  
  106.     precache_model( "models/evolution/Auras/Aura_Black.mdl" );
  107.     precache_model( "models/evolution/Auras/shape_01.mdl" );
  108. }
  109.  
  110.  
  111.  
  112. @ClassDamage( MsgID, dest, Client )
  113. {
  114.     if(getClientCLASS( Client ) != getCXbyName( "Bergamo" )) return;
  115.  
  116.     if(get_msg_arg_int( 1 ) <= 170)
  117.     {  
  118.         AddFx( Client, "fxPowerup", 255, 0, 0 );
  119.         AddFx( Client, "fxFinalBlow2" );
  120.         AddFx( Client, "fxPowerWave", "sprites/white.spr", 180, 145, 120, 30, 250 );
  121.         client_print( Client, print_console, "Trans at %d HP!", get_msg_arg_int( 1 ));
  122.     }
  123.     else if(get_msg_arg_int( 1 ) <= 140)
  124.     {  
  125.         AddFx( Client, "fxPowerup", 255, 0, 0 );
  126.         AddFx( Client, "fxFinalBlow2" );
  127.         AddFx( Client, "fxPowerWave", "sprites/white.spr", 180, 145, 120, 30, 250 );
  128.         client_print( Client, print_console, "Trans at %d HP!", get_msg_arg_int( 1 ));
  129.     }
  130.     else if(get_msg_arg_int( 1 ) <= 110)
  131.     {  
  132.         AddFx( Client, "fxPowerup", 255, 0, 0 );
  133.         AddFx( Client, "fxFinalBlow2" );
  134.         AddFx( Client, "fxPowerWave", "sprites/white.spr", 180, 145, 120, 30, 250 );
  135.         client_print( Client, print_console, "Trans at %d HP!", get_msg_arg_int( 1 ));
  136.     }
  137.     else if(get_msg_arg_int( 1 ) <= 80)
  138.     {  
  139.         AddFx( Client, "fxPowerup", 255, 0, 0 );
  140.         AddFx( Client, "fxFinalBlow2" );
  141.         AddFx( Client, "fxPowerWave", "sprites/white.spr", 180, 145, 120, 30, 250 );
  142.         client_print( Client, print_console, "Trans at %d HP!", get_msg_arg_int( 1 ));
  143.     }
  144.     else if(get_msg_arg_int( 1 ) <= 50)
  145.     {  
  146.         AddFx( Client, "fxPowerup", 255, 0, 0 );
  147.         AddFx( Client, "fxFinalBlow2" );
  148.         AddFx( Client, "fxPowerWave", "sprites/white.spr", 180, 145, 120, 30, 250 );
  149.         client_print( Client, print_console, "Trans at %d HP!", get_msg_arg_int( 1 ));
  150.     }
  151.    
  152. }
  153.  
  154. new PreHealth[ 33 ];
  155. public @ClassWeaponUpdate ( Client, Level )// 人物技能
  156. {
  157.     switch ( Level )
  158.     {
  159.         case 0: // Bergamo
  160.         {
  161.             addClassItem( Client, "weapon_melee", true );
  162.             addClassItem( Client, "weapon_kiblast" );
  163.             addClassItem( Client, "weapon_spiritbomb" );
  164.             addClassItem( Client, "weapon_genericbeam" );
  165.             addClassItem( Client, "weapon_kamehameha" );
  166.             addClassItem( Client, "weapon_kametorpedo" );
  167.             addClassItem( Client, "weapon_sensu" );
  168.             addClassSpecial( Client, "kaioken" );
  169.         }
  170.         case 1: // Bergamo2
  171.         {
  172.             addClassItem( Client, "weapon_melee", true );
  173.             addClassItem( Client, "weapon_kiblast" );
  174.             addClassItem( Client, "weapon_spiritbomb" );
  175.             addClassItem( Client, "weapon_genericbeam" );
  176.             addClassItem( Client, "weapon_kamehameha" );
  177.             addClassItem( Client, "weapon_kametorpedo" );
  178.             addClassItem( Client, "weapon_sensu" );
  179.             addClassSpecial( Client, "kaioken" );
  180.         }
  181.         case 2: // Bergamo3
  182.         {
  183.             addClassItem( Client, "weapon_melee", true );
  184.             addClassItem( Client, "weapon_kiblast" );
  185.             addClassItem( Client, "weapon_spiritbomb" );
  186.             addClassItem( Client, "weapon_genericbeam" );
  187.             addClassItem( Client, "weapon_kamehameha" );
  188.             addClassItem( Client, "weapon_kametorpedo" );
  189.             addClassItem( Client, "weapon_sensu" );
  190.             addClassSpecial( Client, "kaioken" );
  191.         }
  192.         case 3: // Bergamo4
  193.         {
  194.             addClassItem( Client, "weapon_melee", true );
  195.             addClassItem( Client, "weapon_kiblast" );
  196.             addClassItem( Client, "weapon_spiritbomb" );
  197.             addClassItem( Client, "weapon_genericbeam" );
  198.             addClassItem( Client, "weapon_kamehameha" );
  199.             addClassItem( Client, "weapon_kametorpedo" );
  200.             addClassItem( Client, "weapon_sensu" );
  201.             addClassSpecial( Client, "kaioken" );
  202.         }
  203.         case 4: // Bergamo5
  204.         {
  205.             addClassItem( Client, "weapon_melee", true );
  206.             addClassItem( Client, "weapon_kiblast" );
  207.             addClassItem( Client, "weapon_spiritbomb" );
  208.             addClassItem( Client, "weapon_genericbeam" );
  209.             addClassItem( Client, "weapon_kamehameha" );
  210.             addClassItem( Client, "weapon_kametorpedo" );
  211.             addClassItem( Client, "weapon_sensu" );
  212.             addClassSpecial( Client, "kaioken" );
  213.         }
  214.     }
  215.  
  216.     PreHealth[ Client ] = getClientHP( Client );
  217.     client_print( 0, print_chat, "PreHealth: %d", PreHealth[ Client ] );
  218. }
  219.  
  220. public client_PostThink( Client )
  221. {
  222.     if( getClientCLASS( Client ) != getCXbyName( "Bergamo" ) ) return;
  223.  
  224.     if( PreHealth[ Client ] - getClientHP( Client ) >= 10 )
  225.     {
  226.         PreHealth[ Client ] = getClientHP( Client );
  227.  
  228.         set_pev( Client, pev_scale, pev( Client, pev_scale ) + 1.200_000 );
  229.         AddFx( Client, "fxPowerWave", "sprites/white.spr", 180, 145, 120, 30, 250 );
  230.         client_print( 0, print_chat, "Scale: %f", pev( Client, pev_scale ) );
  231.     }
  232.  
  233. }
  234.  
  235.  
  236.  
  237. public @ClassInitiateTransformation ( Client, Level, bool: Perfect )// 开始变身
  238. {
  239.     client_cmd( Client, "spk sound/black/Pain3.wav" );
  240.  
  241.     AddFx( Client, "fxPowerup", 255, 0, 0 );
  242.    
  243.    
  244.     switch( Level )
  245.     {
  246.         case 1:
  247.         {
  248.            
  249.         }
  250.         case 2:
  251.         {
  252.             setClientMODEL( Client, "Bergamo" );
  253.             setClientDATAc( Client, cliLevel, Level );
  254.         }
  255.         case 3:
  256.         {    
  257.             setClientMODEL( Client, "Bergamo" );
  258.             setClientDATAc( Client, cliLevel, Level );
  259.         }
  260.         case 4:
  261.         {
  262.             setClientMODEL( Client, "Bergamo" );
  263.             setClientDATAc( Client, cliLevel, Level ); 
  264.         }
  265.         case 5:
  266.         {
  267.             setClientMODEL( Client, "Bergamo" );
  268.             setClientDATAc( Client, cliLevel, Level );             
  269.         }
  270.         case 6:
  271.         {    
  272.             setClientMODEL( Client, "Bergamo" );
  273.             setClientDATAc( Client, cliLevel, Level );
  274.         }
  275.         case 7:
  276.         {
  277.             setClientMODEL( Client, "Bergamo" );
  278.             setClientDATAc( Client, cliLevel, Level ); 
  279.         }
  280.         case 8:
  281.         {
  282.             setClientMODEL( Client, "Bergamo" );
  283.             setClientDATAc( Client, cliLevel, Level );
  284.         }
  285.         case 9:
  286.         {    
  287.             setClientMODEL( Client, "Bergamo" );
  288.             setClientDATAc( Client, cliLevel, Level );
  289.         }
  290.         case 10:
  291.         {
  292.             setClientMODEL( Client, "Bergamo" );
  293.             setClientDATAc( Client, cliLevel, Level );
  294.         }
  295.         case 11:
  296.         {
  297.             setClientMODEL( Client, "Bergamo" );
  298.             setClientDATAc( Client, cliLevel, Level );
  299.         }
  300.         case 12:
  301.         {    
  302.             setClientMODEL( Client, "Bergamo" );
  303.             setClientDATAc( Client, cliLevel, Level );
  304.         }
  305.         case 13:
  306.         {
  307.             setClientMODEL( Client, "Bergamo" );
  308.             setClientDATAc( Client, cliLevel, Level );
  309.         }
  310.     }
  311.  
  312.     /*--------------------
  313.  
  314.     >> 闪电效果|Lightning FX
  315.      setClientLEVELDATAv( Client, cxlLightning, { 2, 2, 2, 8 }, 4 );
  316.  
  317.     >> 蓄气颜色|Powerup Colour
  318.      setClientLEVELDATAv( Client, cxlPowerUp, { 255, 255, 0 }, 3 );
  319.  
  320.     >> 暴气颜色|Aura Colour
  321.      setClientLEVELDATAc( Client, cxlAuraSkin, 4 );
  322.  
  323.     --------------------*/
  324. }
  325. public @ClassFinishTransformation ( Client, Level )
  326. {
  327.     //setClientANIMATION(Client,-1);
  328.    
  329.  
  330.     remove_task( uniqueTaskID( Client, 100 ) );
  331. }
  332.  
  333. public @ClassCancelTransformation ( Client, Level )
  334. {
  335.     //setClientANIMATION(Client,-1);
  336.     RemFx( Client, "fxAvatar", 0);
  337.  
  338.     FX_off(Client);
  339.  
  340.     remove_task( uniqueTaskID( Client, 100 ) );
  341. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement