Ejemplo n.º 1
0
def effect7(model, x, y, z, scale, frame_rate):
    """
    est_effect 7 <player filter> <delay> <model> <x> <y> <z> <scale> <framerate>
    """
    if not isinstance(model, Model):
        model = Model(model)

    te = TempEntity('Smoke')
    te.model = model
    te.origin = Vector(x, y, z)
    te.scale = scale
    te.frame_rate = frame_rate

    return te
Ejemplo n.º 2
0
def initialize_trails():
    """Creates and stores two TempEntity instances used for grenade trails."""
    # Make sure to remove any references to old TempEntity instances.
    trails.clear()
    # Add two new instances to the list.
    trails.extend([
        TempEntity(temp_entity='BeamFollow',
                   model=default_model,
                   start_width=0.4,
                   end_width=0.4,
                   color=Color(255, 255, 255),
                   alpha=100,
                   life_time=0.4,
                   fade_time=0.4),
        TempEntity(temp_entity='BeamFollow',
                   model=default_model,
                   start_width=0.1,
                   end_width=0.1,
                   color=Color(255, 255, 255),
                   alpha=50,
                   life_time=0.6,
                   fade_time=0.2)
    ])
Ejemplo n.º 3
0
def effect121(model, index, density, current):
    """
    est_effect_21 <player filter> <delay> <model> <entity> <density> <current>
    """
    if not isinstance(model, Model):
        model = Model(model)

    te = TempEntity('Fizz')
    te.model = model
    te.entity_index = index
    te.density = density
    te.current = current

    return te
Ejemplo n.º 4
0
 def __init__(self, *args, **kwargs):
     super().__init__(*args, **kwargs)
     self.beam = TempEntity('BeamRingPoint',
                            alpha=255,
                            red=255,
                            green=0,
                            blue=0,
                            life_time=1.0,
                            model_index=self.laser.index,
                            start_width=7,
                            end_width=7,
                            frame_rate=255,
                            halo_index=self.laser.index,
                            speed=1)
Ejemplo n.º 5
0
def effect120(model,
              position,
              scale,
              frame_rate,
              flags,
              radius,
              magnitude,
              normal=None,
              material=None):
    """
    est_effect_20 <player filter> <delay> <model> <position x y z> <scale> <framerate> <flags> <radius> <magnitude> [normal x y z] [material type]
    """
    if not isinstance(position, Vector):
        position = Vector(*position)

    te = TempEntity('Explosion')
    te.position = position
    te.scale = scale
    te.frame_rate = frame_rate
    te.flags = flags
    te.radius = radius
    te.magnitude = magnitude

    if normal is not None:
        if not isinstance(normal, Vector):
            normal = Vector(*normal)

        te.normal = normal

    if material is not None:
        if isinstance(material, str):
            # /game/server/func_break.h
            # typedef enum { matGlass = 0, matWood, matMetal, matFlesh, matCinderBlock, matCeilingTile, matComputer, matUnbreakableGlass, matRocks, matWeb, matNone, matLastMaterial } Materials;
            material = {
                'glass': 0,
                'wood': 1,
                'metal': 2,
                'flesh': 3,
                'cinderblock': 4,
                'ceilingtile': 5,
                'computer': 6,
                'unbreakableglass': 7,
                'rocks': 8,
                'web': 9
            }.get(material.lower(), 0)

        te.material_type = material

    return te
Ejemplo n.º 6
0
def effect125(position, direction):
    """
    est_effect_25 <player filter> <delay> <position x y z> <direction x y z>
    """
    if not isinstance(position, Vector):
        position = Vector(*position)

    if not isinstance(direction, Vector):
        direction = Vector(*direction)

    te = TempEntity('Metal Sparks')
    te.position = position
    te.direction = direction

    return te
Ejemplo n.º 7
0
def effect11(model, x, y, z, life_time, scale, brightness):
    """
    est_effect 11 <player filter> <delay> <model> <x> <y> <z> <life> <size> <brightness>
    """
    if not isinstance(model, Model):
        model = Model(model)

    te = TempEntity('GlowSprite')
    te.model = model
    te.origin = Vector(x, y, z)
    te.life_time = life_time
    te.scale = scale
    te.brightness = brightness

    return te
Ejemplo n.º 8
0
def effect130(start, end):
    """
    est_effect_30 <player filter> <delay> <start x y z> <end x y z>
    """
    if not isinstance(start, Vector):
        start = Vector(*start)

    if not isinstance(end, Vector):
        end = Vector(*end)

    te = TempEntity('Show Line')
    te.start = start
    te.end = end

    return te
Ejemplo n.º 9
0
def est_effect_04(command):
    #est_Effect_04 <player Filter> <delay> <model> <Follow ent> <life> <start width> <end width> <fade distance> <R> <G> <B> <A>
    te = TempEntity('BeamFollow')
    te.alpha = int(command[12])
    te.blue = int(command[11])
    te.green = int(command[10])
    te.end_width = int(command[7])
    te.life_time = float(command[5])
    te.start_width = int(command[6])
    te.entity_index = Player.from_userid(int(command[4])).index
    te.fade_length = int(command[8])
    te.halo_index = Model(str(command[3])).index
    te.model_index = Model(str(command[3])).index
    te.red = int(command[9])
    te.create(delay=float(command[2]))
Ejemplo n.º 10
0
def effect135(decal, position):
    """
    est_effect_35 <player filter> <delay> <Decal> <Position x y z>
    """
    if not isinstance(decal, Decal):
        decal = Decal(decal)

    if not isinstance(position, Vector):
        position = Vector(*position)

    te = TempEntity('World Decal')
    te.decal = decal
    te.position = position

    return te
Ejemplo n.º 11
0
def effect109(model, points_length, points):
    """
    est_effect_09 <player filter> <delay> <model> <point count> <points x y z>
    """
    if not isinstance(model, Model):
        model = Model(model)

    if not isinstance(points, Vector):
        points = Vector(*points)

    te = TempEntity('BeamSpline')
    te.points_length = points_length
    te.points = points

    return te
Ejemplo n.º 12
0
def beam(recipients, start, end, parent=False, **kwargs):
    """A simple wrapper for the temporary effect ``BeamEntPoint``.

    :param RecipientFilter recipients:
        Players that should see the beam.
    :param int/BaseEntity/Vector start:
        The start location of the beam.
    :param int/BaseEntity/Vector end:
        The end location of the beam.
    :param bool parent:
        If True, the beam will be parented to the given entities.
    :param kwargs:
        Additional attributes that will be send to the effect.
    """
    entity = TempEntity('BeamEntPoint')

    def get_vec(value):
        if isinstance(value, int):
            return Entity(value).origin
        elif isinstance(value, BaseEntity):
            return Entity(value.index).origin
        else:
            return value

    if parent:
        if isinstance(start, int):
            entity.start_entity_index = start
        elif isinstance(start, BaseEntity):
            entity.start_entity_index = start.index
        else:
            entity.start_point = start
    else:
        entity.start_point = get_vec(start)

    if parent:
        if isinstance(end, int):
            entity.end_entity_index = end
        elif isinstance(end, BaseEntity):
            entity.end_entity_index = end.index
        else:
            entity.end_point = end
    else:
        entity.end_point = get_vec(end)

    for attr, value in kwargs.items():
        setattr(entity, attr, value)

    entity.create(recipients)
Ejemplo n.º 13
0
 def __init__(self, *args, **kwargs):
     super().__init__(*args, **kwargs)
     self.can_crit = False
     self.counter = 0
     self.repeater = None
     self.beam = TempEntity('BeamPoints',
                            alpha=255,
                            red=0,
                            green=255,
                            blue=0,
                            life_time=1.0,
                            model_index=self.laser.index,
                            start_width=3,
                            end_width=3,
                            frame_rate=255,
                            halo_index=self.laser.index)
Ejemplo n.º 14
0
def est_effect_18(command):
    if len(command) == 11:
        str_vec = command[3]
        str_vec = str_vec.split(",")
        vec = Vector(float(str_vec[0]), float(str_vec[1]), float(str_vec[2]))
        #est_Effect_18 - Dynamic Light Effect est_Effect_18 <player Filter> <delay> <Position "X Y Z"> <R> <G> <B> <exponent> <radius> <time> <decay>
        te = TempEntity('Dynamic Light',
                        origin=vec,
                        red=int(command[4]),
                        green=int(command[5]),
                        blue=int(command[6]),
                        exponent=int(command[7]),
                        radius=int(command[8]),
                        life_time=float(command[9]),
                        decay=float(command[10]))
        te.create(delay=float(command[2]))
Ejemplo n.º 15
0
def effect113(decal, origin, index):
    """
    est_effect_13 <player filter> <delay> <decal> <origin x y z> <target entity index>
    """
    if not isinstance(decal, Decal):
        decal = Decal(decal)

    if not isinstance(origin, Vector):
        origin = Vector(*origin)

    te = TempEntity('BSP Decal')
    te.decal = decal
    te.origin = origin
    te.entity_index = index

    return te
Ejemplo n.º 16
0
def effect122(position, direction, type_):
    """
    est_effect_22 <player filter> <delay> <position x y z> <direction x y z> <type>
    """
    if not isinstance(position, Vector):
        position = Vector(*position)

    if not isinstance(direction, Vector):
        direction = Vector(*direction)

    te = TempEntity('GaussExplosion')
    te.position = position
    te.direction = direction
    te.type = type_

    return te
Ejemplo n.º 17
0
def effect124(model, origin, reversed_):
    """
    est_effect_24 <player filter> <delay> <model> <position x y z> <reversed>
    """
    if not isinstance(model, Model):
        model = Model(model)

    if not isinstance(origin, Vector):
        origin = Vector(*origin)

    te = TempEntity('Large Funnel')
    te.model = model
    te.origin = origin
    te.reversed = reversed_

    return te
Ejemplo n.º 18
0
def effect119(position, direction, explosive):
    """
    est_effect_19 <player filter> <delay> <position x y z> <direction x y z> <explosive>
    """
    if not isinstance(position, Vector):
        position = Vector(*position)

    if not isinstance(direction, Vector):
        direction = Vector(*direction)

    te = TempEntity('Energy Splash')
    te.position = position
    te.direction = direction
    te.explosive = explosive

    return te
Ejemplo n.º 19
0
def effect133(model, position, size, brightness):
    """
    est_effect_33 <player filter> <delay> <model> <position x y z> <size> <brightness>
    """
    if not isinstance(model, Model):
        model = Model(model)

    if not isinstance(position, Vector):
        position = Vector(*position)

    te = TempEntity('Sprite')
    te.model = model
    te.position = position
    te.size = size
    te.brightness = brightness

    return te
Ejemplo n.º 20
0
def effect132(position, magnitude, trail_length, direction):
    """
    est_effect_32 <player filter> <delay> <position x y z> <magnitude> <trail length> <direction x y z>
    """
    if not isinstance(position, Vector):
        position = Vector(*position)

    if not isinstance(direction, Vector):
        direction = Vector(*direction)

    te = TempEntity('Smoke')
    te.position = position
    te.magnitude = magnitude
    te.trail_length = trail_length
    te.direction = direction

    return te
Ejemplo n.º 21
0
def effect131(model, position, scale, frame_rate):
    """
    est_effect_31 <player filter> <delay> <model> <position x y z> <scale> <framerate>
    """
    if not isinstance(model, Model):
        model = Model(model)

    if not isinstance(position, Vector):
        position = Vector(*position)

    te = TempEntity('Smoke')
    te.model = model
    te.position = position
    te.scale = scale
    te.frame_rate = frame_rate

    return te
Ejemplo n.º 22
0
def effect126(position, angle, scale, type_):
    """
    est_effect_26 <player filter> <delay> <position x y z> <angle p y r> <scale> <type>
    """
    if not isinstance(position, Vector):
        position = Vector(*position)

    if not isinstance(angle, QAngle):
        angle = QAngle(*angle)

    te = TempEntity('Metal Sparks')
    te.origin = position
    te.angles = angle
    te.scale = scale
    te.type = type_

    return te
Ejemplo n.º 23
0
def effect117(position, direction, size, speed):
    """
    est_effect_17 <player filter> <delay> <position x y z> <direction x y z> <size> <speed>
    """
    if not isinstance(position, Vector):
        position = Vector(*position)

    if not isinstance(direction, Vector):
        direction = Vector(*direction)

    te = TempEntity('Dust')
    te.origin = position
    te.direction = direction
    te.size = size
    te.speed = speed

    return te
Ejemplo n.º 24
0
def est_effect_11(command):
    #est_Effect_11 <player Filter> <delay> <model> <origin "X Y Z"> <direction "X Y Z"> <R> <G> <B> <A> <Amount>
    if len(command) == 11:
        str_vec = command[4]
        str_vec = str_vec.split(",")
        vec = Vector(float(str_vec[0]), float(str_vec[1]), float(str_vec[2]))
        str_vec = command[5]
        str_vec = str_vec.split(",")
        vec2 = Vector(float(str_vec[0]), float(str_vec[1]), float(str_vec[2]))
        te = TempEntity('Blood Stream',
                        origin=vec,
                        direction=vec2,
                        red=int(command[6]),
                        green=int(command[7]),
                        blue=int(command[8]),
                        alpha=int(command[9]),
                        amount=int(comman[10]))
        te.create(delay=float(command[2]))
Ejemplo n.º 25
0
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

        self.model._precache()
        self.effect = TempEntity('BeamRingPoint',
                                 model=self.model,
                                 start_radius=20,
                                 end_radius=50,
                                 life_time=1,
                                 start_width=10,
                                 end_width=10,
                                 spread=10,
                                 amplitude=0,
                                 red=255,
                                 green=0,
                                 blue=0,
                                 alpha=255,
                                 speed=50)
Ejemplo n.º 26
0
def effect101(model, position, direction):
    """
    est_effect_01 <player filter> <delay> <model> <position x y z> <direction x y z>
    """
    if not isinstance(model, Model):
        model = Model(model)

    if not isinstance(position, Vector):
        position = Vector(*position)

    if not isinstance(direction, Vector):
        direction = Vector(*direction)

    te = TempEntity('Armor Ricochet')
    te.position = position
    te.direction = direction

    return te
Ejemplo n.º 27
0
def effect123(model, position, life_time, size, brightness):
    """
    est_effect_23 <player filter> <delay> <model> <position x y z> <life> <size> <brightness>
    """
    if not isinstance(model, Model):
        model = Model(model)

    if not isinstance(position, Vector):
        position = Vector(*position)

    te = TempEntity('GaussExplosion')
    te.model = model
    te.position = position
    te.life_time = life_time
    te.scale = size
    te.brightness = brightness

    return te
Ejemplo n.º 28
0
def effect118(origin, red, green, blue, exponent, radius, life_time, decay):
    """
    est_effect_18 <player filter> <delay> <position x y z> <red> <green> <blue> <exponent> <radius> <time> <decay>
    """
    if not isinstance(origin, Vector):
        origin = Vector(*origin)

    te = TempEntity('Dynamic Light')
    te.origin = origin
    te.red = red
    te.green = green
    te.blue = blue
    te.exponent = exponent
    te.radius = radius
    te.life_time = life_time
    te.decay = decay

    return te
Ejemplo n.º 29
0
def est_effect_14(command):
    #est_Effect_14 - Bubbles Effectest_Effect_14 <player Filter> <delay> <model> <Min "X Y Z"> <Max "X Y Z"> <heigth> <count> <speed>
    if len(command) == 9:
        str_vec = command[4]
        str_vec = str_vec.split(",")
        vec = Vector(float(str_vec[0]), float(str_vec[1]), float(str_vec[2]))
        str_vec = command[5]
        str_vec = str_vec.split(",")
        vec2 = Vector(float(str_vec[0]), float(str_vec[1]), float(str_vec[2]))
        te = TempEntity('Bubbles',
                        model_index=Model(str(command[3])).index,
                        halo_index=Model(str(command[3])).index,
                        mins=vec,
                        maxs=vec2,
                        height=int(command[6]),
                        count=int(command[7]),
                        speed=int(command[8]))
        te.create(delay=float(command[2]))
Ejemplo n.º 30
0
def est_effect_03(command):
    #est_Effect_03 <player Filter> <delay> <model> <start ent> <end ent> <framerate><life> <start width> <end width> <fade distance> <amplitude> <R> <G> <B> <A> <speed>
    if len(command) == 16:
        te = TempEntity('BeamEnts',
                        model_index=Model(str(command[3])),
                        halo_index=Model(str(command[3])),
                        start_entity_index=int(command[4]),
                        end_entity_index=int(command[5]),
                        frame_rate=int(command[6]),
                        start_width=int(command[7]),
                        end_with=int(command[8]),
                        fade_length=int(command[9]),
                        amplitude=int(command[10]),
                        red=int(command[11]),
                        green=int(command[12]),
                        blue=int(command[13]),
                        alpha=int(command[14]),
                        speed=int(command[15]))
        te.create(delay=float(command[2]))