1. Hey Guest, is it this your first time on the forums?

    Visit the Beginner's Box

    Introduce yourself, read some of the ins and outs of the community, access to useful links and information.

    Dismiss Notice

Classes/Items Unique Class Mod

Discussion in 'Modding [KAG]' started by Pirate-Rob, Jul 16, 2016.

Thread Status:
Not open for further replies.
  1. cesar0

    cesar0 Emperor Donator

    Messages:
    147
    Very important question guys
    [​IMG]
    abs or no abs?
     
    SirDangalang likes this.
  2. Olimarrex

    Olimarrex Ballista Bolt Thrower Official Server Admin

    Messages:
    177
    Hey, I've got a suggestion, how about you make it so that all chars have access to the grapple knight class until they have their own unique class?
     
    Blue_Tiger and mustachio12 like this.
  3. DatNobby

    DatNobby Haxor

    Messages:
    157
    make him beefy af mate

    get him some immense biceps
     
    Magmus and SirDangalang like this.
  4. mustachio12

    mustachio12 Arsonist
    1. Aphelion's Roleplay

    Messages:
    76
    lol XD NAKAAAAAMMMMAAAAAAAAAA
     
  5. Zfruit

    Zfruit Shipwright

    Messages:
    6
  6. Pirate-Rob

    Pirate-Rob Haxor Staff Alumni Tester

    Messages:
    270
    Tbh, I'm considering just removing grapple knight completely, or making it solely Terri's class.

    mfw when no one realised image was gutsman.exe
     
    Magmus and an_obamanation like this.
  7. cesar0

    cesar0 Emperor Donator

    Messages:
    147
    thanks i'll check them out
     
  8. mustachio12

    mustachio12 Arsonist
    1. Aphelion's Roleplay

    Messages:
    76
    ;-;
     
  9. cesar0

    cesar0 Emperor Donator

    Messages:
    147
    ok what did i say ?
     
  10. mustachio12

    mustachio12 Arsonist
    1. Aphelion's Roleplay

    Messages:
    76
    sorry meant to reply to the grapple knight maybe being removed
     
  11. BarsukEughen555

    BarsukEughen555 Ballista Bolt Thrower

    Messages:
    434
    +1 for rob
    pls dont make a horde of grapple knights its worst thing ever
    I CONSIDER ALMOST EVERY CLASS THERE UNBALANCED ASF
    FAT BASTARDS
     
    Magmus, Kasper123, PUNK123 and 2 others like this.
  12. miniswrider

    miniswrider Bison Rider

    Messages:
    98
    abs. also graplneit is worst class
     
  13. cesar0

    cesar0 Emperor Donator

    Messages:
    147
    this was one of my class ideas, if anyone wants to take it, feel free to change anything that you like, you don't have to add me to the class or anything (also i'm sure you'll do Rob a great favor because my class ideas are so simple:wink:)

    • Class name: Undead
    • Class icon description: a zombie hand
    • Gender: Male
    • Your Exact In-game Name:
    • Description: 4HP, in his initial form he works like the cannibal zombie from RoS, same attack and no shield.Interacting with a corpse (if it's possible in this mod) regenerates 1HP or, if health is full, adds 1 HP to maxHP. On death the character is replaced by a zombie hand.The hand has 1HP and a slow crawling movement but can make quick jumps every 3 seconds to move around more easly.If the hand manages to get close to a corpse and itercats with it, you go back to your initial form, but with half HP.can't drop lower than 1HP on resurrection. sprites:the cannibal zombie with spear from RoS for the initial stage and the zombie hand from the original game's files
    • Exact in-game name of others who can use the class:
    • Clan tag that can use the class:
     
  14. miniswrider

    miniswrider Bison Rider

    Messages:
    98
    woudnt it be better if it had 2hp but the hand was fast movement and slow attack but did 1/2 hp damage?
     
  15. Pirate-Rob

    Pirate-Rob Haxor Staff Alumni Tester

    Messages:
    270
    I hope you're being sarcastic.
     
  16. ferdo

    ferdo Horde Gibber

    Messages:
    22
    Code:
    else if ((pressed_a1 || swordState) && !moveVars.wallsliding)   //no attacking during a slide
        {
            if (getNet().isClient())
            {
                if (knight.swordTimer == KnightVars::slash_charge_level2)
                {
                    Sound::Play("AnimeSword.ogg", pos, myplayer ? 1.3f : 0.7f);
                }
                else if (knight.swordTimer == KnightVars::slash_charge)
                {
                    Sound::Play("SwordSheath.ogg", pos, myplayer ? 1.3f : 0.7f);
                }
            }
    
            if (knight.swordTimer > KnightVars::slash_charge_limit)
            {
                Sound::Play("/Stun", pos, 1.0f, this.getSexNum() == 0 ? 1.0f : 2.0f);
                SetKnocked(this, 15);
            }
    
            bool strong = (knight.swordTimer > KnightVars::slash_charge_level2);
            moveVars.jumpFactor *= (strong ? 0.6f : 0.8f);
            moveVars.walkFactor *= (strong ? 0.8f : 0.9f);
            knight.shieldTimer = 0;
    
            if (!inair)
            {
                this.AddForce(Vec2f(vel.x * -5.0, 0.0f));   //horizontal slowing force (prevents SANICS)
            }
    
            if (knight.state == KnightStates::normal ||
                    this.isKeyJustPressed(key_action1) &&
                    (!inMiddleOfAttack(knight.state) || shieldState))
            {
                knight.state = KnightStates::sword_drawn;
                knight.swordTimer = 0;
            }
    
            if (knight.state == KnightStates::sword_drawn && getNet().isServer())
            {
                knight_clear_actor_limits(this);
            }
    
            //responding to releases/noaction
            s32 delta = knight.swordTimer;
            if (knight.swordTimer < 128)
                knight.swordTimer++;
    
            if (knight.state == KnightStates::sword_drawn && !pressed_a1 &&
                    !this.isKeyJustReleased(key_action1) && delta > KnightVars::resheath_time)
            {
                knight.state = KnightStates::normal;
            }
            else if (this.isKeyJustReleased(key_action1) && knight.state == KnightStates::sword_drawn)
            {
                knight.swordTimer = 0;
    
                if (delta < KnightVars::slash_charge)
                {
                    if (direction == -1)
                    {
                        knight.state = KnightStates::sword_cut_up;
                    }
                    else if (direction == 0)
                    {
                        if (aimpos.y < pos.y)
                        {
                            knight.state = KnightStates::sword_cut_mid;
                        }
                        else
                        {
                            knight.state = KnightStates::sword_cut_mid_down;
                        }
                    }
                    else
                    {
                        knight.state = KnightStates::sword_cut_down;
                    }
                }
                else if (delta < KnightVars::slash_charge_level2)
                {
                    knight.state = KnightStates::sword_power;
                    Vec2f aiming_direction = vel;
                    aiming_direction.y *= 2;
                    aiming_direction.Normalize();
                    knight.slash_direction = aiming_direction;
                }
                else if (delta < KnightVars::slash_charge_limit)
                {
                    knight.state = KnightStates::sword_power_super;
                    Vec2f aiming_direction = vel;
                    aiming_direction.y *= 2;
                    aiming_direction.Normalize();
                    knight.slash_direction = aiming_direction;
                }
                else
                {
                    //knock?
                }
            }
            else if (knight.state >= KnightStates::sword_cut_mid &&
                     knight.state <= KnightStates::sword_cut_down) // cut state
            {
                if (delta == DELTA_BEGIN_ATTACK)
                {
                    Sound::Play("/SwordSlash", this.getPosition());
                }
    
                if (delta > DELTA_BEGIN_ATTACK && delta < DELTA_END_ATTACK)
                {
                    f32 attackarc = 90.0f;
                    f32 attackAngle = getCutAngle(this, knight.state);
    
                    if (knight.state == KnightStates::sword_cut_down)
                    {
                        attackarc *= 0.9f;
                    }
    
                    DoAttack(this, 1.0f, attackAngle, attackarc, Hitters::sword, delta, knight);
                }
                else if (delta >= 9)
                {
                    knight.swordTimer = 0;
                    knight.state = KnightStates::sword_drawn;
                }
            }
            else if (knight.state == KnightStates::sword_power ||
                     knight.state == KnightStates::sword_power_super)
            {
                //setting double
                if (knight.state == KnightStates::sword_power_super &&
                        this.isKeyJustPressed(key_action1))
                {
                    knight.doubleslash = true;
                }
    
                //attacking + noises
                if (delta == 2)
                {
                    Sound::Play("/ArgLong", this.getPosition());
                    Sound::Play("/SwordSlash", this.getPosition());
                }
                else if (delta > DELTA_BEGIN_ATTACK && delta < 10)
                {
                    DoAttack(this, 2.0f, -(vec.Angle()), 120.0f, Hitters::sword, delta, knight);
                }
                else if (delta >= KnightVars::slash_time ||
                         (knight.doubleslash && delta >= KnightVars::double_slash_time))
                {
                    knight.swordTimer = 0;
    
                    if (knight.doubleslash)
                    {
                        knight_clear_actor_limits(this);
                        knight.doubleslash = false;
                        knight.state = KnightStates::sword_power;
                    }
                    else
                    {
                        knight.state = KnightStates::sword_drawn;
                    }
                }
            }
    
            //special slash movement
    
            if ((knight.state == KnightStates::sword_power ||
                    knight.state == KnightStates::sword_power_super) &&
                    delta < KnightVars::slash_move_time)
            {
    
                if (Maths::Abs(vel.x) < KnightVars::slash_move_max_speed &&
                        vel.y > -KnightVars::slash_move_max_speed)
                {
                    Vec2f slash_vel =  knight.slash_direction * this.getMass() * 0.5f;
                    this.AddForce(slash_vel);
                }
            }
    
            moveVars.canVault = false;
    
        }
    it's looking simple for you ? and it's Nothing !
    Rob is a fucking god
    I'm completely lost in all this :X3:
     
  17. Potatobird

    Potatobird Haxor Forum Moderator Mapping Moderator Tester Official Server Admin

    Messages:
    777
    hey hey pirat borb cna i hav graple night 2????//?
     
  18. miniswrider

    miniswrider Bison Rider

    Messages:
    98
    its not all THAT complicated. Its definitely moreso than I could make at my level of understanding and within a reasonable timeframe but he labeled mostly everything so its easy to follow.
     
  19. cesar0

    cesar0 Emperor Donator

    Messages:
    147
    i even put the ":wink:", is it really that hard to understand when i am joking?
    Because my suggestions are generally the ones that require the most feature, as a modder, i would probably not enjoy having to do more than 1 of them, but i am a sneaky little bastard so here i am, you know someone will like the "undead" idea :rekt:
    (i hope)
     
  20. an_obamanation

    an_obamanation The boss Donator

    Messages:
    392
    Make it solely my class if you're getting too much shit about it or have any bad feelings about it otherwise.

    Also I got the battle network reference :wink:
     
    Pirate-Rob likes this.
Thread Status:
Not open for further replies.