Thread: TF2Classic
View Single Post
Author Message
CrancK
Senior Member
Join Date: Jan 2009
Location: Netherlands
Old 04-07-2009 , 12:26   TF2Classic
Reply With Quote #1

TF2Classic Mod

Four months ago, i stumbled across the tf2nades plugin on this website.
i was overjoyed to see that it was possible to bring a bit of tfc back to tf2,
but, it wasn't enough... so i added tf2turbo to the mix... but seeing as both were quite limited,
it wasn't enough...

so, from a desire to bring some core aspects of the way tfc played back
4 months were spent. Learning coding, and then the coding and tweaking and fixing itself.
And the result?

the TF2Classic Mod, which brings with it: Improved Bunnyhopping, Improved Nades, and some minor tweaks/balance things

Bunnyhopping:
PHP Code:
To bunnyhopjust press and hold jump. (its like a scripted bunnyhopwhich should make it accessible for anyone, as its
really easy now to 
do a basic bunnyhop)
Thisll give a minor boost everytime you jump depending on which mode bunnyhopping is in (default 1speed boost, default mode 3)

To accelerate quickerone can air-strafe turning and strafing toward one sidethen the other, and so on and so on
after a 
while, one would reach the cap, and one would not accelerate further.

This cap can be breached by 20%, if one crouches while bunnyhopping. (crouchbunnyhopping does not give the 1boost!)
If 
one goes quicker then the capbecause of saya rocketjumpthen ones speed would slowly go down towards the cap. (with a default rate of 0.915*curSpeed)

a special "feature" so to sayis the trimpjumpwhich is essentially a high jumpwhich can only be initiated if one is going
as quick, or quicker then the normal capby pressing forward while crouchbunnyhopping.
There is no cap on the speed that can be transferred by thisso one could potentially jump insanely high
Nades:
PHP Code:
-Every class has got 2 kinds of nadesfrags and special nades (though the medic is an exception)
-
Special nades are different for everyonewhereas all frags are identical.

-
Every nade has a sound by which one can hear them coming even from the back, and also clients can active
    a client
-side beep sound for their own nadesto make timing nades easier.

-
Clients can also use a command to show how many nades one has left of both the primary and secondary nades.(this can also show health)

-
Nades are NOT received on spawninstead one has to get them from Ressuply Cabinets and Ammopacks.

    -
Max amount of total nades carried is 6divided between primary and secondary nades, (ie3,or 2,or 4,2 though againthe medic is an exception, and atm the sniper is too)
    -
Ressulply Cabinets always gives a starting amount of nades
    
ieScout gets 2 conc nades and 1 frag, while a Soldier gets 2 frags and 1 nail nade
    
-Small Ammopacks give 2 frag nades or 1 of both kinds, or just 1 frag if you cant carry anymore
    
-Medium Ammopacks gives 2 nadeseither both kinds 1, or 2 of the same
    
-Large Ammopacks give 2 nades of either kind or less if you cant carry anymore

-One can either throw a nade instantly, or hold on to it for a bit
    
so the nade will explode quicker after throwing it (the act of priming, or cookinga nade)

-
Nades have a 4 second timer, and 0.5 second throwtimemeaning
    if 
you have the beeps enabled, (or using a nade which usually has beeps anyway)
    
beepbeepbeep... Boom!, and if one tries to throw a second nade after the first
    
one will have to wait 0.5 seconds after the first click to throw the nade


Frag Nade
, (everyone except medic):
Damage100-25 (noteall these ranges dont mean random damagethey mean falloff damagethe further away one is from the explosion the less damage
Use: the basic damage dealing nadealmost always usefull..)

Nail Nade, (class:soldiermax amount:2):
Nail Damage8
Explosion Damage
80-20 
Time Shooting Nails
about 5ish seconds
Use: This nadewhen it the first timer is finishedwill start shooting out nails in all directionsslowly hurting all enemies nearby,
    
after the forementioned 5ish secondsitll blow up, and deal an additional 80-20 damageusefull for clearing chokepoint, and for setting up temporary barriers
    though people can just take the damage 
and walk through it :P

MIRV Nade
, (Demo&Heavy3&2):
Initial explosion damage60-15
Secondary explosion damage
60-15
Use: after the mirv nade explodes for the first timeitll split up into multiple nadeswhich after their timer finished will blow up aswell,
    
foremost usefull against slow/non-moving targets (sentry farm anyone?), and for clearing chokepoints
    
Holy Hand Grenade
(or just Heal Nade), (Medic1):
Use: 
this nadeunlike all the othersheals all allies inside its radius fully instead of hurting them like the others,
    
obviously its uses are that it helps the medic survive longer, and could potentially help a medic heal people when theres no other way that they could
    
iemedic is too far away to heal normallybut can throw the nade further, or maybe the medic simply cant outheal the damage being donebut then chucks in a heal nade, and the person healed can happily frag on
    
Napalm Nade
, (Pyro3):
Damage20-5
Burn Damage
50
Use: the napalm nade is one of the better anti-group nadessince the burn-damage itself has no falloff damageyou either burn or you dont
    it can also be used in conjunction with the Axtinguisher to get crits
generally a very certainalbeit slow damaging nade.
    
Hallucination Nade, (Spy4):
Damage5
Time intoxicated
10-2.5 seconds
Use: the hallucination nade intoxicates peopleso that their screen goes all colorey, and moves from one position to the other...
    
people new to this effect will likely stop to move and be an easy kill, and even veterans would have at least a somewhat harder time killing you.
    
usefull for escapingbackstabbingsneaking past with disguise (people are probably not going to spycheck while intoxicatedthough maybe they should :P)
    
distractionwhatever...

EMP Nade, (Engineer4):
Damageammolost*50*ammolost/maxammo*(might not be exactly this formulabut this approximates it well enough)
Ammo Lost1/4 of current ammo of weapon equipped
Secondary Effects
Undisguises spies and removes all nades and projectiles within radius
Use: An extremely powerfull nadecapable of doing more damage then any other nadewith a major drawback.
    
it explodes in theory anyway 1/4 of anyones ammo of who is in rangewhich will cause damage related to the amount of ammo lost
    its drawback lies in the fact that it takes away ammo from the current weapon equipped
thus if one were to switch to ones melee
    weapon which has no ammo
one would get 0 damage this does not work for engies as they have metalbest choice is to go for shotgun then
    this however can be used by the engy
ieDemo tries to kill sentryengy emps himhe switched to meleeengy start shooting shotgundemo defenseless 
    
for at least the time it takes to switch forth and back through melee and gun.
    
Concussion Nade, (Scout&Medic4&2):
Damage10
Secondary Effect
pushes people awayThe further you are away from it, while still being inside its radiusthe further itll knock you away
Use: The famous concnadethe actual reason i started making these modsi wanted conc-jumping back, and i wanted it badly :P
    Its 
use lies in gaining speedjumping across/past enemies and/or knocking the enemies away from their position
    its basically a rocket
's explosion, but with lots less damage, and more knockback depending on how far youre away from the blast
    with these nades one can also do jump maps, and even though most of the ones out there right now arent even half as hard as the ones from tfc, theyll still definitly give you a challenge, because good conc jumping is really... really hard 
Tweaks:
PHP Code:
-Rocket speed 5quickerso rockets can more easily intercept quick moving targetsthey're now about as quick as demo nades
-Quad Jumping Possible, with the use of a cvar one can enable rockets to propel you further, making quad maps a possibility again, 
    and allowing soldiers to make it across conc and demo maps.
    -also quadjumping changes the way the explosion pushes you, 
    the point where one gets the most push is exactly between the middle of the explosion and the edge of the radius
-ability to turn fov up to 120 
Balance:
PHP Code:
most things here are changes which are not in the mod itselfbut are settings arleady changeable which balances some things a bit better for
this mod 
    
(though the mp_disable_respawn_times is a must i thinkit takes the focus away from dm, and puts it on the objectivessince killing a player wont do
    
much for the final outcomeafterall he comes back near-instantly anywayin this wayit might actually be better not to dm someone
    
just to be capable of getting the objectiveiescout going for flag will want all the hp he can get, and will want to get there, and back
    as 
quick as possiblethus he has no time/hp left for mindless fighting just for the sake of fightinghell only fight if he needs to in order to get the objective)

-
HP of everyone buffed by 2/5except scout who has 150 hp (ctx files)
-
Sentries: -37.5damage, +40hp (sm_cvar stuff)
-
mp_disable_respawn_times 1 (normal cvar)

and for 
ctf i reccomend :
tf_flag_caps_per_round 20
mp_winlimit 0
mp_maxrounds 0 
Also, be sure to try my CTFtweaks plugin with it for getting the complete ctf-tfc experience (http://forums.alliedmods.net/showthread.php?t=88782)(included in the complete package)
Also, be sure to try my Speedrunning plugin with it for getting the complete jump-tfc experience (http://forums.alliedmods.net/showthread.php?t=89512)

Cvars:

-Nades amounts:
PHP Code:
tf2c_nades_waitperiod1server waits for players on map start 1=true 0=false
tf2c_nades_emp_radius256radius for emp nade
tf2c_nades_emp_delay
3.0delay in seconds before nade explodes
tf2c_nades_emp_max
4max number of emp nades
tf2c_nades_emp_min
2number of emp nades given at start and at spawn lockers
tf2c_halluc_damage
5damage done by hallucination nade
tf2c_nades_hallucination_time10.0delay in seconds that effects last    
tf2c_nades_hallucination_radius
256radius for hallincation nade
tf2c_nades_hallucination_max
4max number of hallucination nades
tf2c_nades_hallucination_min
2number of hallucination nades given at start and at spawn lockers
tf2c_nades_napalm_damage
25initial damage for napalm nade
tf2c_nades_napalm_radius
256radius for napalm nade
tf2c_nades_napalm_max
3max number of napalm nades
tf2c_nades_napalm_min
2number of napalm nades given at start and at spawn lockers
tf2c_nades_health_delay
3.0delay in seconds before nade explodes
tf2c_nades_health_radius
384radius for health nade
tf2c_nades_health_max
1max number of health nades
tf2c_nades_health_min
1number of health nades given at start and at spawn lockers
tf2c_nades_mirv_spread
384.0spread of secondary explosives max speed    
tf2c_nades_mirv_damage2
60.0damage done by secondary explosion of mirv nade    
tf2c_nades_mirv_damage1
60.0damage done by main explosion of mirv nade
tf2c_nades_mirv_radius
128radius for demo's nade
tf2c_nades_mirv_heavy_min, 1, number of mirv nades given at start and at spawn lockers
tf2c_nades_mirv_heavy_max, 2, max number of mirv nades given to Heavy
tf2c_nades_mirv_demo_min, 2, number of mirv nades given at start and at spawn lockers
tf2c_nades_mirv_demo_max, 3, max number of mirv nades given to Demo
tf2c_nades_nail_explodedamage, 80.0, damage done by final explosion
tf2c_nades_nail_naildamage, 8.0, damage done by nail projectile
tf2c_nades_nail_radius, 256, radius for nail nade
tf2c_nades_nail_max, 2, max number of nail nades
tf2c_nades_nail_min, 1, number of nail nades given at start and at spawn lockers
tf2c_nades_conc_damage, 10, damage done by concussion nade, 
tf2c_nades_conc_force, 5, force applied by concussion nade, 
tf2c_nades_conc_delay, 3.0, delay in seconds before nade explodes
tf2c_nades_conc_radius, 256, radius for concussion nade
tf2c_nades_conc_max, 4, max number of conc nades
tf2c_nades_conc_min, 2, number of conc nades given at start and at spawn lockers
tf2c_nades_frag_damage, 100, damage done by concussion nade, 
tf2c_nades_frag_radius, 256, radius for concussion nade
tf2c_nades_frag_engineer_max, 2, max number of frag nades
tf2c_nades_frag_engineer_min, 1, number of frag nades given at start and at spawn lockers
tf2c_nades_frag_spy_max, 2, number of frag nades given
tf2c_nades_frag_spy_min, 1, number of frag nades given at start and at spawn lockers
tf2c_nades_frag_pyro_max, 3, number of frag nades given
tf2c_nades_frag_pyro_min, 2, number of frag nades given at start and at spawn lockers
tf2c_nades_frag_heavy_max, 4, number of frag nades given
tf2c_nades_frag_heavy_min, 2, number of frag nades given at start and at spawn lockers
tf2c_nades_frag_medic_max, 2, number of frag nades given
tf2c_nades_frag_medic_min, 1, number of frag nades given at start and at spawn lockers
tf2c_nades_frag_demo_max, 3, number of frag nades given
tf2c_nades_frag_demo_min, 2, number of frag nades given at start and at spawn lockers
tf2c_nades_frag_soldier_max, 4, number of frag nades given
tf2c_nades_frag_soldier_min, 2, number of frag nades given at start and at spawn lockers
tf2c_nades_frag_sniper_max, 3, number of frag nades given
tf2c_nades_frag_sniper_min, 2, number of frag nades given at start and at spawn lockers
tf2c_nades_frag_scout_max, 2, number of frag nades given
tf2c_nades_frag_scout_min, 1, number of frag nades given at start and at spawn lockers 
more cvars
PHP Code:
tf2c_nades_showdistance0shows distance to conc relative to radius1=radius (might be usefull for practicing perfect concs or rocketjumps)
tf2c_nades_blastdistancemin0.75minimum blast radius (has to do with concs, and the perfect spot to hit it )
tf2c_nades_hhincrement2.0speed gain from HH
tf2c_nades_soundEnabled
1.0nade sounds enabled on 1
tf2c_pickupsAllowed
1.0health nade pickups
tf2c_nades_selfbeep
1.0enables self-beep
tf2c_nades_showinfo
1enables health/nades display for clients
tf2c_jump_refill0Allow refill command for on jump maps
    
tf2c_speedometer
0ALWAYS show speedometer for all clients on 1
tf2c_speedometer_off0Never show speedometer for all clients on 0
tf2c_bhop_Mode3Changes how bunnyhopping increases speedfor normalfor only turning speedfor set speed 3 for set everything
tf2c_bhop_Increment
1.01Changes bunnyhop speedincrease if bhopMode is set to 2
tf2c_bhop_Cap
1.8Changes the bunnyhop speed cap if bhopMode is set to 2
tf2c_bhop_Slowdown
0.915in bhopmode 3, if above the bhopcapslow down rate
tf2c_selfdamageBoostX
1.1Changes the selfhurting increment horizontal
tf2c_selfdamageBoostY
1.1Changes the selfhurting increment vertical
tf2c_fovEnabled
1.0allows changing of fov
tf2c_rspeed
1.05Rocket speed mult
tf2c_power0.0explosionpower default = 4.0 or 0.0 (shouldn't be a difference, but there is, because the simulated explosion radius is just slightly, very slightly larger then the normal radius)
                    , quadjump = 16.0 or 12.0, (16.0 should be a real quadjump, and if people make maps especially for this then use 16, but for normal jump maps 16 is usually too much and 12 works better)
tf2c_quadradius, 128.0, radius of rocket explosion, 
tf2c_quadthreshold, 64.0, perfect point for max boost, in distance from middle of explosion, 
    
tf2c_version, PLUGIN_VERSION, TF2Classic Version, FCVAR_SPONLYFCVAR_REPLICATED
    
tf2c_hphud_interval, 5, How often health timer is updated in tenths of a second. 
Commands: (as with all sourcemods all commands are also available in chat by typing a ! or \ infront, ie: !tf2c_fov 115, or \tf2c_showinfo 3
PHP Code:
+nade1, for using primary nades
+nade2, for using secondary nades

tf2c_selfbeep
activates the client-side beeps for nades
tf2c_showinfo 
#, shows info on health/nades, 0=none, 1=all, 2=nades, 3=health (health is usefull for people with more hp then can be shown on the normal display)
tf2c_nades_refillRefill nades
tf2c_fov 
##, Set your FOV. min=1 max = 120 
Requirements:

Dukehacks
(a decent ping, if you've got a bad ping, then the valve antilag interpolation will screw you over while bunnyhopping,
thing is... the engine doesnt know you can bunnyhop, so it'll think you slow down tremendously, and client side, it'll look like that,
until it gets the delayed package from the server(because of the bad ping), telling the client that he was actually bunnyhopping, which makes for
a lot of teleportation client side, though for other people it'll look like bunnyhopping)


Credits & Thanks:

to L.Duke&Ceasium, for making excellent base plugins, from where i could start expanding and exploring the world of sourcemod
to Classy, for letting me use his server as testing grounds (is still running the complete package @ 217.163.31.14:27015)
to Typical, my no1 beta-tester, always ready and willing to help
to Lt. Llama & the euroskillz community, for providing information on mechanics of tfc

to all the people here on alliedmods who helped me and awnsered my questions

Install/Usage:

PHP Code:
Full package: (TF2ClassicCTFTweaks and Balance stuff)

simply put the folders with all their subfolders into the tf directory, and they should all go into place properly
(noteive added an autoexec.cfg file, (to activate the mods and such) if you already have onewhich youd like to keepyou probably
already know what to 
do anywayalso same goes for the ctx files)

Just TF2Classic (with balance stuff if you want it):

everything should go into place properly like the complete packagebut if you didnt know what id presumed you didthen heres what to do)
Place the TF2Classic.smx file in your tf/addons/sourcemod/pluginsdirectory
and place the soundmodels and materials directories in their respective places 
(the tf/soundtf/models and tf/materials directories for those who dont know)

place the autoexec.cfg in your tf/cfg folder, or if you already have one, or if you only want the mod and not the balance changes i've made
look into the .cfg file and add to your own whatever youd like

if you want the +2/5 hp boost, place the .ctx files in the tf/scripting/playerclasses directory (note, recommended to back the old ones up. also recommended to check if the ctx files are read-only, so they dont get overwritten every x restarts) 
Possible things for the future/bugs found:

-Louder sound for Nail & Fire nade
-Possibly tweaks to variables for balance, as the mod has been tested, but mainly for bugs...
-Adding the Bear Trap for the sniper as his special nade
-Possibly adding other stuff, if there's a demand for it.

edit: oops, forgot a sound file in the package, it is now reuploaded and doublechecked to have all the files

EDIT:

UPDATES:

-speedometer now in units
-cvar tf2c_startnades, for changing amount of nades on spawn
doors open quicker (though not all of them, only "func_door"s and prop_dynamics which have "door" in their name)
-some bug fixes..

-cvar for airacceleration tf2c_aa (lower value means it's harder to turn in air) 10 = default like in tf2, though i'd recommend 15 or 20 so you can actually turn without losing speed


UPDATE: Infection!

-multiple pain sounds for being hit
-bug & error fixes
-cvars for enabling bhop/trimp/pyrofly

-new skins for the nades, which look better with tf2's colour scheme, thanks to ampersand! (the old materials are in the materials.zip, the new ones come with the packages)

UPDATE:
-various bug/error fixes (still 1 error message at start of round or when someone joins, but so far, it's an inexplicable error)
-conc now properly pushes people away, even when they're on the ground, moving into the blast
-made all nades be thrown equally far

Update:
check: http://forums.alliedmods.net/showthr...t=89515&page=9

update: (bugfix)
http://forums.alliedmods.net/showthr...=89515&page=10

Update!!:
http://forums.alliedmods.net/showthr...024#post840024

edit: uploaded the .cfg file,
just put it in the cfg folder and add the line:

exec TF2Classic

somewhere in your server.cfg, and it should execute this file everytime the server starts up and/or changes map

it contains all the cvars settable for TF2Classic, +shows all the possible commands (i'll work on making the descriptions more descriptive)

note: the cfg file isnt in the packages yet, i'll do that once i get the next version/patch working/finished

UPDATE:

-Armor system added:

PHP Code:
3 different types of armor:
        -
Light, (scoutsniperspy) default: 40damage reduction100 max armor
        
-Medium (pyrodemoengymedic) default: 50damage reduction150 max armor
        
-Heavy (soldierheavy) default: 60damage reduction200 max armor
    Ways of obtaining armor 
(atm):
        -
Spawning
            
-gives armor according to tf2c_armor_startamount and tf2c_armor_****_max (where **** is either lightmedium or heavy)
        -
Ammopacks:
            
small10max armor
            medium
25max armor
            large
50max armor
        
-Ressuply Cabinets
            
-give upto spawn amount of armor
    Other
:
        -
Crits of any kind will ignore armor (i think also mini-crits)
        -
Falldamage ignores armor
        
-Drowning ignores armor
        
-and soon to come infection ignores armor 
-cvar for nade throwphysics
-cvar for falldamage reduction
Attached Files
File Type: zip materials.zip (113.1 KB, 789 views)
File Type: cfg cvars.cfg (10.3 KB, 917 views)
File Type: sp Get Plugin or Get Source (TF2Classic.sp - 913 views - 197.1 KB)
File Type: smx TF2Classic.smx (69.4 KB, 903 views)
File Type: zip TF2Classic.zip (1.36 MB, 1073 views)

Last edited by CrancK; 08-05-2009 at 15:15.
CrancK is offline