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
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) ])
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
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)
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
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
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
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
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]))
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
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
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)
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)
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]))
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
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
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
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
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
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
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
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
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
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]))
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)
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
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
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
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]))
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]))