Resource icon

[Reusable] ChaosKart - Turn SRB2Kart into a Torturous Hellscape! v1.5

I give permission for this addon to be reused, modified, or ported by anyone
  1. Yes
I understand my submission will be rejected if it does not follow forum rules, Submissions guidelines, and/or file name conventions
  1. Yes
Chaoskart

Chaoskart is a mod intended to make SRB2Kart as chaotic as possible.
There are multiple different effects that are there to ruin your day. Each of them will have different lasting effects, or some may even be quick events that hit you when you least expect it.
attachment.php
attachment.php

There are over 50 different effects by default. You can look at the many different effects with the console command "ck_listevents".

There are also permanent effects, effects that have a chance to start up for the entire race, every race. Around a 5% chance.
attachment.php
attachment.php

Console Commands:
ck_listevents: Lists all the events.
ck_doevent <eventid>: Runs an event.
ck_dorareevent <eventid>: Runs a rare event.
ck_eventtime <time>: The time until each event is run.

ck_deathroulette <on/off>: Whether death roulette can be run or not.
ck_startdeathroulette: Starts death roulette.

chaoskart <on/off>: Enables or disables chaoskart.

Chaoskart has Custom Event support aswell!
Code:
-- Hello! This is a tutorial wad for how Chaoskart Events work!
-- You must have decent Lua knowlege for this.
-- If you must, you could even use other hooks.

-- Let's look at this event. For this example, we'll make it blow up 2nd.
freeslot("sfx_noooo3")

ckAddEvent(ckEvents, {
    name = "Explode 2nd", -- The name of the event, it will be displayed next to the item slot. If omitted, will display "Missing Name!"
    shortname = "ExplodeSecond", -- The ID of the event, it is used for the commands. REQUIRED.
    eventprint = "2nd place was blown up!", -- This is plastered below the event name. REQUIRED.
    namecol = SKINCOLOR_ORANGE, -- Irrelavent until the next update.
    battlemode = true, -- Whether this can be called in battle mode or not. If omitted, defaults to true.
    soundplay = sfx_noooo3, -- The sound that is played instead of the default. If omitted, plays the default sound
    candeathroulette = false, -- Whether this can be called in the death roulette or not.
    eventfunc = function(time) -- The code that is run when the event is called.
        for p in players.iterate
            if p.kartstuff[k_position] == 2 and p and p.mo and p.valid and p.mo.valid
                K_SpawnMineExplosion(p.mo, p.mo.color)
                p.kartstuff[k_spinouttimer] = 3*TICRATE
                P_StartQuake(30*FRACUNIT, TICRATE/2)
                P_InstaThrust(p.mo, p.mo.angle, 0)
                P_SetObjectMomZ(p.mo, 10*FRACUNIT)
                p.xpld = true
            end
        end
    end,
    eventthink = function() -- A thinkframe for the event. Runs every tic.
        for p in players.iterate
            if p.xpld == true
                CONS_Printf(p, "Sorry! But hey atleast you know 'eventthink' works!")
                p.xpld = false
            end
        end
    end,
    eventpthink = function(p) -- 2.2 playerthink. Runs every tic.
        if p.xpld == true
            CONS_Printf(p, "Sorry! But hey atleast you know 'eventpthink' works!")
            p.xpld = false
        end
    end,
})

-- If you want to make a rare event, replace
// ckAddEvent(ckEvents, {
-- With
// ckAddRareEvent(ckRareEvents, {

-- As you may or may not know, chaoskart comes with permeffects too.
-- Here is how to make one.

-- Here is our permeffect. For an example, we'll make it spam the console.
ckAddPermEffect({
    name = "Console Spam", -- The name of the perm effect. REQUIRED.
    desc = "I'm so sorry!", -- The description of the perm effect. REQUIRED.
    encoredesc = "I'm really sorry!", -- The description of the perm effect in encore mode. If omitted, it will use the regular description.
    startsound = sfx_noooo3, -- The sound that is played when the perm effect starts. REQUIRED.
    rare = true, -- If this is rare or not. If omitted, defaults to false.
    battlemode = true, -- If this can be called in battle mode or not. If omitted, defaults to true.
    synchnewjoiners = true, -- Executes 'starteffect' whenever someone joins
    starteffect = function() -- Executes as soon as this perm effect is called.
        print("This console boutta die")
    end
    effect = function() -- The effect of the perm effect. Runs every tic. REQUIRED.
        print(":)")
    end,
    encoreeffect = function() -- The effect in encore mode. Runs every tic. If omitted, uses the regular effect.
        print(":)")
        print(":)")
        print(":)")
    end,
    mobjthinker = function(mo) -- The Mobj Thinker that will run. Not required.
        if mo.valid
            if mo.type == MT_PLAYER
                mo.colorized = true
                mo.color = SKINCOLOR_ORANGE
                local smoke = P_SpawnMobj(mo.x+P_RandomRange(-25, 25)*mo.scale, mo.y+P_RandomRange(-25, 25)*mo.scale, mo.z+P_RandomRange(5, 30)*mo.scale, MT_SMOKE)
                if not S_SoundPlaying(mo, sfx_kc51) then S_StartSound(mo, sfx_kc51) end
            end
        end
    end,
    spineffect = function(p, i, s) -- The code that will run if the player is spun out.
        if (p.valid and p.mo.valid)
            if s.type == MT_PLAYER
                p.kartstuff[k_spinouttimer] = $*2
                p.onfire = 10*TICRATE
            end
        end
    end,
    xpldeffect = function(p, i, s) -- The code that will run if the player is blown up.
        if (p.valid and p.mo.valid)
            if s.type == MT_PLAYER
                p.kartstuff[k_wipeoutslow] = $*2
                p.onfire = 10*TICRATE
            end
        end
    end,
})

-- I hope you'll enjoy this!

Changelog:
v1.0:
- Release

v1.1:
- "chaoskart" command (disables chaoskart while loaded)
- "PermaShrink" Perm-Effect

v1.2:
- Various Bugfixes to certain events
- Encore Mode perm effects
- New Event "RandItem"

v1.3:
- Tweaked "IceballRand", "HyperOrbinautRand", "GiantBananaRand" and "Driftless"
- New Event "FireRain"
- New Event "Blooper"
- New Event "AutoAccel"
- New Event "InvertControls"
- "PermAccel" Perm-Effect.

1.4:
- Timed Events now show up below the timer.
- Speaking of the timer, it has been redone to make it look better.
- New Event "StopAll"
- New Event "BunnyHop"
- New Event "FlipAll"
- "Speed Shoes" Perm-Effect
- "Kansei Dorifto" Perm-Effect
- "Spring-Floor" Rare Perm-Effect.

1.41:
- Timed events would carry into the next race. This is rectified.
- Frozen players can press any button to break out.
- Removed "Blooper".

1.5:
- Major Code Optimizations
- New Event "Gliders"
- New Event "RandScale"
- New Event "RandAng"
- New Event "Traps"

ChaosKart is intended for... well... chaos, and so, some levels may be unplayable, or too chaotic to complete. Please do not complain if you're unable to complete a track or are barely able to play the game, it's all part of the fun!
  • kart0011.gif
    kart0011.gif
    2.6 MB · Views: 101
  • kart0016.gif
    kart0016.gif
    3 MB · Views: 106
  • kart0017.gif
    kart0017.gif
    7.2 MB · Views: 90
  • kart0000.gif
    kart0000.gif
    2.8 MB · Views: 100
Author
Spectra
Downloads
472
Views
2,534
Extension type
pk3
File size
1.3 MB
MD5 Hash
250175ea51821e3fdbf65d149d06683a
First release
Last update
Rating
5.00 star(s) 3 ratings

Share this resource

Latest updates

  1. v1.5

    This was mainly a bugfix update, but I can't update ChaosKart without increasing the intensity...

Latest reviews

An amazing fresh spin on the Kart formula; by that I mean this mod purposefully shatters it. It's absolutely hilarious seeing everyone get destroyed by the bomb, only for it to deny you the victory. The uncertainty, the pain and the laughs make this one of the best mods you can find for this game, even if it's not as complex as HOSTMOD or Wipezones.
Download this now if you want to laugh yourself to death.*


* You might not laugh yourself to death over this mod as much as you would be raging over RNG.
Upvote 0
'We are to kill Chaos.' Jokes aside, this a mod that lives up to its name, and will always a new fresh of madness to race track you're in, i highly recommend it for those who just want to spread that madness on the server or enjoy it with friends and get meme'ed on!
Upvote 0
I like this srb2 kart addon
Upvote 0
Top