///////////////////////////////////////////////////////////////////////////////////
// REAL TIME STRATEGY ADVENTURE - Kit
// FILE: rtsa_c_msgdec
// NAME: Decline terms of message
// SCRIPTED BY:Deva Bryson Winblood
// DATE:8/3/2003
////////////////////////////////////////////////////////////////////////////////
#include "rtsa_headerf" // factions

void main()
{
    object oMe=OBJECT_SELF;
    int nParm=GetLocalInt(oMe,"nParm");
    object oSender=GetLocalObject(oMe,"oMsgSender");
    object o1;
    object o2;
    string sID=GetLocalString(oMe,"sTeamID");
    string sSID=GetLocalString(oSender,"sTeamID");
    object oD1;
    object oD2;
    switch(nParm)
    { // accept message
      case 21: { // friendship
       SendMessageToPC(oSender,"MESSAGE NOTICE:"+GetName(oMe)+" has declined your offer of friendship.");
       break;
      } // friendship
      case 22: { // War
       break;
      } // War
      case 23: { // Neutrality
       SendMessageToPC(oSender,"MESSAGE NOTICE:"+GetName(oMe)+" has declined your offer of neutrality.");
       if (GetIsFriend(oMe,oSender)==TRUE)
       { // down grade anyway
         SendMessageToPC(oSender,"   Your factions downgrade to neutrality anyway.");
         SetIsTemporaryNeutral(oSender,oMe);
         SetIsTemporaryNeutral(oMe,oSender);
         oD1=GetWaypointByTag(sID+"_LIMBO");
         if (oD1==OBJECT_INVALID) oD1=GetWaypointByTag(sID+"_START");
         oD2=GetWaypointByTag(sSID+"_LIMBO");
         if (oD2==OBJECT_INVALID) oD2=GetWaypointByTag(sSID+"_START");
         o1=CreateObject(OBJECT_TYPE_CREATURE,sID+"1",GetLocation(oD1),FALSE);
         o2=CreateObject(OBJECT_TYPE_CREATURE,sSID+"1",GetLocation(oD2),FALSE);
         AdjustReputation(oSender,o1,50);
         AdjustReputation(oMe,o2,50);
         AdjustReputation(o1,o2,50);
         AdjustReputation(o2,o1,50);
         DeleteLocalObject(oMe,"oMsgSender");
         DestroyObject(o1);
         DestroyObject(o2);
         fnFactionAdjust(oMe,oSender,50);
       } // down grade anyway
       break;
      } // Neutrality
      case 28: { // Tribute 1000
       SendMessageToPC(oSender,"MESSAGE NOTICE:"+GetName(oMe)+" has declined your demand for 1000 gold.");
       break;
      } // Tribute 1000
      case 29: { // Tribute 5000
       SendMessageToPC(oSender,"MESSAGE NOTICE:"+GetName(oMe)+" has declined your demand for 5000 gold.");
       break;
      } // Tribute 5000
      case 30: { // Tribute 10000
       SendMessageToPC(oSender,"MESSAGE NOTICE:"+GetName(oMe)+" has declined your demand for 10000 gold.");
       break;
      } // Tribute 10000
      case 31: { // Tribute 20000
       SendMessageToPC(oSender,"MESSAGE NOTICE:"+GetName(oMe)+" has declined your demand for 20000 gold.");
       break;
      } // Tribute 20000
    } // accept message
}