batfoxkid / freakfortressbat Goto Github PK
View Code? Open in Web Editor NEWNo longer supported.
Home Page: https://github.com/Batfoxkid/Freak-Fortress-2-Rewrite
License: GNU General Public License v3.0
No longer supported.
Home Page: https://github.com/Batfoxkid/Freak-Fortress-2-Rewrite
License: GNU General Public License v3.0
I actually already left that kind of issue, but idk if that caused by subplugin.
The actual bug - when shield breaks (on the setting 1, when it saves demo from 1 hit of anything and doesn't deal any damage and doesn't set debuffs on player), there's still no ACTUAL damage, but instead it applies debuffs through the breaking of the shield (mostly with bleed set through the attributes).
in ff2_error it spams Character xxxx is missing file xxxxxx.
However I check all the folder and every file is in the right place.
It happens even in Offical ff2 build. But client can successfully download the files though.
case 589: //Eureka Effect
{
if(!GetConVarBool(cvarEnableEurekaEffect)) //Disabled
{
Handle itemOverride=PrepareItemHandle(item, _, _, "2 ; 0.1", true);
if(itemOverride != INVALID_HANDLE)
{
item=itemOverride;
return Plugin_Changed;
}
}
}
ff2_enable_eureka "0"
Yet I can still use the Eureka Effect. wtf.
I did say in the AlliedModders thread that I won't be completely redoing FF2's code but I do want the opinions of server owners that should I replace timers with engine time? Benefit is that FF2 will run alot smoother, especially whenever the server lags. One hand is the known accident with SHADoW's fork which used this type of restructure but known to destroy itself. So just asking if server owners are willing to have the timers remade even with the past incident. (I may just end up having different branches and support both versions.)
so capture point plays too decisively(is that the word i am looking for) as it decideds the win/lose of a round out right,so what if we change it so it retains its ability to end rounds but makes it less insta win/lose(just some wild suggestions so i am looking for feedback for my feedback)
If RED team caps: all cappers get defense buff and full crits for 20 seconds + 500 overheal,hale gets stunned for 10s
If Boss team caps: Boss gets 20 seconds of minicrits,Boss' rage is locked for 5 seconds after he caps,all living RED players are teleported to boss after 5 seconds of CP being captured and are stunned for 3 seconds(Engineers are not teleported but their buildings are disabled for 15s and they cannot pick up or destroy buildings for the first 5s)
The point will reset to neutral and lock itself for 30s on capture.
also is it possible to make a cvar so all maps' control point capture time can be controlled by it?
sth like ff2_capture time 30 and all capture point will take 30 seconds to cap at x1 rate
Would be good if special_democharge could use cooldown argument (float type). Demopan will no longer be a pain to players.
Well... I'll just post this from my friend here:
"If ff2_bow_dmg_non is "0", then the damage from the taunt is not applied to the boss. If ff2_bow_dmg_mini "0", then the damage from the taunt under the mini-crit is not applied to the boss. The problem is that the damage from taunt directly depends on these variables. From all this it follows that in no way I can configure the damage from taunt. I propose to add three variables for the bow: the first will be responsible for the normal damage of mockery (default 500 damage, 0 must disable the usual damage from taunt), the second will be responsible for the damage of mockery damage under the mini-crit (default 675 damage, 0 must disable the damage under the mini-crit from taunt, -1 will ignore mini-crit (it means that if bow is mini-crited, taunt will do the damage, that wrote in previous variable)) and the third will be responsible for the damage of mockery under crit (0 must disable damage under crit from taunt, -1 will ignore crit (it means that if bow is crited, taunt will do the damage, that wrote in previous variables))
Example: full bow damage under crit 540 (120 * 3 * 1.5), in order to get the same damage from a noncritical arrow, I have to increase the damage by 4.5 times (4.5 * 120), because of this damage from taunt becomes 2250 (500 * 4.5). In order to take damage in 540, I have to increase the damage from the mini-crit by 3.3333 times (120 * 1.35 * 3.333), because of which the damage from taunt becomes ~ 2250 (3.3333 * 500 * 1, 35)
Bug (I think it is a bug) found by EL Grapes"
Bugs:
- Red players respawn when boss used minion spawn (bug from original FF2 + maybe subplugin problem)
- Sometimes music stops before music timer reached end (bug from original FF2)
- [freaks/ff2_1st_set_abilities.ff2] [FF2] Cannot give ammo to weapon tf_weapon_knife (boss )-check your config! (I know that this's subplugin problem but maybe you know any solution)
- From log:
L 01/20/2019 - 11:01:41: [SM] Exception reported: Attributes size out of bounds: 16 [0 ... 15]
L 01/20/2019 - 11:01:41: [SM] Blaming: freak_fortress_2.smx
L 01/20/2019 - 11:01:41: [SM] Call stack trace:
L 01/20/2019 - 11:01:41: [SM] [0] TF2Items_SetNumAttributes
L 01/20/2019 - 11:01:41: [SM] [1] Line 10040, D:\batfo_qrgut13\Servers\zsf\steamapps\common\Team Fortress 2 Dedicated Server\tf\addons\sourcemod\scripting\freak_fortress_2.sp::SpawnWeapon
L 01/20/2019 - 11:01:41: [SM] [2] Line 4963, D:\batfo_qrgut13\Servers\zsf\steamapps\common\Team Fortress 2 Dedicated Server\tf\addons\sourcemod\scripting\freak_fortress_2.sp::EquipBoss
L 01/20/2019 - 11:01:41: [SM] [3] Line 5147, D:\batfo_qrgut13\Servers\zsf\steamapps\common\Team Fortress 2 Dedicated Server\tf\addons\sourcemod\scripting\freak_fortress_2.sp::MakeBoss
Improvement:
- About translations here, from original FF2
(lazily merged it into one, sorry) (merged anything that you didn't do until now)
(will delete my additional posts if you ask, just to clean issue, or I can possibly move this to pull requests or something, idk)
(and also edited some notes)
I have a few further ideas for the fork:
Add a "StatTool" which gives admins an ability to look for statistics for every boss on server and stats for individual player on server (in case of boss balancing stats), like:
Add a "boss round blocker", "companion abuse blocker" and "boss map blocker";
Add a shield changer feature like boss settings (like shield with 25% resist for one boss and break only if hit is fatal for another) and/or like give player command to switch it (to give player an ability to choose between different playstyles with that shield); Maybe made 4 cases for shield-pick cvar, and for the last option (shield with resist and HP) make 4 additional cvars? Like HP, resistance percent and what kind of resistance it gives (ranged, melee or both), and do it breaks on fatal hit?
Add character names translation for the boss select and huds like a boss setting, like to improve the translations:
"name_en" "Blitzkrieg"
"name_ru" "Блицкриг";
(if it is possible) Make configurable Kunai HP-steal formula to pick without stabbing in the back and getting only 210 HP.
(if it is possible) Maybe do some overhaul to the "character.cfg" and to companions, just to "group them into a minipacks like this:
"FF2"
{
"1" "saxtonhale"
"seeduo"
{
"2" "seeman"
"3" "seeldier"
}
"4" "hhh_hale"
}
This can make companion sorting easier and can (maybe) give an ability to make custom duos-trio name packs, like "Seeduo: %nameone% became Seeman with %a% HP, %nametwo% became Seeldier with %b% HP", instead of doing "%nameone% became Seeman[DUO] with %a% HP"... you got the idea.
If you made some cvar like restore points for being companion, why not to add system like "restore points if boss instantly killed"? Like if you have a boss that anyone can kill under N seconds and boss really can't do anything (like I have Sans which works on tweaks with tfconditions, and there is rare cases when players can kill him right after the round starts). If this happens, player gets maximum queue points and start round again with that boss. If that possible, make something like additional boss settings, like "killstartroundtime", "killstartroundseconds", "killstartroundqueuepoints", and so on.
Add something like internal respawn like "[VSH] Lives" plugin, and boss settings about it (how much player can regen lives on this boss, can he regen lives, how much is cooldown between respawning, etc.). But if it is possible, it's just an idea anyway.
Class specific ragedamage and health formula is something like check all the classes in opposite team, and add additional HP and/or ragedamage limit HP, like:
You have a boss with default HP formula, but you see that some players already play vs this class as a heavies. So, to buff this boss against this classes you just add something like:
"health_formula_heavy" "5000", and your boss will have an additional 5000 HP to his health formula for every heavy in read team.
The same thing is about ragedamage.
Maybe set something like additional cvar for weapons in "weapons.cfg", which will make them always be crit-boosted, mini-crit-boosted or do normal damage, if attributes don't say another thing?
I think I would post all the bugs happens with your test version of Boss VS Boss, just to don't spam with any errors.
So, about the bug - all players (I tested it on bots, idk what happens if I will test it at live server) divides to two teams and boss player spawns only on BLU, no one spawns at RED team...
And also another bug - as I saw, if there are lesser than 16 players, all players spawns to the BLU team, lefting one player in RED team.
Backstab on new version of fork killing instantly, like original FF2 does some time.
Since I'm planning to add in the default bosses into the repository. I'm wondering if you guys want to see anything else along with bosses, such as adding in new freaks, adding some themes, adjusting some freaks, etc.
When round starts, CP unlocks immediately.
I have CVars:
ff2_point_alive "1"
ff2_point_type "0"
So CP must be unlocked only if there's 1 RED player left.
This bug appears since v1.18.2
Sorry for asking, but I still want to understand (since version 1.17.10 came out) - what is the "theme" boss setting, and what flags for it actually do? I think that it should be showed, because there is actually no details about it on your wiki.
in line 313
//ConVar cvarShuffleCharset;
the game plays too similar to arena since its either you kill the enemy mercs or get killed by enemy mercs which makes it a lot less ff2 but more like arena but with ff2 weapons
solution:make mercs cant damage each other but only bosses can damage mercs UNLESS one of the bosses is dead(gives the surviving players sth to do after they killed the other team's boss)
^
Would be good to implement wearables for bosses with class-based models.
Something like:
"wearable1"
{
"index" "WEARABLE INDEX HERE"
}
I know that there are subplugins that can change boss model and there will be conflict but we can make forward or something like that and add support for other subplugins.
This suggestion can help to save space and prevent stringtable PrecacheModel overflows (if you have a lot of .mdl). There's a lot of bosses that uses class-based models with attached wearables but these bosses always uses custom mdl file, not exist TF2 class models.
You can check this plugin for example. I know its a bit outdated and can have a lot of bugs but i once tested it and it was fine.
(Sorry for my stupid english)
(If it's a stupid idea, I'll close this issue)
i dont see it being needed in normal servers but i already did it on my "fork" with amateur ways so if you are interested just pm me lol
the real reason is that i am just lazy to compare changes between updates and add them to my "fork" ecks dee
Okay, I think I will just start a new issue for anyone who wants to public about bugs in that mode.
First bugs that we found with game on public server, and possibly an improvements:
//SourceMod Batch Compiler
// by the SourceMod Dev Team
//// freak_fortress_2.sp
//
// Unofficial Freak Fortress(4005) : error 139: could not find type "DetectionType"
// Unofficial Freak Fortress(4008) : error 017: undefined symbol "Detection_CvarViolation"
// Unofficial Freak Fortress(4487) : warning 213: tag mismatch
//
// 2 Errors.
//
// Compilation Time: 1.11 sec
// ----------------------------------------
Press enter to exit ...
I got this errors when I compile ff2 sp (I didn't change anything about code :C )
Possibly implement the WAY TOO outdated ff2 damage tracker plugin?
Link to original plugin
https://forums.alliedmods.net/showthread.php?t=196861
Could be a cool idea since this old plugin is seriously outdated
(also having the damage tracker be ON by default would be nice but only if you decide this is worth adding or not)
I believe with the new feature of spys being able to turn into bosses it breaks bosses who are able to disguise as red team players
example of the issue: http://prntscr.com/ob2ppm
Boss in use: Spyro
Hi.
We use this plugin on our servers and loving it.
But I relly need the win/loose data to be saved in a mysql database rather than to be saved to the clientpref.
There are a few reasons for this... Firstly I would like to put the top 5 on the motd and also for technical reasons i need to reset the clientprefs time to time and i don't want the win/loose to be reset.
Can you please add this option?
ff2_boss_keep = 1 saves client's boss choice to clientprefs, as i know.
So, if you override commands like /ff2boss and player has access to it, he can save own choice.
BUT his choice is not deleted after you disable access to /ff2boss.
So, would be good to clear saved boss choice, if client doesn't has access to /ff2boss command anymore.
in error log sourcemod spams these :
L 06/25/2019 - 00:03:56: [SM] Exception reported: Language phrase "unknown_artist" not found (arg 6) L 06/25/2019 - 00:03:56: [SM] Blaming: freak_fortress_2.smx L 06/25/2019 - 00:03:56: [SM] Call stack trace: L 06/25/2019 - 00:03:56: [SM] [0] Format L 06/25/2019 - 00:03:56: [SM] [1] Line 5257, Unofficial Freak Fortress::PlayBGM L 06/25/2019 - 00:03:56: [SM] [2] Line 5186, Unofficial Freak Fortress::Timer_PrepareBGM
however i double checked freak_fortress_2_prefs.phrases.txt and it seems fine to me. ff2_boss_selection is working fine.
freak_fortress_2_prefs.phrases.txt
Is it true that the System of difficulties originally had to be in a public release? Was it canceled?
Here's russian translation (and some fixes for phrases like "charge_status"). Check it and say if something must be modified. (Also i'm not sure about %% as % symbol)
Translation since 1.17.7.
Also i'm still waiting for translation fixes (change "%t" to "%T" where it's possible or use SetGlobalTransTarget() ).
EDIT: I've missed your commits about deleted v symbol for version display, so you can compare my txt with yours via Notepad++'s Compare plugin or something like that.
EDIT 2: It seems that CTeamControlPoint::GetTeamCapPercentage signature is broken on Windows.
L 08/11/2019 - 13:43:06: [SM] Plugin "freaks\shadow93_bosses.ff2" encountered error 23: Native detected error
L 08/11/2019 - 13:43:06: [SM] Invalid timer handle 870306b0 (error 3) during timer end, displayed function is timer callback, not the stack trace
L 08/11/2019 - 13:43:06: [SM] Unable to call function "GainLife" due to above error(s).
Would be good to implement ConVar that will change telefrag damage instead of hardcoding it.
L 06/24/2019 - 00:03:43: [SM] Exception reported: Menu handle 3eaa032a is invalid (error 3)
L 06/24/2019 - 00:03:43: [SM] Blaming: freak_fortress_2.smx
L 06/24/2019 - 00:03:43: [SM] Call stack trace:
L 06/24/2019 - 00:03:43: [SM] [0] RemoveMenuItem
L 06/24/2019 - 00:03:43: [SM] [1] Line 15265, Unofficial Freak Fortress::Timer_DisplayCharsetVote
It seems fine in sp file.
When the game is getting over a map end and get to vote for the boss pack, most of the player choose random and chat says it would be random. But after changing map the boss pack would most likely to be the first boss pack.
I simply named them BossPack1 BossPack2 and BossPack3.
And I have been playing BossPack1 for almost 4 or 5 maps.
So does it really be random or not?
Integrate plugin into core. Plugin described here.
L 09/27/2019 - 18:46:27: [SM] Blaming: freak_fortress_2.smx
L 09/27/2019 - 18:46:27: [SM] Call stack trace:
L 09/27/2019 - 18:46:27: [SM] [0] TF2Items_SetFlags
L 09/27/2019 - 18:46:27: [SM] [1] Line 8525, Unofficial Freak Fortress::PrepareItemHandle
L 09/27/2019 - 18:46:27: [SM] [2] Line 8327, Unofficial Freak Fortress::TF2Items_OnGiveNamedItem
L 09/27/2019 - 18:46:27: [SM] Exception reported: Invalid TF2ItemType handle 474b08d6 (error 3)
L 09/27/2019 - 18:46:27: [SM] Blaming: freak_fortress_2.smx
L 09/27/2019 - 18:46:27: [SM] Call stack trace:
L 09/27/2019 - 18:46:27: [SM] [0] TF2Items_SetFlags
L 09/27/2019 - 18:46:27: [SM] [1] Line 8525, Unofficial Freak Fortress::PrepareItemHandle
L 09/27/2019 - 18:46:27: [SM] [2] Line 7605, Unofficial Freak Fortress::TF2Items_OnGiveNamedItem
Weapons become original weapons...the attributes failed to added to the weapons
scp173 cannot move when in bright. it's good to have a "goombadamage" option in boss config.
Hello. Today I tried to create a boss that could be healed by medics. So, I found a bug.
Whenever the boss healed and have more than 1 live, he gets negative health that equals the product of life health and (number of current health - 2). After the boss gets any damage he loss all lifes except the last one.
Example: boss has 10 lifes with 1000 hp each life. When he is healed his health will be -8000 of 1000×10. When he get a little of damage his will be 1000 of 1000.
Waiting for fix. Thanks.
Just like https://forums.alliedmods.net/showthread.php?t=317754 said. Players don't care what they are voting and just pressing 1 to close that menu.
There's another strange thing, but when I downloading and compiling last builds by myself, plugin starts spam into console with messages like:
[FF2] You will become the boss soon. Type /ff2next to make sure.
[FF2] You will become the boss soon. Type /ff2next to make sure.
[FF2] You will become the boss soon. Type /ff2next to make sure.
Idk, with what it tangles, but when I download already compiled plugin, this bug isn't showing up.
Backstab issue appears again, people saying that comes from Spy-cicle + both Strange and default knives.
L 02/14/2019 - 20:22:41: [SM] Exception reported: Language phrase "Backstabed" not found (arg 4)
L 02/14/2019 - 20:22:41: [SM] Blaming: freak_fortress_2.smx
L 02/14/2019 - 20:22:41: [SM] Call stack trace:
L 02/14/2019 - 20:22:41: [SM] [0] PrintHintText
L 02/14/2019 - 20:22:41: [SM] [1] Line 10121, D:\batfo_qrgut13\Documents\SourceMod 1.9 Compiler\addons\sourcemod\scripting\freak_fortress_2.sp::OnTakeDamage
EDIT: My friend says that all knives except Your Eternal Reward backstabbing again.
EDIT 2: Also from my friend: some bosses can't be insta-stabbed, like Dragonborn (demoman), Nitori Kawashiro (engi), Herobrine (sniper) and Zombie Soldier (well, of course, soldier).
Weird error:
L 05/10/2019 - 21:47:42: [SM] Fatal error encountered parsing translation file "ff2_1st_set.phrases.txt"
L 05/10/2019 - 21:47:42: [SM] Error (line 0, column 0): Stream failed to open
Checked all sources that can load this leftover file, and found that this was loaded by ff2_death. Commented it and recompiled but error still appears.
Example of the issue
https://steamuserimages-a.akamaihd.net/ugc/773973314771442530/A1FEF8C471796025629084069C31058067ADFFAF/
Bosses in use : Dio Brando (the glitched model) Corrupted Engineer (the actual boss)
This bug is about as old as I can remember and really doesn't have to be put as a priority amoung other things but I thought i'd list it here as maybe a future fix
[SM] Exception reported: Array index out-of-bounds (index 201, limit 66)
[SM] Blaming: freak_fortress_2.smx
[SM] Call stack trace:
[SM] [1] Line 8423, D:\batfo_qrgut13\Servers\zsf\steamapps\common\Team Fortress 2 Dedicated Server\tf\addons\sourcemod\scripting\freak_fortress_2.sp::OnTakeDamage
Seems like you haven't set proper client index check so attacker is a map entity
I saw that one of the issues in new version that it removes the knockback. I have an idea - what about to make something like a ConVar that disables and enables the knockback?
Some issues with the translation file; people says that the uber-charge meter in russian (and possibly in english translation) doesn't work correctly.
"uber-charge"
// HUD
{
"#format" "{1:i}"
"en" "Ubercharge rate: {1}"
"ru" "Убер-заряд: {1}"
}
1.a cvar to adjust sentry damage to other team,if its 0 then it doesnt even lock on on enemy mercs
2.i forgot since its so long ago lol
`L 06/02/2019 - 13:12:43: [SM] Exception reported: Client index 2037935938 is invalid (arg 4)
L 06/02/2019 - 13:12:43: [SM] Blaming: freak_fortress_2.smx
L 06/02/2019 - 13:12:43: [SM] Call stack trace:
L 06/02/2019 - 13:12:43: [SM] [0] PrintHintText
L 06/02/2019 - 13:12:43: [SM] [1] Line 12101, Unofficial Freak Fortress::OnStomp
L 06/02/2019 - 13:12:43: [SM] [3] Call_Finish
L 06/02/2019 - 13:12:43: [SM] [4] Line 248, D:\dev\sourcemod\compile\goomba.sp::GoombaStomp
L 06/02/2019 - 13:12:43: [SM] [6] GoombaStomp
L 06/02/2019 - 13:12:43: [SM] [7] Line 121, D:\dev\sourcemod\compile\goomba_tf.sp::OnStartTouch`
Obviously the translations and the code have type mismatch
In these translations:
"Goomba Stomp Boss Player" // Hint, Annotation { "#format" "{1:N}" "en" "You goomba stomped {1}!" "ru" "Ты раздавил игрока {1}!" } "Goomba Stomped Player" // Hint, Annotation { "#format" "{1:N}" "en" "Ouch! {1} goomba stomped you! Watch your head!" "ru" "Ай! {1} раздавил тебя! Береги голову!" } "Goomba Stomped Boss Player" // Hint, Annotation { "#format" "{1:N}" "en" "{1} goomba stomped you!" "ru" "{1} раздавил тебя!" }
Replace "#format" "{1:N}"
with "#format" "{1:s}"
As we know, "sound_block_vo" works fine, but some taunt voicelines (like from new scout taunts) still can be heard. Maybe there's a way to block these VO?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.