// Freak Fortress 2
// ================
//
// Nitori Kawashiro
// Class: Engineer
// Script: SHADoW NiNE TR3S
// Model: Touhou Fortress 2
//
// HP: Normal
// Attack: Festive Wrench
// Superjump: Normal
// S-Jump Warmup: 0.9 Seconds (fast)
// S-Jump Cooldown: 3 seconds (fast)
// S-Jump Multiplier: 1.2x
// Rage: Drown nearby players
// Rage HP trigger: 2800HP
// Death Effect: Reverse Engineering
// Description: Given a construction PDA & wrangler to build an engy nest.
// 
// Description:
// REVERSE ENGINEERING.
// 

// Dependencies
// Dynamic Defaults: https://forums.alliedmods.net/showthread.php?t=258090
// Ability Management System: https://forums.alliedmods.net/showthread.php?t=267291
// TFConditions: https://forums.alliedmods.net/showthread.php?t=263598
// SHADoW93's Abilities: https://forums.alliedmods.net/showthread.php?t=258090

// BGM:
// Candid Friend: https://www.youtube.com/watch?v=1KkcwBE7vx0

"character"
{
	"name"					"Nitori Kawashiro"
	"class"					"9"	
	"model"					"models/player/nitori.mdl"
	"ragedist"				"1500.0"
	"maxspeed"				"300.0"
	"health_formula"			"(((500+n)*(n-1))^1.04)+2000"
	"ragedamage"				"3000"
	"sound_block_vo"			"1"
	"description_en" "Nitori Kawashiro:\nA shy Kappa engineer who is capable of manipulating water.\nSuper Jump: alt-fire, look up and stand up.\nWeigh-down: in midair, look down and crouch.\nAMS: Press RELOAD to cycle through abilities\nCall Medic to activate ability."
	
	"weapon1"
	{
		"name"				"tf_weapon_wrench"
		"index"				"662"
		"show"				"1"
		"attributes"			"95 ; 0 ; 276 ; 1 ; 286 ; 10 ; 287 ; 0.25 ; 295 ; 1  ; 321 ; 0.25 ; 343 ; 0.75 ; 353 ; 1 ; 2025 ; 1"
	}	

	"ability1"
	{
		"name" "dynamic_weighdown"
		
		// slot is ignored
		"arg1"	"0" // 1 = disabled by default (can only be re-enabled in code)
		"arg2"	"0" // number of uses. set to 0 to be infinite.
		"arg3"	"1.0" // the hale's normal gravity. this will practically always be 1.0
		
		// strings
		"arg19"	"You have used weighdown!"
		
		"plugin_name"	"ff2_dynamic_defaults"
	}
	"ability2"
	{
		"name" "dynamic_jump"

		// slot is ignored.
		"arg1"	"1.5" // charge time, same as charge_bravejump
		"arg2"	"5.0" // cooldown, same as charge_bravejump
		"arg3"	"0" // 1 = disabled by default (can only be re-enabled in code)
		"arg4"	"0" // number of uses. set to 0 to be infinite.
		"arg5"	"3.0" // cooldown before first use
		"arg6"	"100.0" // minimum damage before super duper jump
		"arg7"	"0" // use new jump
		"arg8"	"1.0" // jump intensity multiplier. unlike charge_bravejump, this works for oldjump too
		"arg9"	"0" // 1 = use RELOAD instead of ALT-FIRE
		"arg10"	"1" // don't affect weighdown's cooldown
		
		// HUD strings
		"arg17"	"Super DUPER Jump ready! Look up, press and release ALT-FIRE." // super duper jump message
		"arg18"	"Super Jump is not ready. %.1f seconds remaining." // cooldown message
		"arg19"	"Super Jump is ready. %.0f percent charged.\nLook up, press and release ALT-FIRE." // charge message

		"plugin_name"	"ff2_dynamic_defaults"
	}
	"ability3"
	{
		"name"	"ability_management_system"
		"arg1"	"0" // activation key. 0=E, 1=R, 2=MIDDLE MOUSE, 3=USE(not bound by default)
		"arg2"	"1" // selection key. 0=not usable, 1=R, 2=MIDDLE MOUSE, 3=USE(not bound by default)
		"arg3"	"3" // reverse selection key. 0=not usable, 1=R, 2=MIDDLE MOUSE, 3=USE(not bound by default) [note: hidden feature, keeping this standard going]
		"arg4"	"0xc00000" // HUD color (unavailable)
		"arg5"	"%s (%.0f rage) [RELOAD (R) to change]\n%s\nAbility is currently unavailable." // HUD text format (unavailable)
		"arg6"	"0xffffff" // HUD color (available)
		"arg7"	"%s (%.0f rage) [RELOAD (R) to change]\n%s\nAbility is available. (press E)" // HUD text format (available)
		"arg8"	"0.68" // HUD Y
		"arg9"	"RAGE Meter: %.0f%%\nHP: %d / %d" // HUD replacement text
		"arg10"	"0.80" // HUD replacement Y
		"plugin_name"	"ff2_sarysapub3"
	}
    "ability4"
    {
		"name"            "rage_buildable"
		"arg1"            "25"    // Buildable item index #
		"arg2"            "1"    // Hint Notification
		"arg3"            "1"    // Sound Notification
		"arg4"            "300"    // Metal (for engineers)
		"arg5"            "1"    // 0 = E rage, 1 = AMS ability
		// args reserved for the ability management system, if configured to be used with AMS.
		"arg1001"    "0.0" // delay before first use
		"arg1002"    "10.0" // cooldown
		"arg1003"    "Reverse Engineering" // name
		"arg1004"    "How did Nitori get a...sentry?" // description
		"arg1005"    "100" // rage cost
		"arg1006"    "0" // index for ability in the AMS menu
		"plugin_name"    "shadow93_abilities"
    }  
    "ability5"
	{
		"name"	"rage_tfcondition"
		"arg1" "86 ; 20" // Boss Conditions (TFCond ; Duration)
		"arg2" "86 ; 20" // Player Conditions (TFCond ; Duration)
		"arg3" "800" // Distance

		// Is this a normal E rage? or triggered from the ability management system?
		"arg4" "1"  // Trigger. 0 = E rage, 1 = triggered by ability management system

		// args reserved for the ability management system, if configured to be used with AMS.
		"arg1001"	"0.0" // delay before first use
		"arg1002"	"10.0" // cooldown
		"arg1003"	"Ooze Flooding" // name
		"arg1004"	"Everyone swims in....piss?" // description
		"arg1005"	"50" // rage cost
		"arg1006"	"1" // index for ability in the AMS menu
		"plugin_name"	"ff2_tfcond"
	}
	"ability6"
	{
		"name"	"rage_random_weapon"
		
		"arg1"	"1" // trigger. 0 = E rage, 1 = triggered by ability management system
		"arg2"	"1" // number of weapons (MAX: 10)
		"arg3"	"0.0" // weapon duration. set to 0.0 to keep it forever. (or until replaced)
		
		// all weapons below have the "no random critical hits" attribute
		// from arg11 and every 10 args after, specs for various weapons repeat
		"arg11"	"tf_weapon_rocketlauncher" // weapon name
		"arg12"	"812" // weapon index (ambassador)
		"arg13"	"15 ; 0.0 ; 1 ; 0.2 ; 97 ; 0.0 ; 411 ; 90 ; 413 ; 1.0 ; 6 ; 0.0" // weapon args (set to headshot for 360, body shot for 60)
		"arg14"	"1" // weapon visibility
		"arg15"	"255" // weapon alpha (0 = fully hidden, 255 = fully visible)
		"arg16"	"1" // weapon slot
		"arg17"	"0" //"454" // optional, wearable to use for bodygroup swaps
		"arg18"	"1" // starting clip
		"arg19"	"100" // starting reserve ammo

		// args reserved for the ability management system
		"arg1001"	"0.0" // delay before first use
		"arg1002"	"10.0" // cooldown
		"arg1003"	"Mini-Danmaku" // name
		"arg1004"	"Ok what was that all about?" // description
		"arg1005"	"75.0" // rage cost
		"arg1006"	"2" // index for ability in the AMS menu
		
		"plugin_name"	"ff2_sarysapub3"
	}
	// models, sounds, whatever come later
	"sound_begin"
	{
		"1"	"weapons/sentry_damage1.wav"
		"2"	"weapons/sentry_damage2.wav"
		"3"	"weapons/sentry_damage3.wav"
		"4"	"weapons/sentry_damage4.wav"
	}
	"sound_nextlife"
	{
		"1"	"ui/medic_alert.wav"
	}
	"sound_hit"
	{
		"1"	"weapons/wrench_hit_build_success1.wav"
		"2"	"weapons/wrench_hit_build_success2.wav"
	}
	"sound_kill_buildable"
	{
		"1" 	"weapons/sapper_removed.wav"
		"2"	"weapons/sentry_explode.wav"
	}
	"sound_kill_scout"
	{
		"1"	"freak_fortress_2/nitori/killscout2.mp3"
	}
	"sound_kill_soldier"
	{
		"1"	"freak_fortress_2/nitori/killsoldierdemo.mp3"
	}
	"sound_kill_demoman"
	{
		"1"	"freak_fortress_2/nitori/killsoldierdemo.mp3"
	}
	"sound_death"	
	{
		"1"	"freak_fortress_2/nitori/defeat.mp3"
	}
	"sound_win"	
	{
		"1"	"freak_fortress_2/nitori/victory1.mp3"
		"2"	"freak_fortress_2/nitori/victory2.mp3"
		"3"	"freak_fortress_2/nitori/victory3.mp3"
		"4"	"freak_fortress_2/nitori/victory4.mp3"
	}
	"sound_stabbed"
	{
		"1"	"freak_fortress_2/nitori/bkstab1.mp3"
		"2"	"freak_fortress_2/nitori/bkstab2.mp3"
	}
	"sound_precache"
	{
		"1"	"freak_fortress_2/nitori/candid_friend.mp3"

	}	
	"sound_bgm"
	{
		"path1"	"freak_fortress_2/nitori/candid_friend.mp3"
		"time1"	"286"
	}
	"mod_download"
	{
		"1"	"models/player/nitori"
	}
	"mat_download"
	{
		"1"	"materials/models/player/engineer/0ngineer_head_red"
		"2"	"materials/models/player/engineer/0ngineer_head_red_invun"
		"3"	"materials/models/player/engineer/0ngineer_red"
		"4"	"materials/models/player/engineer/0ngineer_red_invun"
		"5"	"materials/models/player/engineer/0ngineer_blue"
		"6"	"materials/models/player/engineer/0ngineer_blue_invun"
		"7"	"materials/models/player/engineer/0ngineer_head_blue"
		"8"	"materials/models/player/engineer/0ngineer_head_blue_invun"
	}
	"download"
	{		
		"1" "sound/freak_fortress_2/nitori/candid_friend.mp3"
		"2" "sound/freak_fortress_2/nitori/killscout.mp3"
		"3" "sound/freak_fortress_2/nitori/killsoldierdemo.mp3"
		"4" "sound/freak_fortress_2/nitori/defeat.mp3"
		"5" "sound/freak_fortress_2/nitori/victory1.mp3"
		"6" "sound/freak_fortress_2/nitori/victory2.mp3"
		"7" "sound/freak_fortress_2/nitori/victory3.mp3"
		"8" "sound/freak_fortress_2/nitori/victory4.mp3"
		"9" "sound/freak_fortress_2/nitori/bkstab1.mp3"
		"10" "sound/freak_fortress_2/nitori/bkstab2.mp3"
		"11" "materials/models/player/engineer/0ngineer_head_blue_invun_walpha.vmt"
		"12" "materials/models/player/engineer/0ngineer_head_red_invun_walpha.vmt"
		"13" "materials/models/player/engineer/0ngineer_head_red_walpha.vmt"
		"14" "materials/models/player/engineer/0ngineer_head_blue_walpha.vmt"
		"15" "materials/models/player/engineer/0ngineer_normal.vtf"
		"16" "materials/models/player/engineer/0yeball_l.vmt"
		"17" "materials/models/player/engineer/0yeball_r.vmt"
		"18" "materials/models/player/engineer/0ye-iris.vtf"
		"19" "materials/models/player/engineer/engineer_red_gib.vtf"
		"20" "materials/models/player/engineer/eyeball_invun.vmt"
		"21" "models/player/nitori.phy"
	}
}