Loot* = gold_gained; if ( victim$.IsAnyHumanPartyMember() ) if ( bUseGeneric$ == true )
{
screen_name = "PvP, teams";
description = "Team-based competition where the opposing teams players can hurt each other.";
automatic = true;
allow_player_kills = true;
{
friends = 0xFF00FF00;
enemies = 0xFFCA35CA;
}
{
minimum_teams = 2;
allow_alliances = true;
}
{
{
// any gametype specific stats being tracked?
// stat_name:screen_name = "Custom Stat";
}
{
// columns
0 = kills;
1 = kills_trend;
2 = human_kills;
3 = deaths;
}
{
// these are the different colums in
// each of the types of endgame stats.
// the first value is the page the stat is on it must match UIMultiplayer::EndGameGameGUICallback
// the second values are from s_GameStat in victory.cpp, they have to match!
Kills* = kills;
Kills* = human_kills;
Kills* = deaths;
Experience* = melee_gained;
Experience* = ranged_gained;
Experience* = cmagic_gained;
Experience* = nmagic_gained;
Experience* = experience_gained;
Loot* = loot_gained;
Loot* = loot_value;
}
}
{
{
screen_name* = "%s took a dirtnap.";
screen_name* = "%s has been vanquished.";
screen_name* = "%s has died honorably.";
screen_name* = "%s has fallen.";
screen_name* = "%s has been extinguished.";
screen_name* = "%s has decided to stop living for a while.";
screen_name* = "%s has temporarily stepped out of this life.";
screen_name* = "%s has been killed.";
screen_name* = "%s has died.";
screen_name* = "%s was mercilessly slaughtered.";
screen_name* = "%s has passed from this world to the next.";
screen_name* = "%s would probably love to be resurrected.";
screen_name* = "%s greets Death warmly.";
screen_name* = "%s has fallen in battle!";
screen_name* = "%s bought the farm house.";
screen_name* = "%s has fallen.";
screen_name* = "%s was sent packing.";
screen_name* = "%s's life fire has been snuffed.";
screen_name* = "%s kicked the bucket.";
screen_name* = "%s is pushing up daisies.";
screen_name* = "%s is deceased.";
screen_name* = "%s bit the big one.";
}
{
screen_name* = "%s met his maker.";
screen_name* = "%s met his doom.";
screen_name* = "%s has drawn his last breath.";
screen_name* = "%s was cut down in his prime.";
}
{
screen_name* = "%s met her maker.";
screen_name* = "%s met her doom.";
screen_name* = "%s has drawn her last breath.";
screen_name* = "%s was cut down in her prime.";
}
{
screen_name = "%s has taken the lead with %d kills!";
}
}
{
{
name = kill_limit;
screen_name = "Kill Limit";
default_value = 0;
exclusive = true; // game ends upon being reached.
}
}
//
// Game Script
skrit =
[[
check_team_for_victory$( int team$ )
{
int kill_limit$ = Victory.GetVictoryConditionValue( "kill_limit" );
if ( kill_limit$ >
{
if ( Victory.GetTeamStat( "human_kills", team$ ) >
{
Victory.SSetTeamVictoryConditionMet( "kill_limit", true, team$ );
}
}
}
handle_world_message$( WorldMessage msg$ )
{
if ( msg$.WorldEvent == WE_KILLED )
{
Go attacker$ = msg$.SendFrom.GetGo;
Go victim$ = msg$.GetSendTo.Go;
{
bool bUseGeneric$ = true;
if ( victim$.Actor.GetIsMale() )
{
int randomInt$ = math.RandomInt( 1, 20 );
if ( randomInt$ == 1 )
{
bUseGeneric$ = false;
Victory.SDisplayMessage1Party( "death_male", victim$ );
}
}
else
{
int randomInt$ = math.RandomInt( 1, 20 );
if ( randomInt$ == 1 )
{
bUseGeneric$ = false;
Victory.SDisplayMessage1Party( "death_female", victim$ );
}
}
{
Victory.SDisplayMessage1Party( "death_generic", victim$ );
}
}
/*
if ( (attacker$ != NULL) && (victim$ != NULL) &&
(attacker$.Player.Controller == PC_HUMAN) &&
(victim$.Player.Controller == PC_HUMAN) )
{
Victory.SIncrementStat( "player_kills", attacker$.Player, 1 );
int team_player_kills$ = Victory.GetTeamStat( "player_kills", attacker$.Player.Team );
int kill_limit$ = Victory.GetVictoryConditionValue( "kill_limit" );
if ( (kill_limit$ >
{
// kill limit reached
Victory.SetVictoryConditionMet( "kill_limit", true, attacker$.Player.Team );
}
}
*/
}
}
]];
}