
  _____         _   _                     _     
 |  __ \       | \ | |                   ( )    
 | |  | | _ __ |  \| |  ___   _ __    ___|/ ___ 
 | |  | || '__|| . ` | / _ \ | '_ \  / _ \ / __|
 | |__| || |   | |\  || (_) || |_) ||  __/ \__ \
 |_____/ |_|   |_| \_| \___/ | .__/  \___| |___/
         ______              | |                
        |______|             |_|            v1.0.2
    __ __ __  ____ ____  ____   ____    __ __  _ 
   /  |  |  |/    |    \|    \ /    |  /  |  |/ ]
  /  /|  |  |  o  |  D  |  o  |  o  | /  /|  ' / 
 /  / |  _  |     |    /|   _/|     |/  / |    \ 
/   \_|  |  |  _  |    \|  |  |  _  /   \_|     \
\     |  |  |  |  |  .  |  |  |  |  \     |  .  |
 \____|__|__|__|__|__|\_|__|  |__|__|\____|__|\_|
 « Wow! Two whole characters?! Slow down champ… » ಠ_ಠ


+--------------------------------------------+
| Hey! Visit us idiots on our dumb server:   |
|   	* [Eu/Fr] StrashBot Karting          |
|   	* address: strashbot.fr              |
|       * page: http://strashbot.fr          |
+--------------------------------------------+


Yeah, so this pack will be marked reusable on the SRB2 Message Board.
So if you want to tweak stuff, repack or whatever… yeah ahead…
Although a little notification to myself (Dr_Nope#0037) about it would
 be nice. I'm always curious about this kind of things!


===========================================================================

 ____             _    _         
|    \  ___  ___ | |_ | |_       
|  |  || .'||  _||  _||   |      
|____/ |__,||_| _|_|  |_|_| v1.3    
|   __||_| _| ||_| ___  _ _  ___ 
|__   || || . || || . || | ||_ -|
|_____||_||___||_||___||___||___|
Masters the Dark Side of the kart!

- by Dr_Nope#0037 -

---

Ever wonder what Darth Sidious, the dark lord of the Sith and Emperor of a
 galaxy far far away was doing during his decades long rule?
Dealing with vasts and complex galaxy-wide political and economical problems?
Diving deeper into his mastery of the dark side?
Nah!
He took his imperial shuttle to go karting of course!

---

Yeah… First character… Shitty sprites… Shitty voice lines…
Whatever… lmao



===========================================================================

 ____  _ _   _       
|    \|_| |_| |_ ___ 
|  |  | |  _|  _| . |
|____/|_|_| |_| |___| v1.0.2
  Morphs into Kart!

- by Dr_Nope#0037 -

---
[Update 1.0.2]: fix an 'invalid player' crash/bug that could happen if ditto
				copies a player that immediately leaves afterwards
---
[Update 1.0.1]: fixing an 'arithmetic on upvalue' error-warning that I just
                saw happening for the first time in days on testing
				:killme:
---

Yay, Ditto is finally complete with more or less all of the stuff I wanted!
At this point its kinda more of a script than a character, heh.

Speaking of which, it'll be marked as 'reusable' of the SRB2 Message Board,
 so you can have a blast (or not) tweaking with it.
Although I'll really appreciate it I you can head me up with any change
 you'd make... I'd like to keep tab.
 (send me a DM or post a comment on the MB's post)

---

Anyways, about Ditto; the character is… well… a Ditto!
Y'know, that Pokémon from gen 1 that can morph into whatever other Pokémon
 it's facing? The one that in the subsequent games is mainly used as a
 breeding machine in the daycare center?

Well, in Kart it does basically the same thing (no, not the breeding stuff):
Ditto copies the nearest racer in form, color and stats!
( And if you use hornmod, it'll aslo copy the target's horn! )
This Pokémon has an unstable cellular structure and relies on a flickering
 memory.
So if you stray too far away from other racers for too long you'll morph
 back into Ditto's original form. 
On it's own Dittos has rather bad stats (1,1), so you better make use of that
 copy ability!

As I said, Ditto takes the form of other racers, and also copies their color
 by default.
Also, Ditto will, by default, always copy its target stats.
This takes hostmod's restat into account, so Ditto will take the same stats
 as its 'restated' target.
Also, restating your Ditto won't change that: by default the copy ability
 will always copy the target's stats, so that your restat on Ditto will only
 affect its base form.
Note that this is the default behavior and that it can be a bit tweaked with
 the script's built-in commands.

---

So, the character's script comes with 2 settings commands:
 one player-wise, and the other one server-wise.

`ditto_server_config`
   This is the server-wise command.
   Use it to set the default gameplay behavior of Ditto players.

   Called without any parameter, the current state of the server config will
    be displayed in the console
   Call it with a setting's name as a parameter to toggle that settings.
   As of v1.0 the settings are:
       `keep_color` - if on, the ditto will keep there skin color after morph.
       `no_random` - when on, the ditto won't morph into a randomly picked
                     racer at the beginning of the race.
       `copy_once` - when on, the ditto will only morph once per race
                     (and wont demorph until the end of the race)
       `keep_restat` - if Hostmod's restat is used on the server, any restat
                       will also apply after morph
                       ('restat' command + 'keep_restat' setting set to 'on' is
                       the only way a ditto will ignore the target's stat when
                       morphing)
       `ignore_team` - the setting is tied to 'FriendMod'. If it is installed
                       on the server, when a team battle starts, by default,
                       ditto won't change color (even with `keep_color` set to
                       'off'). With the `ignore_team` set to 'on' ditto will
                       copy the color of the target, ignoring the current team
                       race.
       `battle_dead_copy` - this setting is a bit special, as only server can
                            change it. By default, in battle mode, dittos can't
                            copy players that are ghosts (i.e. out of bumpers).
                            When this settings in set to 'on', they can do so.

    For example, if you open the console and call:
       `ditto_server_config keep_color`
     it'll toggle the 'keep_color' setting.
    If you call:
       `ditto_server_config keep_restat on`
     it'll turn on the 'keep_restat' setting.
       `ditto_server_config keep_restat off`
     will turn it off.

    Server config are merly 'default settings' for ditto players.
    These settings will be set as the default for joining players, but won't
     affect already joined players, that have the liberty of changing these
     settings for themselves, on their end.

    However, the server can force a particular setting on a particular
     configuration, by 'locking' specific settings with the sub-command 'lock'.
    For example, if the server calls:
        `ditto_server_config keep_color on`
     then
        `ditto_server_config keep_color lock`
     the 'keep_color' setting will be force to 'on' for every ditto player, and
     they won't be able to change it back on their side.
    ( Also server can unlock it later by calling
        `ditto_server_config keep_color unlock`  )

`ditto_config`
    This is the player-wise command.
    An individual ditto player can use it to change gameplay settings for
     themselves, unless said setting has been 'locked' by server (and on the
     exception of the 'battle_dead_copy' setting, which players can't tamper
     with).
    
    Called without any parameter, a player can check his current ditto
     configuration.
    As with the server-wise commmand, called with a setting's name, a player
     can change his own ditto configuration (unless, once again, the particular
     setting has been locked by the server).

    For example, if a player calls:
        `ditto_config keep_color`
     it'll toggle his 'keep_color' setting.
    If he calls:
        `ditto_config keep_color on`
     his 'keep_color' setting will be set to 'on', and he will retain his
     skincolor on every morph (unless the server said otherwise).

---

CREDITS:

    - Thanks to Bartman3010, from whom I borrowed his character (Ranma 1/2, cool
       stuff, it's on the MB, check it out)'s particule transformation effect.
    
    - Big thanks to Lat' whos code (mainly from his 'DriftGauge' script, cool
       stuff, it's on the MB, check it out) was very usefull for drawing the
       'over character' HUD stuff, and make it (sorta) work with splitscreen!



