예제 #1
0
파일: items.py 프로젝트: barryp/qwpython
def item_armorInv(*qwp_extra):
    qc.self.touch = armor_touch
    engine.precache_model('progs/armor.mdl')
    qc.self.setmodel('progs/armor.mdl')
    qc.self.skin = 2
    qc.setsize(qc.self, Vector(-16, -16, 0), Vector(16, 16, 56))
    StartItem()
예제 #2
0
파일: misc.py 프로젝트: barryp/qwpython
def misc_fireball(*qwp_extra):
    engine.precache_model('progs/lavaball.mdl')
    qc.self.classname = 'fireball'
    qc.self.nextthink = qc.time + (random.random() * 5)
    qc.self.think = fire_fly
    if not qc.self.speed:
        qc.self.speed == 1000
예제 #3
0
def misc_fireball(*qwp_extra):
    engine.precache_model('progs/lavaball.mdl')
    qc.self.classname = 'fireball'
    qc.self.nextthink = qc.time + (random.random() * 5)
    qc.self.think = fire_fly
    if not qc.self.speed:
        qc.self.speed == 1000
예제 #4
0
파일: items.py 프로젝트: angeld29/qwpy
def item_armorInv(*qwp_extra):
    qc.self.touch = armor_touch
    engine.precache_model('progs/armor.mdl')
    qc.self.setmodel('progs/armor.mdl')
    qc.self.skin = 2
    qc.setsize(qc.self, Vector(-16, -16, 0), Vector(16, 16, 56))
    StartItem()
예제 #5
0
파일: items.py 프로젝트: angeld29/qwpy
def weapon_lightning(*qwp_extra):
    engine.precache_model('progs/g_light.mdl')
    qc.self.setmodel('progs/g_light.mdl')
    qc.self.weapon = 3
    qc.self.netname = 'Thunderbolt'
    qc.self.touch = weapon_touch
    qc.setsize(qc.self, Vector(-16, -16, 0), Vector(16, 16, 56))
    StartItem()
예제 #6
0
파일: items.py 프로젝트: angeld29/qwpy
def weapon_supershotgun(*qwp_extra):
    engine.precache_model('progs/g_shot.mdl')
    qc.self.setmodel('progs/g_shot.mdl')
    qc.self.weapon = defs.IT_SUPER_SHOTGUN
    qc.self.netname = 'Double-barrelled Shotgun'
    qc.self.touch = weapon_touch
    qc.setsize(qc.self, Vector(-16, -16, 0), Vector(16, 16, 56))
    StartItem()
예제 #7
0
파일: items.py 프로젝트: angeld29/qwpy
def weapon_supernailgun(*qwp_extra):
    engine.precache_model('progs/g_nail2.mdl')
    qc.self.setmodel('progs/g_nail2.mdl')
    qc.self.weapon = defs.IT_SUPER_NAILGUN
    qc.self.netname = 'Super Nailgun'
    qc.self.touch = weapon_touch
    qc.setsize(qc.self, Vector(-16, -16, 0), Vector(16, 16, 56))
    StartItem()
예제 #8
0
파일: items.py 프로젝트: angeld29/qwpy
def weapon_rocketlauncher(*qwp_extra):
    engine.precache_model('progs/g_rock2.mdl')
    qc.self.setmodel('progs/g_rock2.mdl')
    qc.self.weapon = 3
    qc.self.netname = 'Rocket Launcher'
    qc.self.touch = weapon_touch
    qc.setsize(qc.self, Vector(-16, -16, 0), Vector(16, 16, 56))
    StartItem()
예제 #9
0
파일: items.py 프로젝트: angeld29/qwpy
def weapon_grenadelauncher(*qwp_extra):
    if defs.deathmatch <= 3:
        engine.precache_model('progs/g_rock.mdl')
        qc.self.setmodel('progs/g_rock.mdl')
        qc.self.weapon = 3
        qc.self.netname = 'Grenade Launcher'
        qc.self.touch = weapon_touch
        qc.setsize(qc.self, Vector(-16, -16, 0), Vector(16, 16, 56))
        StartItem()
예제 #10
0
파일: items.py 프로젝트: barryp/qwpython
def weapon_nailgun(*qwp_extra):
    if defs.deathmatch <= 3:
        engine.precache_model('progs/g_nail.mdl')
        qc.self.setmodel('progs/g_nail.mdl')
        qc.self.weapon = defs.IT_NAILGUN
        qc.self.netname = 'nailgun'
        qc.self.touch = weapon_touch
        qc.setsize(qc.self, Vector(-16, -16, 0), Vector(16, 16, 56))
        StartItem()
예제 #11
0
def trap_spikeshooter(*qwp_extra):
    subs.SetMovedir()
    qc.self.use = spikeshooter_use
    if qc.self.spawnflags & SPAWNFLAG_LASER:
        engine.precache_model('progs/laser.mdl')
        engine.precache_sound('enforcer/enfire.wav')
        engine.precache_sound('enforcer/enfstop.wav')
    else:
        engine.precache_sound('weapons/spike2.wav')
예제 #12
0
파일: items.py 프로젝트: barryp/qwpython
def weapon_grenadelauncher(*qwp_extra):
    if defs.deathmatch <= 3:
        engine.precache_model('progs/g_rock.mdl')
        qc.self.setmodel('progs/g_rock.mdl')
        qc.self.weapon = 3
        qc.self.netname = 'Grenade Launcher'
        qc.self.touch = weapon_touch
        qc.setsize(qc.self, Vector(-16, -16, 0), Vector(16, 16, 56))
        StartItem()
예제 #13
0
파일: items.py 프로젝트: angeld29/qwpy
def weapon_nailgun(*qwp_extra):
    if defs.deathmatch <= 3:
        engine.precache_model('progs/g_nail.mdl')
        qc.self.setmodel('progs/g_nail.mdl')
        qc.self.weapon = defs.IT_NAILGUN
        qc.self.netname = 'nailgun'
        qc.self.touch = weapon_touch
        qc.setsize(qc.self, Vector(-16, -16, 0), Vector(16, 16, 56))
        StartItem()
예제 #14
0
파일: misc.py 프로젝트: barryp/qwpython
def trap_spikeshooter(*qwp_extra):
    subs.SetMovedir()
    qc.self.use = spikeshooter_use
    if qc.self.spawnflags & SPAWNFLAG_LASER:
        engine.precache_model('progs/laser.mdl')
        engine.precache_sound('enforcer/enfire.wav')
        engine.precache_sound('enforcer/enfstop.wav')        
    else:
        engine.precache_sound('weapons/spike2.wav')
예제 #15
0
파일: items.py 프로젝트: barryp/qwpython
def item_artifact_envirosuit(*qwp_extra):
    qc.self.touch = powerup_touch
    engine.precache_model('progs/suit.mdl')
    engine.precache_sound('items/suit.wav')
    engine.precache_sound('items/suit2.wav')
    qc.self.noise = 'items/suit.wav'
    qc.self.setmodel('progs/suit.mdl')
    qc.self.netname = 'Biosuit'
    qc.self.items = defs.IT_SUIT
    qc.setsize(qc.self, Vector(-16, -16, -24), Vector(16, 16, 32))
    StartItem()
예제 #16
0
파일: items.py 프로젝트: angeld29/qwpy
def item_artifact_envirosuit(*qwp_extra):
    qc.self.touch = powerup_touch
    engine.precache_model('progs/suit.mdl')
    engine.precache_sound('items/suit.wav')
    engine.precache_sound('items/suit2.wav')
    qc.self.noise = 'items/suit.wav'
    qc.self.setmodel('progs/suit.mdl')
    qc.self.netname = 'Biosuit'
    qc.self.items = defs.IT_SUIT
    qc.setsize(qc.self, Vector(-16, -16, -24), Vector(16, 16, 32))
    StartItem()
예제 #17
0
파일: items.py 프로젝트: barryp/qwpython
def item_artifact_invisibility(*qwp_extra):
    qc.self.touch = powerup_touch
    engine.precache_model('progs/invisibl.mdl')
    engine.precache_sound('items/inv1.wav')
    engine.precache_sound('items/inv2.wav')
    engine.precache_sound('items/inv3.wav')
    qc.self.noise = 'items/inv1.wav'
    qc.self.setmodel('progs/invisibl.mdl')
    qc.self.netname = 'Ring of Shadows'
    qc.self.items = defs.IT_INVISIBILITY
    qc.setsize(qc.self, Vector(-16, -16, -24), Vector(16, 16, 32))
    StartItem()
예제 #18
0
파일: items.py 프로젝트: angeld29/qwpy
def item_artifact_invulnerability(*qwp_extra):
    qc.self.touch = powerup_touch
    engine.precache_model('progs/invulner.mdl')
    engine.precache_sound('items/protect.wav')
    engine.precache_sound('items/protect2.wav')
    engine.precache_sound('items/protect3.wav')
    qc.self.noise = 'items/protect.wav'
    qc.self.setmodel('progs/invulner.mdl')
    qc.self.netname = 'Pentagram of Protection'
    qc.self.items = defs.IT_INVULNERABILITY
    qc.setsize(qc.self, Vector(-16, -16, -24), Vector(16, 16, 32))
    StartItem()
예제 #19
0
파일: items.py 프로젝트: angeld29/qwpy
def item_artifact_invisibility(*qwp_extra):
    qc.self.touch = powerup_touch
    engine.precache_model('progs/invisibl.mdl')
    engine.precache_sound('items/inv1.wav')
    engine.precache_sound('items/inv2.wav')
    engine.precache_sound('items/inv3.wav')
    qc.self.noise = 'items/inv1.wav'
    qc.self.setmodel('progs/invisibl.mdl')
    qc.self.netname = 'Ring of Shadows'
    qc.self.items = defs.IT_INVISIBILITY
    qc.setsize(qc.self, Vector(-16, -16, -24), Vector(16, 16, 32))
    StartItem()
예제 #20
0
파일: items.py 프로젝트: angeld29/qwpy
def item_artifact_super_damage(*qwp_extra):
    qc.self.touch = powerup_touch
    engine.precache_model('progs/quaddama.mdl')
    engine.precache_sound('items/damage.wav')
    engine.precache_sound('items/damage2.wav')
    engine.precache_sound('items/damage3.wav')
    qc.self.noise = 'items/damage.wav'
    qc.self.setmodel('progs/quaddama.mdl')
    qc.self.netname = 'Quad Damage'
    qc.self.items = defs.IT_QUAD
    qc.setsize(qc.self, Vector(-16, -16, -24), Vector(16, 16, 32))
    StartItem()
예제 #21
0
파일: items.py 프로젝트: angeld29/qwpy
def item_rockets(*qwp_extra):
    qc.self.touch = ammo_touch
    if qc.self.spawnflags & WEAPON_BIG2:
        engine.precache_model('maps/b_rock1.bsp')
        qc.self.setmodel('maps/b_rock1.bsp')
        qc.self.aflag = 10        
    else:
        engine.precache_model('maps/b_rock0.bsp')
        qc.self.setmodel('maps/b_rock0.bsp')
        qc.self.aflag = 5
        
    qc.self.weapon = 3
    qc.self.netname = 'rockets'
    qc.setsize(qc.self, Vector(0, 0, 0), Vector(32, 32, 56))
    StartItem()
예제 #22
0
파일: items.py 프로젝트: angeld29/qwpy
def item_cells(*qwp_extra):
    qc.self.touch = ammo_touch
    if qc.self.spawnflags & WEAPON_BIG2:
        engine.precache_model('maps/b_batt1.bsp')
        qc.self.setmodel('maps/b_batt1.bsp')
        qc.self.aflag = 12        
    else:
        engine.precache_model('maps/b_batt0.bsp')
        qc.self.setmodel('maps/b_batt0.bsp')
        qc.self.aflag = 6
        
    qc.self.weapon = 4
    qc.self.netname = 'cells'
    qc.setsize(qc.self, Vector(0, 0, 0), Vector(32, 32, 56))
    StartItem()
예제 #23
0
파일: items.py 프로젝트: angeld29/qwpy
def item_spikes(*qwp_extra):
    qc.self.touch = ammo_touch
    if qc.self.spawnflags & WEAPON_BIG2:
        engine.precache_model('maps/b_nail1.bsp')
        qc.self.setmodel('maps/b_nail1.bsp')
        qc.self.aflag = 50        
    else:
        engine.precache_model('maps/b_nail0.bsp')
        qc.self.setmodel('maps/b_nail0.bsp')
        qc.self.aflag = 25
        
    qc.self.weapon = 2
    qc.self.netname = 'nails'
    qc.setsize(qc.self, Vector(0, 0, 0), Vector(32, 32, 56))
    StartItem()
예제 #24
0
파일: teamplay.py 프로젝트: barryp/qwpython
def item_flag_team1(*qwp_extra):
    if not defs.deathmatch or not (engine.cvar("teamplay") & TEAM_CAPTURE_FLAG):
        qc.self.remove()
        return

    qc.self.steam = TEAM_COLOR1
    qc.self.items = defs.IT_KEY2
    engine.precache_model("progs/flag.mdl")
    qc.self.setmodel("progs/flag.mdl")
    qc.self.skin = 0
    engine.precache_sound("misc/flagtk.wav")  #  flag taken
    engine.precache_sound("misc/flagcap.wav")  #  flag capture
    engine.precache_sound("doors/runetry.wav")
    qc.self.noise = "misc/flagtk.wav"
    qc.self.noise1 = "doors/runetry.wav"
    qc.setsize(qc.self, Vector(-16, -16, 0), Vector(16, 16, 74))
    qc.self.nextthink = qc.time + 0.2  #  items start after other solids
    qc.self.think = place_flag
예제 #25
0
def misc_explobox2(*qwp_extra):
    qc.self.solid = defs.SOLID_BBOX
    qc.self.movetype = defs.MOVETYPE_NONE
    engine.precache_model('maps/b_exbox2.bsp')
    qc.self.setmodel('maps/b_exbox2.bsp')
    qc.setsize(qc.self, Vector(0, 0, 0), Vector(32, 32, 32))
    engine.precache_sound('weapons/r_exp3.wav')
    qc.self.health = 20
    qc.self.th_die = barrel_explode
    qc.self.takedamage = defs.DAMAGE_AIM
    qc.self.origin %= Vector(None, None, qc.self.origin.z + 2)
    oldz = qc.self.origin.z
    qc.droptofloor()
    if oldz - qc.self.origin.z > 250:
        engine.dprint('item fell out of level at ')
        engine.dprint(str(qc.self.origin))
        engine.dprint('\012')
        qc.self.remove()
예제 #26
0
파일: items.py 프로젝트: angeld29/qwpy
def item_shells(*qwp_extra):
    if defs.deathmatch == 4:
        return
    qc.self.touch = ammo_touch
    if qc.self.spawnflags & WEAPON_BIG2:
        engine.precache_model('maps/b_shell1.bsp')
        qc.self.setmodel('maps/b_shell1.bsp')
        qc.self.aflag = 40

    else:
        engine.precache_model('maps/b_shell0.bsp')
        qc.self.setmodel('maps/b_shell0.bsp')
        qc.self.aflag = 20

    qc.self.weapon = 1
    qc.self.netname = 'shells'
    qc.setsize(qc.self, Vector(0, 0, 0), Vector(32, 32, 56))
    StartItem()
예제 #27
0
파일: misc.py 프로젝트: barryp/qwpython
def misc_explobox2(*qwp_extra):
    qc.self.solid = defs.SOLID_BBOX
    qc.self.movetype = defs.MOVETYPE_NONE
    engine.precache_model('maps/b_exbox2.bsp')
    qc.self.setmodel('maps/b_exbox2.bsp')
    qc.setsize(qc.self, Vector(0, 0, 0), Vector(32, 32, 32))
    engine.precache_sound('weapons/r_exp3.wav')
    qc.self.health = 20
    qc.self.th_die = barrel_explode
    qc.self.takedamage = defs.DAMAGE_AIM
    qc.self.origin %= Vector(None, None, qc.self.origin.z + 2)
    oldz = qc.self.origin.z
    qc.droptofloor()
    if oldz - qc.self.origin.z > 250:
        engine.dprint('item fell out of level at ')
        engine.dprint(str(qc.self.origin))
        engine.dprint('\012')
        qc.self.remove()
예제 #28
0
파일: items.py 프로젝트: barryp/qwpython
def item_shells(*qwp_extra):
    if defs.deathmatch == 4:
        return 
    qc.self.touch = ammo_touch
    if qc.self.spawnflags & WEAPON_BIG2:
        engine.precache_model('maps/b_shell1.bsp')
        qc.self.setmodel('maps/b_shell1.bsp')
        qc.self.aflag = 40
        
    else:
        engine.precache_model('maps/b_shell0.bsp')
        qc.self.setmodel('maps/b_shell0.bsp')
        qc.self.aflag = 20
        
    qc.self.weapon = 1
    qc.self.netname = 'shells'
    qc.setsize(qc.self, Vector(0, 0, 0), Vector(32, 32, 56))
    StartItem()
예제 #29
0
파일: teamplay.py 프로젝트: angeld29/qwpy
def item_flag_team1(*qwp_extra):
    if not defs.deathmatch or not (engine.cvar('teamplay')
                                   & TEAM_CAPTURE_FLAG):
        qc.self.remove()
        return

    qc.self.steam = TEAM_COLOR1
    qc.self.items = defs.IT_KEY2
    engine.precache_model('progs/flag.mdl')
    qc.self.setmodel('progs/flag.mdl')
    qc.self.skin = 0
    engine.precache_sound('misc/flagtk.wav')  #  flag taken
    engine.precache_sound('misc/flagcap.wav')  #  flag capture
    engine.precache_sound('doors/runetry.wav')
    qc.self.noise = 'misc/flagtk.wav'
    qc.self.noise1 = 'doors/runetry.wav'
    qc.setsize(qc.self, Vector(-16, -16, 0), Vector(16, 16, 74))
    qc.self.nextthink = qc.time + 0.2  #  items start after other solids
    qc.self.think = place_flag
예제 #30
0
파일: items.py 프로젝트: angeld29/qwpy
def item_health(*qwp_extra):
    qc.self.touch = health_touch
    if qc.self.spawnflags & H_ROTTEN:
        engine.precache_model('maps/b_bh10.bsp')
        engine.precache_sound('items/r_item1.wav')
        qc.self.setmodel('maps/b_bh10.bsp')
        qc.self.noise = 'items/r_item1.wav'
        qc.self.healamount = 15
        qc.self.healtype = 0        
    elif qc.self.spawnflags & H_MEGA:
        engine.precache_model('maps/b_bh100.bsp')
        engine.precache_sound('items/r_item2.wav')
        qc.self.setmodel('maps/b_bh100.bsp')
        qc.self.noise = 'items/r_item2.wav'
        qc.self.healamount = 100
        qc.self.healtype = 2        
    else:
        engine.precache_model('maps/b_bh25.bsp')
        engine.precache_sound('items/health1.wav')
        qc.self.setmodel('maps/b_bh25.bsp')
        qc.self.noise = 'items/health1.wav'
        qc.self.healamount = 25
        qc.self.healtype = 1
        
    qc.setsize(qc.self, Vector(0, 0, 0), Vector(32, 32, 56))
    StartItem()
예제 #31
0
파일: items.py 프로젝트: barryp/qwpython
def item_health(*qwp_extra):
    qc.self.touch = health_touch
    if qc.self.spawnflags & H_ROTTEN:
        engine.precache_model('maps/b_bh10.bsp')
        engine.precache_sound('items/r_item1.wav')
        qc.self.setmodel('maps/b_bh10.bsp')
        qc.self.noise = 'items/r_item1.wav'
        qc.self.healamount = 15
        qc.self.healtype = 0
        
    elif qc.self.spawnflags & H_MEGA:
        engine.precache_model('maps/b_bh100.bsp')
        engine.precache_sound('items/r_item2.wav')
        qc.self.setmodel('maps/b_bh100.bsp')
        qc.self.noise = 'items/r_item2.wav'
        qc.self.healamount = 100
        qc.self.healtype = 2
        
    else:
        engine.precache_model('maps/b_bh25.bsp')
        engine.precache_sound('items/health1.wav')
        qc.self.setmodel('maps/b_bh25.bsp')
        qc.self.noise = 'items/health1.wav'
        qc.self.healamount = 25
        qc.self.healtype = 1
        
    qc.setsize(qc.self, Vector(0, 0, 0), Vector(32, 32, 56))
    StartItem()
예제 #32
0
파일: plats.py 프로젝트: barryp/qwpython
def misc_teleporttrain(*qwp_extra):
    if not qc.self.speed:
        qc.self.speed = 100
    if not qc.self.target:
        qc.objerror('func_train without a target')
    qc.self.cnt = 1
    qc.self.solid = defs.SOLID_NOT
    qc.self.movetype = defs.MOVETYPE_PUSH
    qc.self.blocked = train_blocked
    qc.self.use = train_use
    qc.self.avelocity = Vector(100, 200, 300)
    qc.self.noise = ('misc/null.wav')
    engine.precache_sound('misc/null.wav')
    qc.self.noise1 = ('misc/null.wav')
    engine.precache_sound('misc/null.wav')
    engine.precache_model('progs/teleport.mdl')
    qc.self.setmodel('progs/teleport.mdl')
    qc.setsize(qc.self, qc.self.mins, qc.self.maxs)
    qc.setorigin(qc.self, qc.self.origin)
    #  start trains on the second frame, to make sure their targets have had
    #  a chance to spawn
    qc.self.nextthink = qc.self.ltime + 0.1
    qc.self.think = func_train_find
예제 #33
0
파일: plats.py 프로젝트: angeld29/qwpython
def misc_teleporttrain(*qwp_extra):
    if not qc.self.speed:
        qc.self.speed = 100
    if not qc.self.target:
        qc.objerror('func_train without a target')
    qc.self.cnt = 1
    qc.self.solid = defs.SOLID_NOT
    qc.self.movetype = defs.MOVETYPE_PUSH
    qc.self.blocked = train_blocked
    qc.self.use = train_use
    qc.self.avelocity = Vector(100, 200, 300)
    qc.self.noise = ('misc/null.wav')
    engine.precache_sound('misc/null.wav')
    qc.self.noise1 = ('misc/null.wav')
    engine.precache_sound('misc/null.wav')
    engine.precache_model('progs/teleport.mdl')
    qc.self.setmodel('progs/teleport.mdl')
    qc.setsize(qc.self, qc.self.mins, qc.self.maxs)
    qc.setorigin(qc.self, qc.self.origin)
    #  start trains on the second frame, to make sure their targets have had
    #  a chance to spawn
    qc.self.nextthink = qc.self.ltime + 0.1
    qc.self.think = func_train_find
예제 #34
0
파일: items.py 프로젝트: angeld29/qwpy
def item_sigil(*qwp_extra):
    if not qc.self.spawnflags:
        qc.objerror('no spawnflags')
    engine.precache_sound('misc/runekey.wav')
    qc.self.noise = 'misc/runekey.wav'
    if qc.self.spawnflags & 1:
        engine.precache_model('progs/end1.mdl')
        qc.self.setmodel('progs/end1.mdl')
        
    if qc.self.spawnflags & 2:
        engine.precache_model('progs/end2.mdl')
        qc.self.setmodel('progs/end2.mdl')
        
    if qc.self.spawnflags & 4:
        engine.precache_model('progs/end3.mdl')
        qc.self.setmodel('progs/end3.mdl')
        
    if qc.self.spawnflags & 8:
        engine.precache_model('progs/end4.mdl')
        qc.self.setmodel('progs/end4.mdl')
        
    qc.self.touch = sigil_touch
    qc.setsize(qc.self, Vector(-16, -16, -24), Vector(16, 16, 32))
    StartItem()
예제 #35
0
파일: items.py 프로젝트: barryp/qwpython
def item_sigil(*qwp_extra):
    if not qc.self.spawnflags:
        qc.objerror('no spawnflags')
    engine.precache_sound('misc/runekey.wav')
    qc.self.noise = 'misc/runekey.wav'
    if qc.self.spawnflags & 1:
        engine.precache_model('progs/end1.mdl')
        qc.self.setmodel('progs/end1.mdl')
        
    if qc.self.spawnflags & 2:
        engine.precache_model('progs/end2.mdl')
        qc.self.setmodel('progs/end2.mdl')
        
    if qc.self.spawnflags & 4:
        engine.precache_model('progs/end3.mdl')
        qc.self.setmodel('progs/end3.mdl')
        
    if qc.self.spawnflags & 8:
        engine.precache_model('progs/end4.mdl')
        qc.self.setmodel('progs/end4.mdl')
        
    qc.self.touch = sigil_touch
    qc.setsize(qc.self, Vector(-16, -16, -24), Vector(16, 16, 32))
    StartItem()
예제 #36
0
파일: items.py 프로젝트: angeld29/qwpy
def item_key2(*qwp_extra):
    if qc.world.worldtype == 0:
        engine.precache_model('progs/w_g_key.mdl')
        qc.self.setmodel('progs/w_g_key.mdl')
        qc.self.netname = 'gold key'        
    if qc.world.worldtype == 1:
        engine.precache_model('progs/m_g_key.mdl')
        qc.self.setmodel('progs/m_g_key.mdl')
        qc.self.netname = 'gold runekey'        
    if qc.world.worldtype == 2:
        engine.precache_model('progs/b_g_key.mdl')
        qc.self.setmodel('progs/b_g_key.mdl')
        qc.self.netname = 'gold keycard'
        
    key_setsounds()
    qc.self.touch = key_touch
    qc.self.items = defs.IT_KEY2
    qc.setsize(qc.self, Vector(-16, -16, -24), Vector(16, 16, 32))
    StartItem()
예제 #37
0
파일: world.py 프로젝트: barryp/qwpython
def worldspawn(*qwp_extra):
    global lastspawn
    lastspawn = qc.world
    InitBodyQue()
    #  custom map attributes
    if qc.self.model == 'maps/e1m8.bsp':
        engine.cvar_set('sv_gravity', '100')
    else:
        engine.cvar_set('sv_gravity', '800')
    #  the area based ambient sounds MUST be the first precache_sounds
    #  player precaches     
    weapons.W_Precache() #  get weapon precaches
    #  sounds used from C physics code
    engine.precache_sound('demon/dland2.wav') #  landing thud
    engine.precache_sound('misc/h2ohit1.wav') #  landing splash
    #  setup precaches allways needed
    engine.precache_sound('items/itembk2.wav') #  item respawn sound
    engine.precache_sound('player/plyrjmp8.wav') #  player jump
    engine.precache_sound('player/land.wav') #  player landing
    engine.precache_sound('player/land2.wav') #  player hurt landing
    engine.precache_sound('player/drown1.wav') #  drowning pain
    engine.precache_sound('player/drown2.wav') #  drowning pain
    engine.precache_sound('player/gasp1.wav') #  gasping for air
    engine.precache_sound('player/gasp2.wav') #  taking breath
    engine.precache_sound('player/h2odeath.wav') #  drowning death
    engine.precache_sound('misc/talk.wav') #  talk
    engine.precache_sound('player/teledth1.wav') #  telefrag
    engine.precache_sound('misc/r_tele1.wav') #  teleport sounds
    engine.precache_sound('misc/r_tele2.wav')
    engine.precache_sound('misc/r_tele3.wav')
    engine.precache_sound('misc/r_tele4.wav')
    engine.precache_sound('misc/r_tele5.wav')
    engine.precache_sound('weapons/lock4.wav') #  ammo pick up
    engine.precache_sound('weapons/pkup.wav') #  weapon up
    engine.precache_sound('items/armor1.wav') #  armor up
    engine.precache_sound('weapons/lhit.wav') # lightning
    engine.precache_sound('weapons/lstart.wav') # lightning start
    engine.precache_sound('items/damage3.wav')
    engine.precache_sound('misc/power.wav') # lightning for boss
    #  player gib sounds
    engine.precache_sound('player/gib.wav') #  player gib sound
    engine.precache_sound('player/udeath.wav') #  player gib sound
    engine.precache_sound('player/tornoff2.wav') #  gib sound
    #  player pain sounds
    engine.precache_sound('player/pain1.wav')
    engine.precache_sound('player/pain2.wav')
    engine.precache_sound('player/pain3.wav')
    engine.precache_sound('player/pain4.wav')
    engine.precache_sound('player/pain5.wav')
    engine.precache_sound('player/pain6.wav')
    #  player death sounds
    engine.precache_sound('player/death1.wav')
    engine.precache_sound('player/death2.wav')
    engine.precache_sound('player/death3.wav')
    engine.precache_sound('player/death4.wav')
    engine.precache_sound('player/death5.wav')
    engine.precache_sound('boss1/sight1.wav')
    #  ax sounds    
    engine.precache_sound('weapons/ax1.wav') #  ax swoosh
    engine.precache_sound('player/axhit1.wav') #  ax hit meat
    engine.precache_sound('player/axhit2.wav') #  ax hit world
    engine.precache_sound('player/h2ojump.wav') #  player jumping into water
    engine.precache_sound('player/slimbrn2.wav') #  player enter slime
    engine.precache_sound('player/inh2o.wav') #  player enter water
    engine.precache_sound('player/inlava.wav') #  player enter lava
    engine.precache_sound('misc/outwater.wav') #  leaving water sound
    engine.precache_sound('player/lburn1.wav') #  lava burn
    engine.precache_sound('player/lburn2.wav') #  lava burn
    engine.precache_sound('misc/water1.wav') #  swimming
    engine.precache_sound('misc/water2.wav') #  swimming
    #  Invulnerability sounds
    engine.precache_sound('items/protect.wav')
    engine.precache_sound('items/protect2.wav')
    engine.precache_sound('items/protect3.wav')
    engine.precache_model('progs/player.mdl')
    engine.precache_model('progs/eyes.mdl')
    engine.precache_model('progs/h_player.mdl')
    engine.precache_model('progs/gib1.mdl')
    engine.precache_model('progs/gib2.mdl')
    engine.precache_model('progs/gib3.mdl')
    engine.precache_model('progs/s_bubble.spr') #  drowning bubbles
    engine.precache_model('progs/s_explod.spr') #  sprite explosion
    engine.precache_model('progs/v_axe.mdl')
    engine.precache_model('progs/v_shot.mdl')
    engine.precache_model('progs/v_nail.mdl')
    engine.precache_model('progs/v_rock.mdl')
    engine.precache_model('progs/v_shot2.mdl')
    engine.precache_model('progs/v_nail2.mdl')
    engine.precache_model('progs/v_rock2.mdl')
    engine.precache_model('progs/bolt.mdl') #  for lightning gun
    engine.precache_model('progs/bolt2.mdl') #  for lightning gun
    engine.precache_model('progs/bolt3.mdl') #  for boss shock
    engine.precache_model('progs/lavaball.mdl') #  for testing
    engine.precache_model('progs/missile.mdl')
    engine.precache_model('progs/grenade.mdl')
    engine.precache_model('progs/spike.mdl')
    engine.precache_model('progs/s_spike.mdl')
    engine.precache_model('progs/backpack.mdl')
    engine.precache_model('progs/zom_gib.mdl')
    engine.precache_model('progs/v_light.mdl')
    # 
    #  Setup light animation tables. 'a' is total darkness, 'z' is maxbright.
    # 
    #  0 normal
    engine.lightstyle(0, 'm')
    #  1 FLICKER (first variety)
    engine.lightstyle(1, 'mmnmmommommnonmmonqnmmo')
    #  2 SLOW STRONG PULSE
    engine.lightstyle(2, 'abcdefghijklmnopqrstuvwxyzyxwvutsrqponmlkjihgfedcba')
    #  3 CANDLE (first variety)
    engine.lightstyle(3, 'mmmmmaaaaammmmmaaaaaabcdefgabcdefg')
    #  4 FAST STROBE
    engine.lightstyle(4, 'mamamamamama')
    #  5 GENTLE PULSE 1
    engine.lightstyle(5, 'jklmnopqrstuvwxyzyxwvutsrqponmlkj')
    #  6 FLICKER (second variety)
    engine.lightstyle(6, 'nmonqnmomnmomomno')
    #  7 CANDLE (second variety)
    engine.lightstyle(7, 'mmmaaaabcdefgmmmmaaaammmaamm')
    #  8 CANDLE (third variety)
    engine.lightstyle(8, 'mmmaaammmaaammmabcdefaaaammmmabcdefmmmaaaa')
    #  9 SLOW STROBE (fourth variety)
    engine.lightstyle(9, 'aaaaaaaazzzzzzzz')
    #  10 FLUORESCENT FLICKER
    engine.lightstyle(10, 'mmamammmmammamamaaamammma')
    #  11 SLOW PULSE NOT FADE TO BLACK
    engine.lightstyle(11, 'abcdefghijklmnopqrrqponmlkjihgfedcba')
    #  styles 32-62 are assigned by the light program for switchable lights
    #  63 testing
    engine.lightstyle(63, 'a')
예제 #38
0
파일: items.py 프로젝트: barryp/qwpython
def item_weapon(*qwp_extra):
    qc.self.touch = ammo_touch
    if qc.self.spawnflags & WEAPON_SHOTGUN:
        if qc.self.spawnflags & WEAPON_BIG:
            engine.precache_model('maps/b_shell1.bsp')
            qc.self.setmodel('maps/b_shell1.bsp')
            qc.self.aflag = 40
            
        else:
            engine.precache_model('maps/b_shell0.bsp')
            qc.self.setmodel('maps/b_shell0.bsp')
            qc.self.aflag = 20
            
        qc.self.weapon = 1
        qc.self.netname = 'shells'
        
    if qc.self.spawnflags & WEAPON_SPIKES:
        if qc.self.spawnflags & WEAPON_BIG:
            engine.precache_model('maps/b_nail1.bsp')
            qc.self.setmodel('maps/b_nail1.bsp')
            qc.self.aflag = 40
            
        else:
            engine.precache_model('maps/b_nail0.bsp')
            qc.self.setmodel('maps/b_nail0.bsp')
            qc.self.aflag = 20
            
        qc.self.weapon = 2
        qc.self.netname = 'spikes'
        
    if qc.self.spawnflags & WEAPON_ROCKET:
        if qc.self.spawnflags & WEAPON_BIG:
            engine.precache_model('maps/b_rock1.bsp')
            qc.self.setmodel('maps/b_rock1.bsp')
            qc.self.aflag = 10
            
        else:
            engine.precache_model('maps/b_rock0.bsp')
            qc.self.setmodel('maps/b_rock0.bsp')
            qc.self.aflag = 5
            
        qc.self.weapon = 3
        qc.self.netname = 'rockets'
        
    qc.setsize(qc.self, Vector(0, 0, 0), Vector(32, 32, 56))
    StartItem()
예제 #39
0
def light_flame_large_yellow(*qwp_extra):
    engine.precache_model('progs/flame2.mdl')
    qc.self.setmodel('progs/flame2.mdl')
    qc.self.frame = 1
    FireAmbient()
    qc.self.makestatic()
예제 #40
0
def light_flame_small_white(*qwp_extra):
    engine.precache_model('progs/flame2.mdl')
    qc.self.setmodel('progs/flame2.mdl')
    FireAmbient()
    qc.self.makestatic()
예제 #41
0
def viewthing(*qwp_extra):
    qc.self.movetype = defs.MOVETYPE_NONE
    qc.self.solid = defs.SOLID_NOT
    engine.precache_model('progs/player.mdl')
    qc.self.setmodel('progs/player.mdl')
예제 #42
0
파일: misc.py 프로젝트: barryp/qwpython
def light_flame_small_white(*qwp_extra):
    engine.precache_model('progs/flame2.mdl')
    qc.self.setmodel('progs/flame2.mdl')
    FireAmbient()
    qc.self.makestatic()
예제 #43
0
파일: items.py 프로젝트: angeld29/qwpy
def item_weapon(*qwp_extra):
    qc.self.touch = ammo_touch
    if qc.self.spawnflags & WEAPON_SHOTGUN:
        if qc.self.spawnflags & WEAPON_BIG:
            engine.precache_model('maps/b_shell1.bsp')
            qc.self.setmodel('maps/b_shell1.bsp')
            qc.self.aflag = 40            
        else:
            engine.precache_model('maps/b_shell0.bsp')
            qc.self.setmodel('maps/b_shell0.bsp')
            qc.self.aflag = 20
            
        qc.self.weapon = 1
        qc.self.netname = 'shells'
        
    if qc.self.spawnflags & WEAPON_SPIKES:
        if qc.self.spawnflags & WEAPON_BIG:
            engine.precache_model('maps/b_nail1.bsp')
            qc.self.setmodel('maps/b_nail1.bsp')
            qc.self.aflag = 40            
        else:
            engine.precache_model('maps/b_nail0.bsp')
            qc.self.setmodel('maps/b_nail0.bsp')
            qc.self.aflag = 20
            
        qc.self.weapon = 2
        qc.self.netname = 'spikes'
        
    if qc.self.spawnflags & WEAPON_ROCKET:
        if qc.self.spawnflags & WEAPON_BIG:
            engine.precache_model('maps/b_rock1.bsp')
            qc.self.setmodel('maps/b_rock1.bsp')
            qc.self.aflag = 10            
        else:
            engine.precache_model('maps/b_rock0.bsp')
            qc.self.setmodel('maps/b_rock0.bsp')
            qc.self.aflag = 5
            
        qc.self.weapon = 3
        qc.self.netname = 'rockets'
        
    qc.setsize(qc.self, Vector(0, 0, 0), Vector(32, 32, 56))
    StartItem()
예제 #44
0
파일: misc.py 프로젝트: barryp/qwpython
def viewthing(*qwp_extra):
    qc.self.movetype = defs.MOVETYPE_NONE
    qc.self.solid = defs.SOLID_NOT
    engine.precache_model('progs/player.mdl')
    qc.self.setmodel('progs/player.mdl')
예제 #45
0
파일: misc.py 프로젝트: barryp/qwpython
def light_globe(*qwp_extra):
    engine.precache_model('progs/s_light.spr')
    qc.self.setmodel('progs/s_light.spr')
    qc.self.makestatic()
예제 #46
0
파일: items.py 프로젝트: angeld29/qwpy
def StartRuneSpawn(*qwp_extra):
    if defs.runespawned or defs.gamestart:
        return 
    defs.runespawned = 1
    engine.precache_model('progs/end1.mdl')
    engine.precache_model('progs/end2.mdl')
    engine.precache_model('progs/end3.mdl')
    engine.precache_model('progs/end4.mdl')
    engine.precache_model('progs/m_s_key.mdl')
    engine.precache_model('progs/m_g_key.mdl')
    engine.precache_sound('rune/rune1.wav')
    engine.precache_sound('rune/rune2.wav')
    engine.precache_sound('rune/rune22.wav') #  special rune and quad combo
    engine.precache_sound('rune/rune3.wav')
    engine.precache_sound('rune/rune4.wav')
    #  spawn the runes
    rspawn = qc.spawn()
    rspawn.nextthink = qc.time + 0.1
    rspawn.think = SpawnRunes
예제 #47
0
파일: world.py 프로젝트: angeld29/qwpy
def worldspawn(*qwp_extra):
    global lastspawn

    lastspawn = qc.world
    defs.runespawn = qc.world
    defs.runespawned = 0
    InitBodyQue()
    #  custom map attributes
    #  can't change gravity in QuakeWorld
    #
    # 	if (self.model == "maps/e1m8.bsp")
    # 		cvar_set ("sv_gravity", "100");
    # 	else
    # 		cvar_set ("sv_gravity", "800");
    #
    if qc.self.model == 'maps/ctfstart.bsp' or qc.self.model == 'maps/start.bsp':
        defs.gamestart = 1
    else:
        defs.gamestart = 0
    #  the area based ambient sounds MUST be the first precache_sounds
    #  player precaches
    weapons.W_Precache()  #  get weapon precaches
    #  sounds used from C physics code
    engine.precache_sound('demon/dland2.wav')  #  landing thud
    engine.precache_sound('misc/h2ohit1.wav')  #  landing splash
    #  setup precaches allways needed
    engine.precache_sound('items/itembk2.wav')  #  item respawn sound
    engine.precache_sound('player/plyrjmp8.wav')  #  player jump
    engine.precache_sound('player/land.wav')  #  player landing
    engine.precache_sound('player/land2.wav')  #  player hurt landing
    engine.precache_sound('player/drown1.wav')  #  drowning pain
    engine.precache_sound('player/drown2.wav')  #  drowning pain
    engine.precache_sound('player/gasp1.wav')  #  gasping for air
    engine.precache_sound('player/gasp2.wav')  #  taking breath
    engine.precache_sound('player/h2odeath.wav')  #  drowning death
    engine.precache_sound('misc/talk.wav')  #  talk
    engine.precache_sound('player/teledth1.wav')  #  telefrag
    engine.precache_sound('misc/r_tele1.wav')  #  teleport sounds
    engine.precache_sound('misc/r_tele2.wav')
    engine.precache_sound('misc/r_tele3.wav')
    engine.precache_sound('misc/r_tele4.wav')
    engine.precache_sound('misc/r_tele5.wav')
    engine.precache_sound('weapons/lock4.wav')  #  ammo pick up
    engine.precache_sound('weapons/pkup.wav')  #  weapon up
    engine.precache_sound('items/armor1.wav')  #  armor up
    engine.precache_sound('weapons/lhit.wav')  # lightning
    engine.precache_sound('weapons/lstart.wav')  # lightning start
    engine.precache_sound('items/damage3.wav')
    engine.precache_sound('misc/power.wav')  # lightning for boss
    #  player gib sounds
    engine.precache_sound('player/gib.wav')  #  player gib sound
    engine.precache_sound('player/udeath.wav')  #  player gib sound
    engine.precache_sound('player/tornoff2.wav')  #  gib sound
    #  player pain sounds
    engine.precache_sound('player/pain1.wav')
    engine.precache_sound('player/pain2.wav')
    engine.precache_sound('player/pain3.wav')
    engine.precache_sound('player/pain4.wav')
    engine.precache_sound('player/pain5.wav')
    engine.precache_sound('player/pain6.wav')
    #  player death sounds
    engine.precache_sound('player/death1.wav')
    engine.precache_sound('player/death2.wav')
    engine.precache_sound('player/death3.wav')
    engine.precache_sound('player/death4.wav')
    engine.precache_sound('player/death5.wav')
    #  ax sounds
    engine.precache_sound('weapons/ax1.wav')  #  ax swoosh
    engine.precache_sound('player/axhit1.wav')  #  ax hit meat
    engine.precache_sound('player/axhit2.wav')  #  ax hit world
    engine.precache_sound('hknight/hit.wav')  #  ZOID: hook launch
    engine.precache_sound('player/h2ojump.wav')  #  player jumping into water
    engine.precache_sound('player/slimbrn2.wav')  #  player enter slime
    engine.precache_sound('player/inh2o.wav')  #  player enter water
    engine.precache_sound('player/inlava.wav')  #  player enter lava
    engine.precache_sound('misc/outwater.wav')  #  leaving water sound
    engine.precache_sound('player/lburn1.wav')  #  lava burn
    engine.precache_sound('player/lburn2.wav')  #  lava burn
    engine.precache_sound('misc/water1.wav')  #  swimming
    engine.precache_sound('misc/water2.wav')  #  swimming
    engine.precache_model('progs/player.mdl')
    engine.precache_model('progs/h_player.mdl')
    engine.precache_model('progs/eyes.mdl')
    engine.precache_model('progs/gib1.mdl')
    engine.precache_model('progs/gib2.mdl')
    engine.precache_model('progs/gib3.mdl')
    engine.precache_model('progs/s_bubble.spr')  #  drowning bubbles
    engine.precache_model('progs/s_explod.spr')  #  sprite explosion
    engine.precache_model('progs/v_axe.mdl')
    engine.precache_model('progs/v_shot.mdl')
    engine.precache_model('progs/v_nail.mdl')
    engine.precache_model('progs/v_rock.mdl')
    engine.precache_model('progs/v_shot2.mdl')
    engine.precache_model('progs/v_nail2.mdl')
    engine.precache_model('progs/v_rock2.mdl')
    engine.precache_model('progs/v_star.mdl')  #  precache grapple (Wedge)
    engine.precache_model('progs/bit.mdl')  #  precache grapple (Wedge)
    engine.precache_model('progs/star.mdl')  #  precache grapple (Wedge)
    engine.precache_model('progs/bolt.mdl')  #  for lightning gun
    engine.precache_model('progs/bolt2.mdl')  #  for lightning gun
    engine.precache_model('progs/bolt3.mdl')  #  for boss shock
    engine.precache_model('progs/lavaball.mdl')  #  for testing
    engine.precache_model('progs/missile.mdl')
    engine.precache_model('progs/grenade.mdl')
    engine.precache_model('progs/spike.mdl')
    engine.precache_model('progs/s_spike.mdl')
    engine.precache_model('progs/backpack.mdl')
    engine.precache_model('progs/zom_gib.mdl')
    engine.precache_model('progs/v_light.mdl')
    #
    #  Setup light animation tables. 'a' is total darkness, 'z' is maxbright.
    #
    #  0 normal
    engine.lightstyle(0, 'm')
    #  1 FLICKER (first variety)
    engine.lightstyle(1, 'mmnmmommommnonmmonqnmmo')
    #  2 SLOW STRONG PULSE
    engine.lightstyle(2, 'abcdefghijklmnopqrstuvwxyzyxwvutsrqponmlkjihgfedcba')
    #  3 CANDLE (first variety)
    engine.lightstyle(3, 'mmmmmaaaaammmmmaaaaaabcdefgabcdefg')
    #  4 FAST STROBE
    engine.lightstyle(4, 'mamamamamama')
    #  5 GENTLE PULSE 1
    engine.lightstyle(5, 'jklmnopqrstuvwxyzyxwvutsrqponmlkj')
    #  6 FLICKER (second variety)
    engine.lightstyle(6, 'nmonqnmomnmomomno')
    #  7 CANDLE (second variety)
    engine.lightstyle(7, 'mmmaaaabcdefgmmmmaaaammmaamm')
    #  8 CANDLE (third variety)
    engine.lightstyle(8, 'mmmaaammmaaammmabcdefaaaammmmabcdefmmmaaaa')
    #  9 SLOW STROBE (fourth variety)
    engine.lightstyle(9, 'aaaaaaaazzzzzzzz')
    #  10 FLUORESCENT FLICKER
    engine.lightstyle(10, 'mmamammmmammamamaaamammma')
    #  11 SLOW PULSE NOT FADE TO BLACK
    engine.lightstyle(11, 'abcdefghijklmnopqrrqponmlkjihgfedcba')
    #  styles 32-62 are assigned by the light program for switchable lights
    #  63 testing
    engine.lightstyle(63, 'a')
예제 #48
0
def W_Precache(*qwp_extra):
    engine.precache_sound('hknight/hit.wav')  #  flamethrower
    engine.precache_sound('weapons/r_exp3.wav')  #  new rocket explosion
    engine.precache_sound('weapons/rocket1i.wav')  #  spike gun
    engine.precache_sound('weapons/sgun1.wav')
    engine.precache_sound('weapons/guncock.wav')  #  player shotgun
    engine.precache_sound('weapons/ric1.wav')  #  ricochet (used in c code)
    engine.precache_sound('weapons/ric2.wav')  #  ricochet (used in c code)
    engine.precache_sound('weapons/ric3.wav')  #  ricochet (used in c code)
    engine.precache_sound('weapons/spike2.wav')  #  super spikes
    engine.precache_sound('weapons/tink1.wav')  #  spikes tink (used in c code)
    engine.precache_sound('weapons/grenade.wav')  #  grenade launcher
    engine.precache_sound('weapons/bounce.wav')  #  grenade bounce
    engine.precache_sound('weapons/shotgn2.wav')  #  super shotgun

    # grapple sounds (wedge)
    engine.precache_sound('weapons/chain1.wav')
    engine.precache_sound('weapons/chain2.wav')
    engine.precache_sound('weapons/chain3.wav')
    engine.precache_sound('weapons/bounce2.wav')
    engine.precache_sound('blob/land1.wav')

    #  ZOID:
    #  normally the weapon models are precached in the individual item
    #  creation routines.  But since we've added impulse 21 we can drop
    #  weapons at any time.  Must precache all weapon models.
    engine.precache_model('progs/g_shot.mdl')
    engine.precache_model('progs/g_nail.mdl')
    engine.precache_model('progs/g_nail2.mdl')
    engine.precache_model('progs/g_rock.mdl')
    engine.precache_model('progs/g_rock2.mdl')
    engine.precache_model('progs/g_light.mdl')
예제 #49
0
파일: world.py 프로젝트: barryp/qwpython
def worldspawn(*qwp_extra):
    global lastspawn

    lastspawn = qc.world
    defs.runespawn = qc.world
    defs.runespawned = 0
    InitBodyQue()
    #  custom map attributes
    #  can't change gravity in QuakeWorld
    #
    # 	if (self.model == "maps/e1m8.bsp")
    # 		cvar_set ("sv_gravity", "100");
    # 	else
    # 		cvar_set ("sv_gravity", "800");
    #
    if qc.self.model == "maps/ctfstart.bsp" or qc.self.model == "maps/start.bsp":
        defs.gamestart = 1
    else:
        defs.gamestart = 0
    #  the area based ambient sounds MUST be the first precache_sounds
    #  player precaches
    weapons.W_Precache()  #  get weapon precaches
    #  sounds used from C physics code
    engine.precache_sound("demon/dland2.wav")  #  landing thud
    engine.precache_sound("misc/h2ohit1.wav")  #  landing splash
    #  setup precaches allways needed
    engine.precache_sound("items/itembk2.wav")  #  item respawn sound
    engine.precache_sound("player/plyrjmp8.wav")  #  player jump
    engine.precache_sound("player/land.wav")  #  player landing
    engine.precache_sound("player/land2.wav")  #  player hurt landing
    engine.precache_sound("player/drown1.wav")  #  drowning pain
    engine.precache_sound("player/drown2.wav")  #  drowning pain
    engine.precache_sound("player/gasp1.wav")  #  gasping for air
    engine.precache_sound("player/gasp2.wav")  #  taking breath
    engine.precache_sound("player/h2odeath.wav")  #  drowning death
    engine.precache_sound("misc/talk.wav")  #  talk
    engine.precache_sound("player/teledth1.wav")  #  telefrag
    engine.precache_sound("misc/r_tele1.wav")  #  teleport sounds
    engine.precache_sound("misc/r_tele2.wav")
    engine.precache_sound("misc/r_tele3.wav")
    engine.precache_sound("misc/r_tele4.wav")
    engine.precache_sound("misc/r_tele5.wav")
    engine.precache_sound("weapons/lock4.wav")  #  ammo pick up
    engine.precache_sound("weapons/pkup.wav")  #  weapon up
    engine.precache_sound("items/armor1.wav")  #  armor up
    engine.precache_sound("weapons/lhit.wav")  # lightning
    engine.precache_sound("weapons/lstart.wav")  # lightning start
    engine.precache_sound("items/damage3.wav")
    engine.precache_sound("misc/power.wav")  # lightning for boss
    #  player gib sounds
    engine.precache_sound("player/gib.wav")  #  player gib sound
    engine.precache_sound("player/udeath.wav")  #  player gib sound
    engine.precache_sound("player/tornoff2.wav")  #  gib sound
    #  player pain sounds
    engine.precache_sound("player/pain1.wav")
    engine.precache_sound("player/pain2.wav")
    engine.precache_sound("player/pain3.wav")
    engine.precache_sound("player/pain4.wav")
    engine.precache_sound("player/pain5.wav")
    engine.precache_sound("player/pain6.wav")
    #  player death sounds
    engine.precache_sound("player/death1.wav")
    engine.precache_sound("player/death2.wav")
    engine.precache_sound("player/death3.wav")
    engine.precache_sound("player/death4.wav")
    engine.precache_sound("player/death5.wav")
    #  ax sounds
    engine.precache_sound("weapons/ax1.wav")  #  ax swoosh
    engine.precache_sound("player/axhit1.wav")  #  ax hit meat
    engine.precache_sound("player/axhit2.wav")  #  ax hit world
    engine.precache_sound("hknight/hit.wav")  #  ZOID: hook launch
    engine.precache_sound("player/h2ojump.wav")  #  player jumping into water
    engine.precache_sound("player/slimbrn2.wav")  #  player enter slime
    engine.precache_sound("player/inh2o.wav")  #  player enter water
    engine.precache_sound("player/inlava.wav")  #  player enter lava
    engine.precache_sound("misc/outwater.wav")  #  leaving water sound
    engine.precache_sound("player/lburn1.wav")  #  lava burn
    engine.precache_sound("player/lburn2.wav")  #  lava burn
    engine.precache_sound("misc/water1.wav")  #  swimming
    engine.precache_sound("misc/water2.wav")  #  swimming
    engine.precache_model("progs/player.mdl")
    engine.precache_model("progs/h_player.mdl")
    engine.precache_model("progs/eyes.mdl")
    engine.precache_model("progs/gib1.mdl")
    engine.precache_model("progs/gib2.mdl")
    engine.precache_model("progs/gib3.mdl")
    engine.precache_model("progs/s_bubble.spr")  #  drowning bubbles
    engine.precache_model("progs/s_explod.spr")  #  sprite explosion
    engine.precache_model("progs/v_axe.mdl")
    engine.precache_model("progs/v_shot.mdl")
    engine.precache_model("progs/v_nail.mdl")
    engine.precache_model("progs/v_rock.mdl")
    engine.precache_model("progs/v_shot2.mdl")
    engine.precache_model("progs/v_nail2.mdl")
    engine.precache_model("progs/v_rock2.mdl")
    engine.precache_model("progs/v_star.mdl")  #  precache grapple (Wedge)
    engine.precache_model("progs/bit.mdl")  #  precache grapple (Wedge)
    engine.precache_model("progs/star.mdl")  #  precache grapple (Wedge)
    engine.precache_model("progs/bolt.mdl")  #  for lightning gun
    engine.precache_model("progs/bolt2.mdl")  #  for lightning gun
    engine.precache_model("progs/bolt3.mdl")  #  for boss shock
    engine.precache_model("progs/lavaball.mdl")  #  for testing
    engine.precache_model("progs/missile.mdl")
    engine.precache_model("progs/grenade.mdl")
    engine.precache_model("progs/spike.mdl")
    engine.precache_model("progs/s_spike.mdl")
    engine.precache_model("progs/backpack.mdl")
    engine.precache_model("progs/zom_gib.mdl")
    engine.precache_model("progs/v_light.mdl")
    #
    #  Setup light animation tables. 'a' is total darkness, 'z' is maxbright.
    #
    #  0 normal
    engine.lightstyle(0, "m")
    #  1 FLICKER (first variety)
    engine.lightstyle(1, "mmnmmommommnonmmonqnmmo")
    #  2 SLOW STRONG PULSE
    engine.lightstyle(2, "abcdefghijklmnopqrstuvwxyzyxwvutsrqponmlkjihgfedcba")
    #  3 CANDLE (first variety)
    engine.lightstyle(3, "mmmmmaaaaammmmmaaaaaabcdefgabcdefg")
    #  4 FAST STROBE
    engine.lightstyle(4, "mamamamamama")
    #  5 GENTLE PULSE 1
    engine.lightstyle(5, "jklmnopqrstuvwxyzyxwvutsrqponmlkj")
    #  6 FLICKER (second variety)
    engine.lightstyle(6, "nmonqnmomnmomomno")
    #  7 CANDLE (second variety)
    engine.lightstyle(7, "mmmaaaabcdefgmmmmaaaammmaamm")
    #  8 CANDLE (third variety)
    engine.lightstyle(8, "mmmaaammmaaammmabcdefaaaammmmabcdefmmmaaaa")
    #  9 SLOW STROBE (fourth variety)
    engine.lightstyle(9, "aaaaaaaazzzzzzzz")
    #  10 FLUORESCENT FLICKER
    engine.lightstyle(10, "mmamammmmammamamaaamammma")
    #  11 SLOW PULSE NOT FADE TO BLACK
    engine.lightstyle(11, "abcdefghijklmnopqrrqponmlkjihgfedcba")
    #  styles 32-62 are assigned by the light program for switchable lights
    #  63 testing
    engine.lightstyle(63, "a")