Initial upload
Initial upload.
This commit is contained in:
126
_module/nss/moveevil_sc.nss
Normal file
126
_module/nss/moveevil_sc.nss
Normal file
@@ -0,0 +1,126 @@
|
||||
// this function ripped from contest of champions
|
||||
void ApplyFlagEffect( object oPlayer )
|
||||
{
|
||||
int nTeam, nVisEffect;
|
||||
effect eFlagEffect;
|
||||
|
||||
// nTeam = GetPlayerTeam(oPlayer);
|
||||
|
||||
|
||||
// if ( nTeam == TEAM_BLUE )
|
||||
// {
|
||||
// nVisEffect = VFX_DUR_FLAG_BLUE;
|
||||
// }
|
||||
// else if ( nTeam == TEAM_RED )
|
||||
// {
|
||||
nVisEffect = VFX_DUR_FLAG_RED;
|
||||
// }
|
||||
// else if ( nTeam == TEAM_GOLD )
|
||||
// {
|
||||
// nVisEffect = VFX_DUR_FLAG_PURPLE;
|
||||
// }
|
||||
// else if ( nTeam == TEAM_PURPLE )
|
||||
// {
|
||||
// nVisEffect = VFX_DUR_FLAG_GOLD;
|
||||
// }
|
||||
|
||||
eFlagEffect = EffectVisualEffect(nVisEffect);
|
||||
eFlagEffect = SupernaturalEffect(eFlagEffect);
|
||||
|
||||
ApplyEffectToObject(DURATION_TYPE_PERMANENT,eFlagEffect,oPlayer);
|
||||
PlaySound("as_mg_telepout1");
|
||||
}
|
||||
|
||||
// good = 1, evil = 2
|
||||
|
||||
void AddPlayerToTeam( int nTeam, object oPlayer )
|
||||
{
|
||||
// int nNumPlayers, nCount;
|
||||
// string sAreaTag;
|
||||
// object oArea;
|
||||
//
|
||||
// nNumPlayers = GetTeamData(nTeam,TEAM_NUM_PLAYERS);
|
||||
//
|
||||
SetLocalInt(oPlayer,"m_nTeam",nTeam);
|
||||
//
|
||||
// SetTeamData(nTeam,TEAM_NUM_PLAYERS,nNumPlayers + 1);
|
||||
//
|
||||
// // Signal an event to each team's HQ to add a counter
|
||||
// // for the number of players on a team.
|
||||
// for ( nCount = 0; nCount < GetMaxTeams(); nCount++ )
|
||||
// {
|
||||
// sAreaTag = "Team_" + IntToString(nCount) + "_HQ";
|
||||
// oArea = GetObjectByTag(sAreaTag);
|
||||
//
|
||||
// if ( GetIsObjectValid(oArea) == TRUE )
|
||||
// {
|
||||
// SignalEvent(oArea,EventUserDefined(EVENT_ADD_PLAYER_TO_TEAM + nTeam));
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// Loop through all other players in the game
|
||||
// and set up the likes/dislikes appropriately.
|
||||
object oPC;
|
||||
int nPTeam;
|
||||
|
||||
oPC = GetFirstPC();
|
||||
while ( GetIsObjectValid(oPC) == TRUE )
|
||||
{
|
||||
if ( oPC != oPlayer )
|
||||
{
|
||||
nPTeam = GetLocalInt(oPC,"m_nTeam");
|
||||
if ( nPTeam == nTeam )
|
||||
{
|
||||
SetPCLike(oPlayer,oPC);
|
||||
SetPCLike(oPC,oPlayer);
|
||||
}
|
||||
else
|
||||
{
|
||||
SetPCDislike(oPlayer,oPC);
|
||||
SetPCDislike(oPC,oPlayer);
|
||||
}
|
||||
}
|
||||
|
||||
oPC = GetNextPC();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
// Move individual to new location
|
||||
location lNewLocation = GetLocation(GetObjectByTag("EvilSpawn"));
|
||||
object oTarget;
|
||||
|
||||
|
||||
//Since the script is called from a conversation
|
||||
//determine who is moved by calling the GetPCSpeaker function
|
||||
oTarget = GetPCSpeaker();
|
||||
|
||||
if (GetIsObjectValid(oTarget) == TRUE){
|
||||
AssignCommand(oTarget,ActionJumpToLocation(lNewLocation));
|
||||
// ApplyFlagEffect(oTarget);
|
||||
|
||||
AddPlayerToTeam( 2, oTarget );
|
||||
|
||||
object oGuard = GetObjectByTag("EvilGuard");
|
||||
if (oGuard != OBJECT_INVALID) {
|
||||
AdjustReputation(oTarget, oGuard, 100);
|
||||
}
|
||||
|
||||
object oMerchant = GetObjectByTag("BlottotheReluctantHealer");
|
||||
if (oMerchant != OBJECT_INVALID) {
|
||||
AdjustReputation(oTarget, oMerchant, 100);
|
||||
}
|
||||
|
||||
object oCommon = GetObjectByTag("GadnartheMime");
|
||||
if (oCommon != OBJECT_INVALID) {
|
||||
AdjustReputation(oTarget, oCommon, 100);
|
||||
|
||||
}
|
||||
else if (GetIsObjectValid(oTarget) == FALSE) {
|
||||
SpeakString("Problem here");
|
||||
}
|
||||
|
||||
|
||||
} }
|
||||
Reference in New Issue
Block a user