AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Plugins (https://forums.alliedmods.net/forumdisplay.php?f=108)
-   -   [L4D2] Hulking Tank (https://forums.alliedmods.net/showthread.php?t=236191)

Mortiegama 02-28-2014 14:25

[L4D2] Hulking Tank
 
3 Attachment(s)
General

This plugin requires Sourcemod 1.5 or higher


Description

I'm working on new ideas for my Vicious Infected plugin. Rather than edit the entire plugin I've started to make smaller projects to assess just that particular set of abilities. I figured I'd release the small portions as I come up with them. Maybe even incorporate just the abilities for that particular class to ease the overall plugin.

Hulking Tank is designed to give the most terrifying infected in the game an even more horrific set of abilities. If you thought he was hard to deal with before, you haven't seen anything. With four abilities currently, the Tank can increase speed and damage while on fire, go into hibernation to restore its health, hurl boulders that explode when on fire, send massive shockwaves through the air like a fist, and unleash a titanic bellow to send Survivors flying.


Cvars

  • l4d_htm_burningrage: Enables the Burning Rage ability, Tank's movement speed increases when on fire.
  • l4d_htm_burningragefist: Enables the Burning Rage Fist ability, Tank deals extra damage when on fire.
  • l4d_htm_burningragespeed: How much of a speed boost does Burning Rage give. (Def 1.25)
  • l4d_htm_burningrageamount: Amount of extra damage done to Survivors while Tank is on fire. (Def 3)
  • l4d_htm_phantomtank: Enables the Phanton Tank ability, when spawning the Tank will be immune to damage and fire until a player takes control. (Def 1)
  • l4d_htm_phantomtankduration: Amount of time after a player takes control of the Tank that the damage and fire immunity ends. (Def 3.0)
  • l4d_htm_hibernation: Enables the Hibernation ability, Tank stops to hibernate and will regenerate health while taking extra damage.
  • l4d_htm_hibernationcooldown: Amount of time before the Tank can Hibernate again. (Def 120)
  • l4d_htm_hibernationdamage: Multiplier for damage received by Tank while Hibernating. (Def 2.0)
  • l4d_htm_hibernationduration: Amount of time the Hibernation will take before completion. (Def 10)
  • l4d_htm_hibernationregen: Amount of health the Tank will be set to once done Hibernating. (Def 6000.0)
  • l4d_htm_smoulderingearth: Enables the Smouldering Earth ability, Tank is able to throw a burning rock that explodes when hitting the ground.
  • l4d_htm_smoulderingearthdamage: Damage the exploding rock causes nearby Survivors. (Def 7)
  • l4d_htm_smoulderingearthrange: Area around the exploding rock that will reach Survivors. (Def 300.0)
  • l4d_htm_smoulderingearthpower: Amount of power behind the explosion. (Def 200.0)
  • l4d_htm_smoulderingearthtype: Type of rock thrown, 1 = Rock is always on fire, 2 = Rock only on fire if Tank is on fire. (Def 2)
  • l4d_htm_titanfist: Enables the Titan Fist ability, Tank is able to send out shockwaves through the air with its fist.
  • l4d_htm_titanfistcooldown: Amount of time before the Tank can send another Titan Fist shockwave. (Def 15)
  • l4d_htm_titanfistdamage: Amount of damage done to Survivors hit by the Titan Fist shockwave. (Def 5)
  • l4d_htm_titanfistincap: Enables the Titan Fist Incap ability, if a Survivor is incapped by the Tank punch they will still be flung. (Def 1)
  • l4d_htm_titanfistpower: Force behind the Titan Fist shockwave. (Def 200.0).
  • l4d_htm_titanfistrange: Distance the Titan Fist shockwave will travel. (Def 700.0)
  • l4d_htm_titanicbellow: Enables the Titanic Bellow ability, Tank is able to roar and send nearby Survivors flying or pull them to the Tank.
  • l4d_htm_titanicbellowcooldown: Amount of time between Titanic Bellows. (Def 5.0)
  • l4d_htm_titanicbellowdamage: Damage the force of the roar causes to nearby survivors. (Def 10)
  • l4d_htm_titanicbellowhealth: Amount of health the Tank must be below to use Titanic Belllow (0 = disabled). (Def 0)
  • l4d_htm_titanicbellowpower: Power behind the inner range of Methane Blast. (Def 300.0)
  • l4d_htm_titanicbellowrange: Area around the Tank the bellow will reach. (Def 700.0)
  • l4d_htm_titanicbellowtype: Type of roar, 1 = Survivors are pushed away from Tank, 2 = Survivors are pulled towards Tank.

Cvars


<*>To change these values edit the plugin.L4D2.HulkingTank.cfg in the CFG/Sourcemod folder.


Installation
  • Download and copy L4D2 Hulking Tank.smx to Addons/Sourcemod/Plugins
  • Download and copy l4d2addresses.txt to Addons/Sourcemod/Gamedata
  • Delete plugin.L4D2.HulkingTank.cfg from the CFG/Sourcemod folder.


Version History

Version 1.11 - (4/9/14)
<*>Added an ability for Titan Fist to always knock back Survivors when the tank punch incapacitates them
<*>Added an option to check health before allowing Titanic Bellow
<*>Added new ability: Phantom Tank - Tank spawns in a ghost mode immune to damage and fire
Version 1.1 - (3/1/14) - 150 Views
<*>Fixed an issue where entities were created when map wasn't running
<*>Changed the cooldown timer for Hibernation
<*>Removed some PrintToChat messages that were left
Version 1.0 - (2/28/14) - 21 Views
<*>Original launch of the plugin


Special Thanks

Karma - Tank Skill Roar
https://forums.alliedmods.net/showthread.php?t=126919

panxiaohai - Tank's Burning Rock
https://forums.alliedmods.net/showthread.php?t=139691

Mr. Zero - Ghost Tank Lite
https://forums.alliedmods.net/showthread.php?t=111997

Atomicstryker - SRS Mod (Tank Ignite)
https://forums.alliedmods.net/showthread.php?t=128581

Known Issues

<*>None

Munch 02-28-2014 15:19

Re: [L4D2] Hulking Tank
 
Shame it couldn't have been done without the need for a gamedata file as its bound to break soon, and probably at the next steam update thanks to the elves down at valve central or maybe that's Ogre's down at valve central...yea definitely Ogre's.

I just hope this doesn't clash with Super Tanks or the Tanks Helper plugin.

Munch 02-28-2014 15:42

Re: [L4D2] Hulking Tank
 
SWEET. This is so much better than the Tank-on-fire Speed Booster plugin.

EDIT: Duplicate Lable
cvarTitanFistCooldown = CreateConVar("l4d_htm_titanfistcooldown", "15", "Amount of time before the Tank can send another Titan Fist shockwave. (Def 15)", FCVAR_PLUGIN, true, 0.0, false, _);
cvarTitanFistDamage = CreateConVar("l4d_htm_titanfistdamage", "5", "Amount of time before the Tank can send another Titan Fist shockwave. (Def 15)", FCVAR_PLUGIN, true, 0.0, false, _);

Think it should be // Amount of damage the Tank does when sending Titan Fist shockwave. (Def 5)

EDIT 2: Might I suggest a minor alteration
I think Its always good practise to keep file names consistent, ie naming all relevant file names the same. I would rename "plugin.L4D2.HulkingTank.cfg" & "l4d2addresses.txt" to be the same as the smx & sp files "L4D2 Hulking Tank.???" in fact I would loose the "L4D2" as its easier to locate files when there all in alphabetical order. one look at a typical cfg folder often results in 2 or 3 alphabetical list's of config files...a real pain if you have loads of plugins.

PatriotGames 02-28-2014 17:56

Re: [L4D2] Hulking Tank
 
Mortiegama,

Thank you for creating these fun plugins. Yours are some of the best special infected mods available, in my oppinion.

Quote:

Originally Posted by Munch (Post 2105577)
EDIT 2: Might I suggest a minor alteration
I think Its always good practise to keep file names consistent, ie naming all relevant file names the same. I would rename "plugin.L4D2.HulkingTank.cfg" & "l4d2addresses.txt" to be the same as the smx & sp files "L4D2 Hulking Tank.???" in fact I would loose the "L4D2" as its easier to locate files when there all in alphabetical order. one look at a typical cfg folder often results in 2 or 3 alphabetical list's of config files...a real pain if you have loads of plugins.

Well said, Munch and I agree with your suggestion. If the server has a number of signature files in the gamedata folder it is much easier to identify which plugin they belong to if the signature file name reflects the plugin name.

Second, I understand the need to give plugins names that identify which game they are for here on the forums (e.g. L4D2 Hulking Tank). But once the plugin is installed does it really need to have a game tag as part of its defined name (i.e. [L4D2] Vicious Infected vs Vicious Infected)? After all, an srcds server only runs one game and the plugins installed there are only for that game, so adding a game tag to the plugin name seems redundant and makes for a messy "sm plugins list".

Munch, did you find any conflicts between Hulking Tank and Super Tanks?

Kind regards,

PG

Munch 02-28-2014 19:39

Re: [L4D2] Hulking Tank
 
None so far. Thought there may be an issue with l4d_htm_hibernationregen "6000.0" but haven't noticed any problems yet. The Tank Helper works too although it did take a while for me to notice, was beginning to think it clashed.

As for the game tag, and given its been listed as being a Left 4 Dead plugin which I suppose would require the L4D2 tag to differentiate it from Left 4 Dead 1, however a simple note to say its for L4D2 only would suffice. I've already made the changes necessary, naming all files "HulkingTank.???"

Sev 03-01-2014 07:12

Re: [L4D2] Hulking Tank
 
I'll have to take a look at this at some point.

Hopefully there are no issues right out of the gate with the plugin not checking for server.cfg cvar values, etc.

But we'll see.

Krufftys Killers 03-01-2014 09:54

Re: [L4D2] Hulking Tank
 
03/01/2014 - 05:59:34: SourceMod error session started
L 03/01/2014 - 05:59:34: Info (map "tumtara1") (file "errors_20140301.log")
L 03/01/2014 - 05:59:34: [SM] Native "CreateEntityByName" reported: Cannot create new entity when no map is running
L 03/01/2014 - 05:59:34: [SM] Displaying call stack trace for plugin "L4D2 Hulking Tank.smx":
L 03/01/2014 - 05:59:34: [SM] [0] Line 763, /home/groups/alliedmodders/forums/files/7/0/1/7/8/130998.attach::ShowParticle()
L 03/01/2014 - 05:59:34: [SM] [1] Line 590, /home/groups/alliedmodders/forums/files/7/0/1/7/8/130998.attach::OnEntityDestroyed()
L 03/01/2014 - 07:01:08: SourceMod error session started

Mortiegama 03-01-2014 10:57

Re: [L4D2] Hulking Tank
 
Quote:

Originally Posted by Munch (Post 2105577)
SWEET. This is so much better than the Tank-on-fire Speed Booster plugin.

EDIT: Duplicate Lable
cvarTitanFistCooldown = CreateConVar("l4d_htm_titanfistcooldown", "15", "Amount of time before the Tank can send another Titan Fist shockwave. (Def 15)", FCVAR_PLUGIN, true, 0.0, false, _);
cvarTitanFistDamage = CreateConVar("l4d_htm_titanfistdamage", "5", "Amount of time before the Tank can send another Titan Fist shockwave. (Def 15)", FCVAR_PLUGIN, true, 0.0, false, _);

Think it should be // Amount of damage the Tank does when sending Titan Fist shockwave. (Def 5)

EDIT 2: Might I suggest a minor alteration
I think Its always good practise to keep file names consistent, ie naming all relevant file names the same. I would rename "plugin.L4D2.HulkingTank.cfg" & "l4d2addresses.txt" to be the same as the smx & sp files "L4D2 Hulking Tank.???" in fact I would loose the "L4D2" as its easier to locate files when there all in alphabetical order. one look at a typical cfg folder often results in 2 or 3 alphabetical list's of config files...a real pain if you have loads of plugins.

Fixed the wrong label on the CFG file. As for the alterations it's not something that I'm looking to change. I'm a little OCD with my files and I've had them labeled L4D2.etc for five years so l can't bring myself to make a change. If you like though it's easy enough to edit the line to change the CFG file name (Line 116). The gamedata file is l4d2addresses.txt because I use the exact same gamedata file for all of my plugins. Rather than multiple files it's easier to just have one universal one. It would be nice if I didn't need the gamedata file, but the SDKCalls all require them and they're by far the best abilities.

Quote:

Originally Posted by PatriotGames (Post 2105652)
Mortiegama,

Thank you for creating these fun plugins. Yours are some of the best special infected mods available, in my oppinion.PG

Thank you, I appreciate the compliment.

Quote:

Originally Posted by Krufftys Killers (Post 2105855)
03/01/2014 - 05:59:34: SourceMod error session started
L 03/01/2014 - 05:59:34: Info (map "tumtara1") (file "errors_20140301.log")
L 03/01/2014 - 05:59:34: [SM] Native "CreateEntityByName" reported: Cannot create new entity when no map is running
L 03/01/2014 - 05:59:34: [SM] Displaying call stack trace for plugin "L4D2 Hulking Tank.smx":
L 03/01/2014 - 05:59:34: [SM] [0] Line 763, /home/groups/alliedmodders/forums/files/7/0/1/7/8/130998.attach::ShowParticle()
L 03/01/2014 - 05:59:34: [SM] [1] Line 590, /home/groups/alliedmodders/forums/files/7/0/1/7/8/130998.attach::OnEntityDestroyed()
L 03/01/2014 - 07:01:08: SourceMod error session started

Appears that the tank rock is created and destroyed before the map or after it is running. I put in a check to make sure that the map has started and I haven't seen the error again.

As for the other plugins, I can't say whether they're compatiable with Super Tanks. The Hibernation ability sets the Tank HP after he spawns so the initial HP set shouldn't be affected by this plugin.

Munch 03-01-2014 13:01

Re: [L4D2] Hulking Tank
 
Think you may have uploaded the wrong fix, .sp file still showing duplicate lable.

Mortiegama 03-01-2014 13:23

Re: [L4D2] Hulking Tank
 
Blast, I'll upload a new one when I'm on my PC again.

Edit: There we go, got the updated version up! I made changes and didn't hit "Save" >.>.


All times are GMT -4. The time now is 18:24.

Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.