AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Plugins (https://forums.alliedmods.net/forumdisplay.php?f=108)
-   -   [L4D2] Psychotic Witch (Updated: 2/10/17) (https://forums.alliedmods.net/showthread.php?t=236472)

Mortiegama 03-05-2014 14:53

[L4D2] Psychotic Witch (Updated: 2/10/17)
 
5 Attachment(s)
L4D2 - Psychotic Witch

General

This plugin requires Sourcemod 1.7 or higher
This plugin requires the attached Gamedata file


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.

Psychotic Witch is a plugin designed to reintroduce the most fearsome of the infected as a being of pure malevolence. It was important to crown or avoid the Witch at all costs, now that has become even more important. With nine special abilities, the Witch can take reduced damage to the head or body, become invisible, send Survivors in the path to her target flying, send survivors stumbling when she incaps her prey, insta-kill or B&W her incapped target, heal herself by feeding off a Survivor's life, drop a defib and medkit on death, and randomly changer her HP and Speed. Be ready to take fear to a new level...

  • Assimilation: When a Survivor is killed by the Witch, she raises them in her image, creating another Witch.
  • Death Helmet: The Witch places a hollowed out propane tank on her head to reduce damage to her brain.
  • Leeching Claw: When the Witch incaps a Survivor, she heals herself with some of their stolen life force.
  • Mood Swing: With her mood changes, the Witch also has a varied health and speed factor.
  • Nightmare Claw: When incapped by an enraged Witch the Survivor is either set to B&W or killed.
  • Psychotic Charge: The Witch will knock back any Survivors in her path while pursuing her victim.
  • Shameful Cloak: Distraught by what she has become, the Witch will try to hide her form from the world.
  • Sorrowful Remorse: When a Witch is killed, she leaves behind a Medkit and Defib as repetance for her actions.
  • Support Group: When the Witch is angered, her hateful shriek calls down a panic event.
  • Unrelenting Spirit: The Witch's spirit allows her to keep attacking despite damage.


Cvars

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


PHP Code:

// Enables Assimilation Ability: When a Survivor is killed by the Witch, she raises them in her image, creating another Witch. (Def 1)
// -
// Default: "1"
l4d_pwm_assimilation "1"

// Enables Death Helmet Ability: The Witch places a hollowed out propane tank on her head to reduce damage to her brain. (Def 1)
// -
// Default: "1"
l4d_pwm_deathhelmet "1"

// Percentage that damage to Witch's head is reduced. (Def 0.3)
// -
// Default: "0.3"
l4d_pwm_deathhelmetamount "0.3"

// Enables Leeching Claw ability: When the Witch incaps a Survivor, she heals herself with some of their stolen life force. (Def 1)
// -
// Default: "1"
l4d_pwm_leechingclaw "1"

// Amount of health to restore to the Witch after Leeching Claw. (Def 500)
// -
// Default: "500"
l4d_pwm_leechingclawamount "500"

// Enables Mood Swing ability: With her mood changes, the Witch also has a varied health and speed factor. (Def 1)
// -
// Default: "1"
l4d_pwm_moodswing "1"

// Maximum HP for the Witch. (Def 2000)
// -
// Default: "2000"
l4d_pwm_moodswinghpmax "2000"

// Minimum HP for the Witch. (Def 1000)
// -
// Default: "1000"
l4d_pwm_moodswinghpmin "1000"

// Maximum speed adjustment for the Witch. (Def 1.6)
// -
// Default: "1.6"
l4d_pwm_moodswingspeedmax "1.6"

// Minimum speed adjustment for the Witch. (Def 0.8)
// -
// Default: "0.8"
l4d_pwm_moodswingspeedmin "0.8"

// Enables Nightmare Claw ability: When incapped by an enraged Witch the Survivor is either set to B&W or killed. (Def 1)
// -
// Default: "1"
l4d_pwm_nightmareclaw "1"

// Type of Nightmare Claw: 1 = Survivor is set to B&W, 2 = Survivor is killed.
// -
// Default: "1"
// Minimum: "1.000000"
// Maximum: "2.000000"
l4d_pwm_nightmareclawtype "1"

// Enables Psychotic Charge ability: The Witch will knock back any Survivors in her path while pursuing her victim. (Def 1)
// -
// Default: "1"
l4d_pwm_psychoticcharge "1"

// Amount of damage the Witch causes when she hits a Survivor. (Def 10)
// -
// Default: "10"
l4d_pwm_psychoticchargedamage "10"

// Power a Survivor is hit with during Psychotic Charge. (Def 300)
// -
// Default: "300"
l4d_pwm_psychoticchargepower "300"

// How close a Survivor has to be to be hit by the Psychotic Charge. (Def 200)
// -
// Default: "200"
l4d_pwm_psychoticchargerange "200"

// Enables Shameful Cloak ability: Distraught by what she has become, the Witch will try to hide her form from the world. (Def 1)
// -
// Default: "1"
l4d_pwm_shamefulcloak "1"

// Chance the Witch will use Shameful Cloak when spawned. (Def 20)
// -
// Default: "20"
l4d_pwm_shamefulcloakchance "20"

// Modifies the visibility of the Witch while using Shameful Cloak. (0-255) (Def 0)
// -
// Default: "0"
// Minimum: "0.000000"
// Maximum: "255.000000"
l4d_pwm_shamefulcloakvisibility "0"

// Enables Slashing Wind ability: When the Witch incaps a Survivor it sends out a shockwave damaging and knocking back all Survivors. (Def 1)
// -
// Default: "1"
l4d_pwm_slashingwind "1"

// Amount of damage the Witch caused to Survivors within Slashing Wind range. (Def 5)
// -
// Default: "5"
l4d_pwm_slashingwinddamage "5"

// How close a Survivor has to be to be hit by the Slashing Wind. (Def 600)
// -
// Default: "500"
l4d_pwm_slashingwindrange "500"

// Enables Sorrowful Remorse ability: When a Witch is killed, she leaves behind a Medkit and Defib as repetance for her actions. (Def 0)
// -
// Default: "0"
l4d_pwm_sorrowfulremorse "0"

// Enables Support Group ability: When the Witch is angered, her hateful shriek calls down a panic event. (Def 1)
// -
// Default: "1"
l4d_pwm_supportgroup "1"

// Enables Unrelenting Spirit ability: The Witch's spirit allows her to keep attacking despite damage. (Def 1)
// -
// Default: "1"
l4d_pwm_unrelentingspirit "1"

// Percent of damage to the Witch reduced by Unrelenting Spirit. (Def 0.7)
// -
// Default: "0.7"
l4d_pwm_unrelentingspiritamount "0.7" 




Installation
  • Download and copy L4D2 Psychotic Witch.smx to Addons/Sourcemod/Plugins
  • Download and copy l4d2_viciousplugins.txt to Addons/Sourcemod/Gamedata
  • Delete plugin.L4D2.PsychoticWitch.cfg from the CFG/Sourcemod folder.



Version History

Code:

Version 1.2 - (2/8/17)
- Edited significant amount of code
- Added new ability: Assimilation
Version 1.15 - (4/28/14) - 675 Views
- Fixed some errors from not checking entity correctly
Version 1.14 - (4/22/14) - 11 Views
- Added checks to make sure plugin stops when the server is loading
Version 1.13 - (3/26/14) - 31 Views
- Attempted to fix a problem with servers hard crashing
Version 1.12 - (3/14/14) - 32 Views
- Attempted to fix problems with Boomer B**** Slap
Version 1.11 - (3/12/14) - 10 Views
- Fixed a few more bugs
- Added extra check for valid clients in Psychotic Charge
Version 1.1 - (3/6/14) - 36 Views
- Fixed a bug caused by terror_player_manager
Version 1.0 - (3/5/14) - 10 Views
- Original launch of the plugin

Special Thanks

AtomicStryker - Boomer Bit** Slap:
https://forums.alliedmods.net/showthread.php?t=97952

AtomicStryker - Damage Mod (SDK Hooks):
https://forums.alliedmods.net/showthread.php?p=1184761



Known Issues

<*>None


Sev 03-05-2014 15:07

Re: [L4D2] Psychotic Witch
 
Nice.

I've been waiting for someone to take control of another witch plugin.

Hopefully there are no conflicts with the witch control plugin, although it would be nice if you incorporated that functionality in this plugin. Although I would understand if this is intended for the AI witch only.

The only suggestion I'd make is possibly finding another way to make her randomly attack and down all survivors without using the gimmick used by other such plugins, such as replacing the witch with a new witch or biling the witch causing the witch to have a horde with her while re targeting.

Krufftys Killers 03-06-2014 07:48

Re: [L4D2] Psychotic Witch
 
L 03/06/2014 - 00:27:52: SourceMod error session started
L 03/06/2014 - 00:27:52: Info (map "saltwell_1_d") (file "errors_20140306.log")
L 03/06/2014 - 00:27:52: [SM] Native "SetEntProp" reported: Property "m_nRenderFX" not found (entity 39/terror_player_manager)
L 03/06/2014 - 00:27:52: [SM] Displaying call stack trace for plugin "L4D2 Psychotic Witch.smx":
L 03/06/2014 - 00:27:52: [SM] [0] Line 370, /groups/sourcemod/compiler-1.5/include/entity_prop_stocks.inc::SetEntityRenderFx()
L 03/06/2014 - 00:27:52: [SM] [1] Line 503, /home/groups/alliedmodders/forums/files/7/0/1/7/8/131179.attach::Timer_WitchSpawn()
L 03/06/2014 - 00:49:06: Error log file session closed.

Mortiegama 03-06-2014 12:16

Re: [L4D2] Psychotic Witch
 
Quote:

Originally Posted by Sev (Post 2107939)
Nice.

I've been waiting for someone to take control of another witch plugin.

Hopefully there are no conflicts with the witch control plugin, although it would be nice if you incorporated that functionality in this plugin. Although I would understand if this is intended for the AI witch only.

The only suggestion I'd make is possibly finding another way to make her randomly attack and down all survivors without using the gimmick used by other such plugins, such as replacing the witch with a new witch or biling the witch causing the witch to have a horde with her while re targeting.

The Witch Control plugin works with this one, that's actually how I was able to verify this plugin worked. Adapting it however I wouldn't likely seek to do, that plugin is VERY buggy.

I'm not sure there's a better way to get the Witch to attack another target, but I'll search around for a few things and see what I can find.

Quote:

Originally Posted by Krufftys Killers (Post 2108215)
L 03/06/2014 - 00:27:52: SourceMod error session started
L 03/06/2014 - 00:27:52: Info (map "saltwell_1_d") (file "errors_20140306.log")
L 03/06/2014 - 00:27:52: [SM] Native "SetEntProp" reported: Property "m_nRenderFX" not found (entity 39/terror_player_manager)
L 03/06/2014 - 00:27:52: [SM] Displaying call stack trace for plugin "L4D2 Psychotic Witch.smx":
L 03/06/2014 - 00:27:52: [SM] [0] Line 370, /groups/sourcemod/compiler-1.5/include/entity_prop_stocks.inc::SetEntityRenderFx()
L 03/06/2014 - 00:27:52: [SM] [1] Line 503, /home/groups/alliedmodders/forums/files/7/0/1/7/8/131179.attach::Timer_WitchSpawn()
L 03/06/2014 - 00:49:06: Error log file session closed.

Fixed this error, need to make sure that the terror_player_manager was not 0.

PatriotGames 03-06-2014 19:21

Re: [L4D2] Psychotic Witch
 
Mortiegama,

Glad to see you have released a witch plugin! Will be testing it today.

Is there any way you can add the "Witch's support group" functionality found in your Vicious Infected plugin? Having the option to summon a hoard when this psychotic witch is angered would be icing on the cake.

Regards,

PG

Krufftys Killers 03-11-2014 19:22

Re: [L4D2] Psychotic Witch
 
L 03/11/2014 - 15:29:55: [SM] Native "SDKCall" reported: Client 1 is not in game
L 03/11/2014 - 15:29:55: [SM] Displaying call stack trace for plugin "L4D2 Psychotic Witch.smx":
L 03/11/2014 - 15:29:55: [SM] [0] Line 448, C:\Users\Kruffty\Desktop\addons\sourcemod\scr ipting\L4D2 Psychotic Witch.sp::Fling_PsychoticCharge()
L 03/11/2014 - 15:29:55: [SM] [1] Line 418, C:\Users\Kruffty\Desktop\addons\sourcemod\scr ipting\L4D2 Psychotic Witch.sp::Timer_PsychoticCharge()

gajo0650 03-11-2014 22:16

Re: [L4D2] Psychotic Witch
 
error log attached.

PHP Code:

L 03/11/2014 14:39:17: [SMNative "GetEntPropVector" reportedProperty "m_vecOrigin" not found (entity 53/instanced_scripted_scene)
L 03/11/2014 14:39:17: [SMDisplaying call stack trace for plugin "l4d2_psychotic_witch.smx":
L 03/11/2014 14:39:17: [SM]   [0]  Line 382l4d2_psychotic_witch.sp::Timer_PsychoticCharge()

L 03/11/2014 14:55:34: [SMNative "GetEntPropVector" reportedProperty "m_vecOrigin" not found (entity 162/instanced_scripted_scene)
L 03/11/2014 14:55:34: [SMDisplaying call stack trace for plugin "l4d2_psychotic_witch.smx":
L 03/11/2014 14:55:34: [SM]   [0]  Line 382l4d2_psychotic_witch.sp::Timer_PsychoticCharge() 


Mortiegama 03-12-2014 08:50

Re: [L4D2] Psychotic Witch
 
Quote:

Originally Posted by PatriotGames (Post 2108485)
Mortiegama,

Glad to see you have released a witch plugin! Will be testing it today.

Is there any way you can add the "Witch's support group" functionality found in your Vicious Infected plugin? Having the option to summon a hoard when this psychotic witch is angered would be icing on the cake.

Regards,

PG

Added the Support Group ability.

Quote:

Originally Posted by Krufftys Killers (Post 2110654)
L 03/11/2014 - 15:29:55: [SM] Native "SDKCall" reported: Client 1 is not in game
L 03/11/2014 - 15:29:55: [SM] Displaying call stack trace for plugin "L4D2 Psychotic Witch.smx":
L 03/11/2014 - 15:29:55: [SM] [0] Line 448, C:\Users\Kruffty\Desktop\addons\sourcemod\scr ipting\L4D2 Psychotic Witch.sp::Fling_PsychoticCharge()
L 03/11/2014 - 15:29:55: [SM] [1] Line 418, C:\Users\Kruffty\Desktop\addons\sourcemod\scr ipting\L4D2 Psychotic Witch.sp::Timer_PsychoticCharge()

I wasn't checking if the harasser was a valid client. Added in an extra check and should be working.

Quote:

Originally Posted by gajo0650 (Post 2110682)
error log attached.

PHP Code:

L 03/11/2014 14:39:17: [SMNative "GetEntPropVector" reportedProperty "m_vecOrigin" not found (entity 53/instanced_scripted_scene)
L 03/11/2014 14:39:17: [SMDisplaying call stack trace for plugin "l4d2_psychotic_witch.smx":
L 03/11/2014 14:39:17: [SM]   [0]  Line 382l4d2_psychotic_witch.sp::Timer_PsychoticCharge()

L 03/11/2014 14:55:34: [SMNative "GetEntPropVector" reportedProperty "m_vecOrigin" not found (entity 162/instanced_scripted_scene)
L 03/11/2014 14:55:34: [SMDisplaying call stack trace for plugin "l4d2_psychotic_witch.smx":
L 03/11/2014 14:55:34: [SM]   [0]  Line 382l4d2_psychotic_witch.sp::Timer_PsychoticCharge() 


Added in an extra string check to make sure this wasn't getting called.

PatriotGames 03-13-2014 19:47

Re: [L4D2] Psychotic Witch (Updated: 3/12/14)
 
Thank you for adding the Witch's support group functionality! Really appreciate it.

While running Psychotic Witch on my 8-player coop server I found it conflicts with the Boomer B**** Slap plugin due to both plugins using "l4d2addresses.txt" for their respective gamedata files. Players would suddenly get knocked down repeatedly for no apparent reason, which seems like the Boomer slap was firing erroneously.

For a workaround, I will edit the Boomer Slap source and change its gamedata file name, then test again.

Thanks again for all of you work on these great plugins.

PG

Mortiegama 03-13-2014 20:56

Re: [L4D2] Psychotic Witch (Updated: 3/12/14)
 
Quote:

Originally Posted by PatriotGames (Post 2111112)
Thank you for adding the Witch's support group functionality! Really appreciate it.

While running Psychotic Witch on my 8-player coop server I found it conflicts with the Boomer B**** Slap plugin due to both plugins using "l4d2addresses.txt" for their respective gamedata files. Players would suddenly get knocked down repeatedly for no apparent reason, which seems like the Boomer slap was firing erroneously.

For a workaround, I will edit the Boomer Slap source and change its gamedata file name, then test again.

Thanks again for all of you work on these great plugins.

PG

You can use my game data file for both. I used Atomics and updated a few signatures.


All times are GMT -4. The time now is 07:21.

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