1
0
mirror of https://github.com/JezuzLizard/BO2-Reimagined.git synced 2025-06-11 23:57:59 -05:00

Grief: points for downing enemy players

This commit is contained in:
Jbleezy
2021-12-06 22:07:59 -08:00
parent 657f170720
commit c988c7f666
3 changed files with 18 additions and 23 deletions

View File

@ -237,6 +237,7 @@
* Decreased stun time by enemy players from 0.75 seconds to 0.5 seconds * Decreased stun time by enemy players from 0.75 seconds to 0.5 seconds
* Players can be stunned by enemy players while already stunned * Players can be stunned by enemy players while already stunned
* Points awarded for stunning enemy players that are damaged * Points awarded for stunning enemy players that are damaged
* Points awarded for downing enemy players
* Landing on top of an enemy player downs them * Landing on top of an enemy player downs them
* Added player kill feed * Added player kill feed
* Teams win rounds by getting all enemy players down * Teams win rounds by getting all enemy players down

View File

@ -1747,15 +1747,7 @@ track_players_intersection_tracker()
{ {
if(getDvar("g_gametype") == "zgrief" && players[i]._encounters_team != players[j]._encounters_team) if(getDvar("g_gametype") == "zgrief" && players[i]._encounters_team != players[j]._encounters_team)
{ {
players[j] notify("new_griefer"); players[j] scripts/zm/_zm_reimagined_grief::store_damage_info(players[i], "none", "MOD_FALLING");
if(!isDefined(players[j].last_griefed_by))
{
players[j].last_griefed_by = spawnStruct();
}
players[j].last_griefed_by.attacker = players[i];
players[j].last_griefed_by.weapon = "none";
players[j].last_griefed_by.meansofdeath = "MOD_FALLING";
players[j] dodamage( 1000, (0, 0, 0) ); players[j] dodamage( 1000, (0, 0, 0) );
} }
@ -1765,15 +1757,7 @@ track_players_intersection_tracker()
{ {
if(getDvar("g_gametype") == "zgrief" && players[i]._encounters_team != players[j]._encounters_team) if(getDvar("g_gametype") == "zgrief" && players[i]._encounters_team != players[j]._encounters_team)
{ {
players[i] notify("new_griefer"); players[i] scripts/zm/_zm_reimagined_grief::store_damage_info(players[j], "none", "MOD_FALLING");
if(!isDefined(players[i].last_griefed_by))
{
players[i].last_griefed_by = spawnStruct();
}
players[i].last_griefed_by.attacker = players[j];
players[i].last_griefed_by.weapon = "none";
players[i].last_griefed_by.meansofdeath = "MOD_FALLING";
players[i] dodamage( 1000, (0, 0, 0) ); players[i] dodamage( 1000, (0, 0, 0) );
} }

View File

@ -55,7 +55,8 @@ on_player_downed()
{ {
self waittill( "entering_last_stand" ); self waittill( "entering_last_stand" );
self thread kill_feed(); self kill_feed();
self add_grief_downed_score();
} }
} }
@ -178,7 +179,6 @@ kill_feed()
if(isDefined(self.last_griefed_by)) if(isDefined(self.last_griefed_by))
{ {
obituary(self, self.last_griefed_by.attacker, self.last_griefed_by.weapon, self.last_griefed_by.meansofdeath); obituary(self, self.last_griefed_by.attacker, self.last_griefed_by.weapon, self.last_griefed_by.meansofdeath);
self.last_griefed_by = undefined;
} }
else else
{ {
@ -186,6 +186,14 @@ kill_feed()
} }
} }
add_grief_downed_score()
{
if(isDefined(self.score_lost_when_downed) && isDefined(self.last_griefed_by) && is_player_valid(self.last_griefed_by.attacker))
{
self.last_griefed_by.attacker maps/mp/zombies/_zm_score::add_to_player_score(self.score_lost_when_downed);
}
}
init_round_start_wait(time) init_round_start_wait(time)
{ {
flag_clear("spawn_zombies"); flag_clear("spawn_zombies");
@ -608,7 +616,7 @@ game_module_player_damage_callback( einflictor, eattacker, idamage, idflags, sme
self thread do_game_mode_shellshock(); self thread do_game_mode_shellshock();
self playsound( "zmb_player_hit_ding" ); self playsound( "zmb_player_hit_ding" );
self thread add_grief_score(eattacker); self thread add_grief_stun_score(eattacker);
self thread store_damage_info(eattacker, sweapon, smeansofdeath); self thread store_damage_info(eattacker, sweapon, smeansofdeath);
} }
} }
@ -625,7 +633,7 @@ do_game_mode_shellshock()
self._being_shellshocked = 0; self._being_shellshocked = 0;
} }
add_grief_score(attacker) add_grief_stun_score(attacker)
{ {
if(is_player_valid(attacker) && self.health < self.maxhealth) if(is_player_valid(attacker) && self.health < self.maxhealth)
{ {
@ -655,7 +663,9 @@ remove_damage_info()
self endon("new_griefer"); self endon("new_griefer");
self endon("disconnect"); self endon("disconnect");
while(is_true(self._being_shellshocked) || self.health < self.maxhealth) wait_network_frame(); // need to wait at least one frame
while((is_true(self._being_shellshocked) || self.health < self.maxhealth) && is_player_valid(self))
{ {
wait_network_frame(); wait_network_frame();
} }