Download
72 lines 2.2 KiBTextModified 2017-04-14 raw
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
#define step
with TangleSeed {
    if (speed > 10) {
        speed = 10;
    }
    var seed = self;
    var hit_proj = false;
    with projectile {
        if (!hit_proj && team != seed.creator.team && place_meeting(x,y,seed)) {
            instance_destroy();
            hit_proj = true;
        }
    }
    if (hit_proj) {
        instance_destroy();
        sound_play(sndPlantSnare);
    }
}

with Player {
    var player = self;
    if (race == "plant") {
        if (button_pressed(index, "spec")) {
            var ntangles = 1;
            // Trapper
            if (ultra_get(5,1)) { ntangles = 5; }
            with Tangle {
                if (creator == player) {
                    instance_destroy();
                }
            }
            with TangleSeed {
                if ("creator" in self && creator == player) {
                    var _x = x;
                    var _y = y;
                    var _p = p;
                    var _typ = typ;
                    var _bskin = bskin;
                    wait 1;
                    with TangleSeed {
                        if (creator == player) {
                            instance_destroy();
                        }
                    }
                    for (var i=0; i < ntangles; i++) {
                        var _angle = random(0.5*6.28/(ntangles-1));
                        var tx = i == 0? _x : _x + 35*cos(_angle + 6.28*(i-1)/(ntangles-1));
                        var ty = i == 0? _y : _y + 35*sin(_angle + 6.28*(i-1)/(ntangles-1));
                        var new_tangle = instance_create(tx,ty,Tangle);
                        new_tangle.creator = player;
                        new_tangle.typ = _typ;
                        new_tangle.bskin = _bskin;
                        new_tangle.p = _p;
                    }
                }
            }
        }
    }
}

with Tangle {
    var tangle = self;
    var pickups = [HPPickup, AmmoPickup, Rad, BigRad];
    for(var i=0; i<array_length_1d(pickups); i++) with pickups[i] {
        if (place_meeting(x,y,tangle) && "uprooted" not in self) {
            uprooted = true;
            instance_create(x,y,RobotEat);
            x = tangle.creator.x;
            y = tangle.creator.y;
            sound_play(sndRobotEat);
        }
    }
}