diff --git a/cfg/tf2ware_ultimate/minigames.cfg b/cfg/tf2ware_ultimate/minigames.cfg index 39e43385c..91bc1e6a3 100644 --- a/cfg/tf2ware_ultimate/minigames.cfg +++ b/cfg/tf2ware_ultimate/minigames.cfg @@ -4,6 +4,7 @@ avoid_props avoid_trains backstab basketball +beam bombs boxing break_barrel diff --git a/maps/tf2ware_ultimate.bsp b/maps/tf2ware_ultimate.bsp index 6ca1340f4..bc04aaf64 100644 Binary files a/maps/tf2ware_ultimate.bsp and b/maps/tf2ware_ultimate.bsp differ diff --git a/maps/tf2ware_ultimate_particles.txt b/maps/tf2ware_ultimate_particles.txt index 596b08b48..c012cc3ab 100644 --- a/maps/tf2ware_ultimate_particles.txt +++ b/maps/tf2ware_ultimate_particles.txt @@ -2,4 +2,5 @@ { "file" "!particles/tf2ware_ultimate.pcf" "file" "!particles/mariokart.pcf" + "file" "!particles/alien_egan_fx.pcf" } \ No newline at end of file diff --git a/materials/hud/tf2ware_ultimate/minigames/beam.vmt b/materials/hud/tf2ware_ultimate/minigames/beam.vmt new file mode 100644 index 000000000..f30d3debe --- /dev/null +++ b/materials/hud/tf2ware_ultimate/minigames/beam.vmt @@ -0,0 +1,24 @@ +UnlitGeneric +{ + $basetexture hud/tf2ware_ultimate/minigames/beam + $basetexturetransform "center .5 .2 scale 1.5 14.0 rotate 0 translate 0 0" + + $translucent 1 + $frame 0 + $world_mins "[0.0 0.0 0.0]" + $world_maxs "[0.0 0.0 0.0]" + $zero 0.0 + Proxies + { + WorldDims + { + } + Clamp + { + srcVar1 $zero + min "$world_mins[0]" + max "$world_mins[0]" + resultVar $frame + } + } +} \ No newline at end of file diff --git a/materials/hud/tf2ware_ultimate/minigames/beam.vtf b/materials/hud/tf2ware_ultimate/minigames/beam.vtf new file mode 100644 index 000000000..3abc42f09 Binary files /dev/null and b/materials/hud/tf2ware_ultimate/minigames/beam.vtf differ diff --git a/materials/models/props_invasion/saucer.vmt b/materials/models/props_invasion/saucer.vmt new file mode 100644 index 000000000..04b43e1ed --- /dev/null +++ b/materials/models/props_invasion/saucer.vmt @@ -0,0 +1,30 @@ +"VertexlitGeneric" +{ + "$basetexture" "models\props_invasion\saucer" + //"$bumpmap" "models\props_invasion\saucer_norm" + + "$basemapalphaphongmask" "1" + + "$phong" "1" + "$phongexponent" "5" + "$phongboost" "1.5" + + //"$lightwarptexture" "models/props_vehicles/pickup_lightwarp" + //"$lightwarptexture" "models\lightwarps\weapon_lightwarp" + "$lightwarptexture" "models\lightwarps\robot_lightwarp" //pretty good but still a bit plastic like + + //"$lightwarptexture" "models\buildables\sentry3\sentry3_lightwarp" + + + //"$lightwarptexture" "models\player\items\mvm_loot\all_class\fob_lightwarp" //shit + + //"$lightwarptexture" "models\weapons\c_items\c_ambassador_lightwarp" //good for the glass bubble + + "$phongfresnelranges" "[1 1 5]" + + "$phongtint" "[0.7 1 0.92]" + + + "$selfillum" "1" + "$selfillummask" "models\props_invasion\saucer_selfillum" +} \ No newline at end of file diff --git a/materials/models/props_invasion/saucer.vtf b/materials/models/props_invasion/saucer.vtf new file mode 100644 index 000000000..46a146594 Binary files /dev/null and b/materials/models/props_invasion/saucer.vtf differ diff --git a/materials/models/props_invasion/saucer_exponent.vtf b/materials/models/props_invasion/saucer_exponent.vtf new file mode 100644 index 000000000..7ed1c8931 Binary files /dev/null and b/materials/models/props_invasion/saucer_exponent.vtf differ diff --git a/materials/models/props_invasion/saucer_material.vmt b/materials/models/props_invasion/saucer_material.vmt new file mode 100644 index 000000000..15fa9ea82 --- /dev/null +++ b/materials/models/props_invasion/saucer_material.vmt @@ -0,0 +1,29 @@ +"VertexlitGeneric" +{ + "$basetexture" "models\props_invasion\saucer" + //"$bumpmap" "models\props_invasion\saucer_norm" + + "$basemapalphaphongmask" "1" + + "$phong" "1" + "$phongexponent" "5" + "$phongboost" "1.5" + + //"$lightwarptexture" "models/props_vehicles/pickup_lightwarp" + //"$lightwarptexture" "models\lightwarps\weapon_lightwarp" + "$lightwarptexture" "models\lightwarps\robot_lightwarp" //pretty good but still a bit plastic like + + //"$lightwarptexture" "models\buildables\sentry3\sentry3_lightwarp" + + + //"$lightwarptexture" "models\player\items\mvm_loot\all_class\fob_lightwarp" //shit + + //"$lightwarptexture" "models\weapons\c_items\c_ambassador_lightwarp" //good for the glass bubble + + "$phongfresnelranges" "[1 1 5]" + + "$phongtint" "[0.7 1 0.92]" + + + "$selfillum" "1" +} \ No newline at end of file diff --git a/materials/models/props_invasion/saucer_norm.vtf b/materials/models/props_invasion/saucer_norm.vtf new file mode 100644 index 000000000..a08570a78 Binary files /dev/null and b/materials/models/props_invasion/saucer_norm.vtf differ diff --git a/materials/models/props_invasion/saucer_pulse_light.vmt b/materials/models/props_invasion/saucer_pulse_light.vmt new file mode 100644 index 000000000..5dda963d2 --- /dev/null +++ b/materials/models/props_invasion/saucer_pulse_light.vmt @@ -0,0 +1,19 @@ +"VertexlitGeneric" +{ + "$basetexture" "models\props_invasion\saucer_pulse_light" + ">=DX90" + { + $selfillum 1 + } + + "Proxies" + { + "Sine" + { + resultVar $selfillumtint + sineperiod 5 + sinemin 0.45 + sinemax 1.15 + } + } +} \ No newline at end of file diff --git a/materials/models/props_invasion/saucer_pulse_light.vtf b/materials/models/props_invasion/saucer_pulse_light.vtf new file mode 100644 index 000000000..7b06146fd Binary files /dev/null and b/materials/models/props_invasion/saucer_pulse_light.vtf differ diff --git a/materials/models/props_invasion/saucer_selfillum.vtf b/materials/models/props_invasion/saucer_selfillum.vtf new file mode 100644 index 000000000..4fdee1f45 Binary files /dev/null and b/materials/models/props_invasion/saucer_selfillum.vtf differ diff --git a/materials/models/props_invasion/saucers_watergate.vmt b/materials/models/props_invasion/saucers_watergate.vmt new file mode 100644 index 000000000..4edee7180 --- /dev/null +++ b/materials/models/props_invasion/saucers_watergate.vmt @@ -0,0 +1,29 @@ +"VertexlitGeneric" +{ + "$basetexture" "models\props_invader\saucer" + //"$bumpmap" "models\props_invader\saucer_norm" + + "$basemapalphaphongmask" "1" + + "$phong" "1" + "$phongexponent" "5" + "$phongboost" "1.5" + + //"$lightwarptexture" "models/props_vehicles/pickup_lightwarp" + //"$lightwarptexture" "models\lightwarps\weapon_lightwarp" + "$lightwarptexture" "models\lightwarps\robot_lightwarp" //pretty good but still a bit plastic like + + //"$lightwarptexture" "models\buildables\sentry3\sentry3_lightwarp" + + + //"$lightwarptexture" "models\player\items\mvm_loot\all_class\fob_lightwarp" //shit + + //"$lightwarptexture" "models\weapons\c_items\c_ambassador_lightwarp" //good for the glass bubble + + "$phongfresnelranges" "[1 1 5]" + + "$phongtint" "[0.7 1 0.92]" + + + "$selfillum" "1" +} \ No newline at end of file diff --git a/models/props_invasion/saucer_drunk.dx80.vtx b/models/props_invasion/saucer_drunk.dx80.vtx new file mode 100644 index 000000000..a4bec337a Binary files /dev/null and b/models/props_invasion/saucer_drunk.dx80.vtx differ diff --git a/models/props_invasion/saucer_drunk.dx90.vtx b/models/props_invasion/saucer_drunk.dx90.vtx new file mode 100644 index 000000000..d79bc87b0 Binary files /dev/null and b/models/props_invasion/saucer_drunk.dx90.vtx differ diff --git a/models/props_invasion/saucer_drunk.mdl b/models/props_invasion/saucer_drunk.mdl new file mode 100644 index 000000000..2ff95dc98 Binary files /dev/null and b/models/props_invasion/saucer_drunk.mdl differ diff --git a/models/props_invasion/saucer_drunk.phy b/models/props_invasion/saucer_drunk.phy new file mode 100644 index 000000000..b6001e1ed Binary files /dev/null and b/models/props_invasion/saucer_drunk.phy differ diff --git a/models/props_invasion/saucer_drunk.vvd b/models/props_invasion/saucer_drunk.vvd new file mode 100644 index 000000000..e789482d1 Binary files /dev/null and b/models/props_invasion/saucer_drunk.vvd differ diff --git a/particles/alien2_fx.pcf b/particles/alien2_fx.pcf new file mode 100644 index 000000000..047b0cb43 Binary files /dev/null and b/particles/alien2_fx.pcf differ diff --git a/particles/alien_aly_fx.pcf b/particles/alien_aly_fx.pcf new file mode 100644 index 000000000..ee9250074 Binary files /dev/null and b/particles/alien_aly_fx.pcf differ diff --git a/particles/alien_egan_fx.pcf b/particles/alien_egan_fx.pcf new file mode 100644 index 000000000..0a89561be Binary files /dev/null and b/particles/alien_egan_fx.pcf differ diff --git a/particles/alien_egan_fx_dx80.pcf b/particles/alien_egan_fx_dx80.pcf new file mode 100644 index 000000000..49c10e023 Binary files /dev/null and b/particles/alien_egan_fx_dx80.pcf differ diff --git a/particles/alien_egan_fx_dx90_slow.pcf b/particles/alien_egan_fx_dx90_slow.pcf new file mode 100644 index 000000000..4cc383534 Binary files /dev/null and b/particles/alien_egan_fx_dx90_slow.pcf differ diff --git a/particles/alien_fxxl.pcf b/particles/alien_fxxl.pcf new file mode 100644 index 000000000..03ed16ea9 Binary files /dev/null and b/particles/alien_fxxl.pcf differ diff --git a/particles/invasion_2fort_fx.pcf b/particles/invasion_2fort_fx.pcf new file mode 100644 index 000000000..0b170ac7e Binary files /dev/null and b/particles/invasion_2fort_fx.pcf differ diff --git a/particles/pd_icons.pcf b/particles/pd_icons.pcf new file mode 100644 index 000000000..7a49e3123 Binary files /dev/null and b/particles/pd_icons.pcf differ diff --git a/particles/playerdestruction.pcf b/particles/playerdestruction.pcf new file mode 100644 index 000000000..ce24a7c7a Binary files /dev/null and b/particles/playerdestruction.pcf differ diff --git a/scripts/vscripts/tf2ware_ultimate/default/minigames.nut b/scripts/vscripts/tf2ware_ultimate/default/minigames.nut index b5ee60130..b080b202b 100644 --- a/scripts/vscripts/tf2ware_ultimate/default/minigames.nut +++ b/scripts/vscripts/tf2ware_ultimate/default/minigames.nut @@ -6,6 +6,7 @@ avoid_props avoid_trains backstab basketball +beam bombs boxing break_barrel diff --git a/scripts/vscripts/tf2ware_ultimate/minigames/beam.nut b/scripts/vscripts/tf2ware_ultimate/minigames/beam.nut new file mode 100644 index 000000000..5e16211f9 --- /dev/null +++ b/scripts/vscripts/tf2ware_ultimate/minigames/beam.nut @@ -0,0 +1,193 @@ +minigame <- Ware_MinigameData +({ + name = "We are in the beam" + author = "tilderain" + description = "We are in the beam" + duration = 10 + location = "dirtsquare" + music = "mystery" +}) + +ufo <- null + +beam_sound <- "tf2ware_ultimate/temp_inbeam_own.mp3" + +function OnStart() +{ + Ware_SetGlobalLoadout(TF_CLASS_SCOUT) + CreateUFO() +} + +xRange <- [-750, 750] +yRange <- [-750, 750] + +find_sound <- "MatchMaking.MedalClickRare" + + +function OnUpdate() +{ + local minigameLocation = Ware_MinigameLocation.center + local margin = 0.1 + + + local vel = ufo.GetAbsVelocity() + local pos = ufo.GetOrigin() + + if (pos.x - minigameLocation.x > xRange[1]) + { + vel.x = -abs(vel.x) + //ufo.KeyValueFromVector("origin", Vector(minigameLocation.x + xRange[1] - margin, pos.y, pos.z)) + } + else if (pos.x - minigameLocation.x < xRange[0]) + { + vel.x = abs(vel.x) + //ufo.KeyValueFromVector("origin", Vector(minigameLocation.x + xRange[0] + margin, pos.y, pos.z)) + } + + if (pos.y - minigameLocation.y > yRange[1]) + { + vel.y = -abs(vel.y) + //ufo.KeyValueFromVector("origin", Vector(pos.x, pos.y, minigameLocation.y + yRange[1] - margin)) + } + else if (pos.y - minigameLocation.y < yRange[0]) + { + vel.y = abs(vel.y) + //ufo.KeyValueFromVector("origin", Vector(pos.x, pos.y, minigameLocation.y + yRange[0] + margin)) + } + + ufo.SetAbsVelocity(vel) + +} + +function OnPrecache() +{ + PrecacheParticle("alien_abduction2") + PrecacheParticle("flamethrower") + PrecacheSound(beam_sound) + PrecacheScriptSound(find_sound) +} + +function OnCorrectTouch() +{ + local player = activator + + if (player.IsPlayer() && player.IsValid()) + { + local minidata = Ware_GetPlayerMiniData(player) + if(!("beamsound" in minidata)) + { + minidata.beamsound <- true + Ware_PlaySoundOnClient(player, Ware_MinigameScope.beam_sound, 0.25) + } + player.AddCond(TF_COND_SWIMMING_CURSE) + } +} +function OnTriggerEndTouch() +{ + local player = activator + + if (player.IsPlayer() && player.IsValid()) + { + player.RemoveCond(TF_COND_SWIMMING_CURSE) + player.RemoveCond(TF_COND_URINE) + } +} + +function OnEnd() +{ + foreach (player in Ware_MinigamePlayers) + { + player.RemoveCond(TF_COND_SWIMMING_CURSE) + player.RemoveCond(TF_COND_URINE) + } +} + +function OnEnterUFO() +{ + local player = activator + if (player) + { + Ware_TeleportPlayer(player, Ware_Location.beach.center, ang_zero, vec3_zero) + Ware_ShowScreenOverlay(player, null) + Ware_CreateTimer(function() + { + if (player) + { + player.EmitSound(Ware_MinigameScope.find_sound) + Ware_PassPlayer(player, true) + Ware_StripPlayer(player, true) + } + }, 0.1) + } +} + + +function CreateUFO() +{ + + + /*local trigger_push = Ware_SpawnEntity("trigger_push", + { + targetname = "ufo_lift_trigger_bottom" + origin = pos + pushdir = QAngle(-90, 0, 0) + speed = 550 + spawnflags = 1 + StartDisabled = 0 + })*/ + trigger_push.SetSize(Vector(-20, -20, 0), Vector(20, 20, 50)) + trigger_push.SetSolid(SOLID_BBOX) + EntFireByHandle(trigger_push, "Disable", "", 0.5, null, null) + ufo = FindByName(null, "ufo_tracktrain") + ufo.SetOrigin(Ware_MinigameLocation.center + Vector(0,0, 1600)) + + ufo.SetMoveType(MOVETYPE_FLY, MOVECOLLIDE_FLY_BOUNCE) + + Ware_SlapEntity(ufo, RandomFloat(200, 300)) + local vel = ufo.GetAbsVelocity() + vel = Vector(vel.x * 1, vel.y * 1, vel.z * 0) + ufo.SetAbsVelocity(vel) + + local particle = Ware_SpawnEntity("info_particle_system", + { + origin = Ware_MinigameLocation.center + Vector(0,0,500), + effect_name = "alien_abduction2", + start_active = true + }) + Ware_ChatPrint(null, "{int}", particle.GetOrigin()) + + //SetEntityParent(particle, ufo) + for (local ent; ent = FindByName(ent, "ufo_*");) + { + SetPropBool(ent, "m_bDisabled", true) + EntityAcceptInput(ent, "Enable") + SetPropBool(ent, "m_bActive", false) + //ent.SetDrawEnabled(true) + ent.ValidateScriptScope() + local scope = ent.GetScriptScope() + scope.OnStartTouch <- OnCorrectTouch + ent.ConnectOutput("OnStartTouch", "OnStartTouch") + ent.GetScriptScope().OnEndTouch <- OnTriggerEndTouch + ent.ConnectOutput("OnEndTouch", "OnEndTouch") + } + for (local ent; ent = FindByName(ent, "trigger_deposit*");) + { + SetPropBool(ent, "m_bDisabled", false) + EntityAcceptInput(ent, "Enable") + ent.ValidateScriptScope() + local scope = ent.GetScriptScope() + scope.OnStartTouch <- OnEnterUFO + ent.ConnectOutput("OnStartTouch", "OnStartTouch") + } + + //DispatchParticleEffect("alien_abduction2", Ware_MinigameLocation.center + Vector(0,0,1000), Vector()) + + +} + + +function OnEnd() +{ + local ufo = FindByName(null, "ufo_tracktrain") + ufo.SetOrigin(Vector(-1823, -7061, 1210)) +} \ No newline at end of file diff --git a/sound/tf2ware_ultimate/temp_inbeam_own.mp3 b/sound/tf2ware_ultimate/temp_inbeam_own.mp3 new file mode 100644 index 000000000..fa302c40e Binary files /dev/null and b/sound/tf2ware_ultimate/temp_inbeam_own.mp3 differ diff --git a/sound/tf2ware_ultimate/v3/music_minigame/mystery.mp3 b/sound/tf2ware_ultimate/v3/music_minigame/mystery.mp3 new file mode 100644 index 000000000..bca8fa364 Binary files /dev/null and b/sound/tf2ware_ultimate/v3/music_minigame/mystery.mp3 differ