mirror of
https://github.com/ChocoTaco1/TacoServer.git
synced 2026-07-12 22:54:33 +00:00
Bug fixes
This commit is contained in:
parent
defba0c1fd
commit
d3d59fe9dd
1 changed files with 28 additions and 22 deletions
|
|
@ -227,9 +227,12 @@ function DMGame::resetScore(%game, %client)
|
||||||
%client.score = 0;
|
%client.score = 0;
|
||||||
%client.efficiency = 0.0;
|
%client.efficiency = 0.0;
|
||||||
%client.suicides = 0;
|
%client.suicides = 0;
|
||||||
%client.scoreMidAir = 0;
|
%client.MidAir = 0;
|
||||||
%client.Bonus = 0;
|
%client.Bonus = 0;
|
||||||
|
%client.KillStreakBonus = 0;
|
||||||
|
|
||||||
%client.killCounter = 0;// not a score thing but needs to be reset
|
%client.killCounter = 0;// not a score thing but needs to be reset
|
||||||
|
%game.lastGuy = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
function DMGame::forceObserver( %game, %client, %reason )
|
function DMGame::forceObserver( %game, %client, %reason )
|
||||||
|
|
@ -254,8 +257,13 @@ function ProcessBonusDM(%game, %clVictim, %clKiller, %damageType, %implement, %d
|
||||||
if(%clKiller $= "")
|
if(%clKiller $= "")
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if(%clVictim !$= %clKiller)
|
if(%clVictim == %clKiller || %clVictim.lastDeathSuicide)
|
||||||
{
|
{
|
||||||
|
messageAll('Msgding', '\c2%1\'s Kill Streak has ended. No bonus rewarded.', %clVictim.name, %clVictim.killCounter);
|
||||||
|
%game.lastGuy = 0;
|
||||||
|
}
|
||||||
|
else if(%clVictim !$= %clKiller)
|
||||||
|
{
|
||||||
%temprampage = mfloor((%clVictim.killCounter - $DMGame::wpKillCount) * %game.SCORE_PER_KILLSTREAKBONUS);
|
%temprampage = mfloor((%clVictim.killCounter - $DMGame::wpKillCount) * %game.SCORE_PER_KILLSTREAKBONUS);
|
||||||
|
|
||||||
//single bonus
|
//single bonus
|
||||||
|
|
@ -285,11 +293,8 @@ function ProcessBonusDM(%game, %clVictim, %clKiller, %damageType, %implement, %d
|
||||||
messageClient(%clVictim, 'Msgding', '\c2%1 has ended your %2X Kill Streak.~wfx/misc/flag_lost.wav', %clKiller.name, %clVictim.killCounter);
|
messageClient(%clVictim, 'Msgding', '\c2%1 has ended your %2X Kill Streak.~wfx/misc/flag_lost.wav', %clKiller.name, %clVictim.killCounter);
|
||||||
}
|
}
|
||||||
Game.recalcScore(%clKiller);
|
Game.recalcScore(%clKiller);
|
||||||
|
%game.lastGuy = 0;
|
||||||
}
|
}
|
||||||
else if(%clVictim == %clKiller)
|
|
||||||
{
|
|
||||||
messageAll('Msgding', '\c2%1\'s Kill Streak has ended. No bonus rewarded.', %clVictim.name, %clVictim.killCounter);
|
|
||||||
}
|
|
||||||
for(%a = 0; %a < ClientGroup.getCount(); %a++)
|
for(%a = 0; %a < ClientGroup.getCount(); %a++)
|
||||||
{
|
{
|
||||||
%client = ClientGroup.getObject(%a);
|
%client = ClientGroup.getObject(%a);
|
||||||
|
|
@ -304,8 +309,9 @@ function ProcessBonusDM(%game, %clVictim, %clKiller, %damageType, %implement, %d
|
||||||
{
|
{
|
||||||
if(%game.lastGuy != %clKiller && %clVictim == %game.lastGuy)
|
if(%game.lastGuy != %clKiller && %clVictim == %game.lastGuy)
|
||||||
{
|
{
|
||||||
%clKiller.Bonus++;
|
%clKiller.Bonus++;
|
||||||
messageClient(%clKiller, 'MsgPingWaypoint', '\c2Bonus Target Count %1.~wfx/misc/~wfx/misc/flag_lost.wav',%clKiller.Bonus);
|
messageClient(%clKiller, 'MsgPingWaypoint', '\c2Bonus Target Count %1.~wfx/misc/~wfx/misc/flag_lost.wav',%clKiller.Bonus);
|
||||||
|
%game.lastGuy = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
%clKiller.killCounter++;
|
%clKiller.killCounter++;
|
||||||
|
|
@ -323,17 +329,9 @@ function ProcessBonusDM(%game, %clVictim, %clKiller, %damageType, %implement, %d
|
||||||
%bonusClient = %cl;// we have a new
|
%bonusClient = %cl;// we have a new
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(%bonusClient !$= 0 && %clKiller == %bonusClient)
|
if(%bonusClient !$= 0 && %clKiller == %bonusClient)
|
||||||
{
|
{
|
||||||
if(%bonusClient == %game.lastGuy)
|
if(%bonusClient !$= %game.lastGuy)
|
||||||
{
|
|
||||||
//give waypointed player a kill bonus
|
|
||||||
%bonusClient.KillStreakBonus++;
|
|
||||||
%bonusClient.scoreKillStreakBonus++;
|
|
||||||
messageClient(%bonusClient, 'MsgPingWaypoint', '\c2You\'ve increase your Kill Streak to %1!', %bonusClient.killCounter);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
for(%i = 0; %i < ClientGroup.getCount(); %i++)
|
for(%i = 0; %i < ClientGroup.getCount(); %i++)
|
||||||
{
|
{
|
||||||
|
|
@ -352,6 +350,13 @@ function ProcessBonusDM(%game, %clVictim, %clKiller, %damageType, %implement, %d
|
||||||
%bonusClient.isMarked = 1;
|
%bonusClient.isMarked = 1;
|
||||||
%game.lastGuy = %bonusClient;
|
%game.lastGuy = %bonusClient;
|
||||||
}
|
}
|
||||||
|
else if(%bonusClient == %game.lastGuy && %bonusClient.killCounter > 3)
|
||||||
|
{
|
||||||
|
//give waypointed player a kill bonus
|
||||||
|
%bonusClient.KillStreakBonus++;
|
||||||
|
%bonusClient.scoreKillStreakBonus++;
|
||||||
|
messageClient(%bonusClient, 'MsgPingWaypoint', '\c2You\'ve increase your Kill Streak to %1!', %bonusClient.killCounter);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
case 2: // player with the highest score
|
case 2: // player with the highest score
|
||||||
%bonusClient = 0;
|
%bonusClient = 0;
|
||||||
|
|
@ -464,7 +469,8 @@ DefaultGame::gameOver(%game);
|
||||||
|
|
||||||
cancel(%game.timeThread);
|
cancel(%game.timeThread);
|
||||||
messageAll('MsgClearObjHud', "");
|
messageAll('MsgClearObjHud', "");
|
||||||
for(%i = 0; %i < ClientGroup.getCount(); %i ++) {
|
for(%i = 0; %i < ClientGroup.getCount(); %i ++)
|
||||||
|
{
|
||||||
%client = ClientGroup.getObject(%i);
|
%client = ClientGroup.getObject(%i);
|
||||||
%game.resetScore(%client);
|
%game.resetScore(%client);
|
||||||
}
|
}
|
||||||
|
|
@ -717,12 +723,12 @@ package DMGame
|
||||||
//Other armors get more damage
|
//Other armors get more damage
|
||||||
if(%targetObject.client.armor $= "Medium")
|
if(%targetObject.client.armor $= "Medium")
|
||||||
{
|
{
|
||||||
%amount *= 1.3;
|
%amount *= 1.2;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(%targetObject.client.armor $= "Heavy")
|
if(%targetObject.client.armor $= "Heavy")
|
||||||
{
|
{
|
||||||
%amount *= 1.5;
|
%amount *= 1.4;
|
||||||
}
|
}
|
||||||
|
|
||||||
//error("Armor::damageObject( "@%data@", "@%targetObject@", "@%sourceObject@", "@%position@", "@%amount@", "@%damageType@", "@%momVec@" )");
|
//error("Armor::damageObject( "@%data@", "@%targetObject@", "@%sourceObject@", "@%position@", "@%amount@", "@%damageType@", "@%momVec@" )");
|
||||||
|
|
@ -943,7 +949,7 @@ function killEveryone(%ignore, %message)
|
||||||
// messageClient(%client, 'voteAlreadyRunning', '\c2A vote is already in progress.');
|
// messageClient(%client, 'voteAlreadyRunning', '\c2A vote is already in progress.');
|
||||||
// return;
|
// return;
|
||||||
// }
|
// }
|
||||||
// %actionMsg = ($Host::DMSLOnlyMode ? "disable Shocklance Only Mode" : "enable Shocklance Only Mode");
|
// %actionMsg = ($Host::DMSLOnlyMode ? "disable Shocklance Only Mode" : "enable Shocklance Only Mode");
|
||||||
// for(%idx = 0; %idx < ClientGroup.getCount(); %idx++)
|
// for(%idx = 0; %idx < ClientGroup.getCount(); %idx++)
|
||||||
// {
|
// {
|
||||||
// %cl = ClientGroup.getObject(%idx);
|
// %cl = ClientGroup.getObject(%idx);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue