CREATURE --> LOCATION:
location kcGetCampLocation(object oFollower)
{
string sTag = GetTag(oFollower);
location lLocation;
if(sTag == GEN_FL_CULLEN) lLocation = Location(GetArea(GetHero()), Vector(138.564f, 111.815f, -1.08586f), 180.0f);
else if(sTag == GEN_FL_JOWAN) lLocation = Location(GetArea(GetHero()), Vector(187.728f, 117.281f, -0.187108f), 180.0f);
else if(sTag == GEN_FL_GORIM) lLocation = Location(GetArea(GetHero()), Vector(144.716f, 122.112f, -0.523375f), 0.0f) ;
else if(sTag == GEN_FL_GILMORE) lLocation = Location(GetArea(GetHero()), Vector(130.438f, 118.121f, -0.43786f), 180.0f);
else if(sTag == GEN_FL_TAMLEN) lLocation = Location(GetArea(GetHero()), Vector(162.725f, 112.49f, -1.9237f), -88.5f);
else if(sTag == GEN_FL_SORIS) lLocation = Location(GetArea(GetHero()), Vector(170.45f, 114.992f, -1.97934f), -84.2f);
else if(sTag == GEN_FL_LESKE) lLocation = Location(GetArea(GetHero()), Vector(171.912f, 115.0f, -1.8909f), 106.7f);
else if(sTag == GEN_FL_ADELA && WR_GetPlotFlag(PLT_KCPT_MISC_PARTY, SAAREBAS_HIRED) == TRUE) lLocation = Location(GetArea(GetHero()), Vector(170.786f, 111.907f, -2.03677f), 29.1f);
else if(sTag == GEN_FL_ADELA && WR_GetPlotFlag(PLT_KCPT_MISC_PARTY, SAAREBAS_HIRED) == FALSE) lLocation = Location(GetArea(GetHero()), Vector(169.855f, 109.97f, -1.94591f), 90.0f);
else if(sTag == GEN_FL_TEAGAN) lLocation = Location(GetArea(GetHero()), Vector(135.424f, 124.962f, -0.253687f), -49.8f);
else if(sTag == GEN_FL_SAAREBAS && WR_GetPlotFlag(PLT_KCPT_MISC_PARTY, ADELA_HIRED) == TRUE) lLocation = Location(GetArea(GetHero()), Vector(169.855f, 109.97f, -1.94591f), -163.4f);
else if(sTag == GEN_FL_SAAREBAS && WR_GetPlotFlag(PLT_KCPT_MISC_PARTY, ADELA_HIRED) == FALSE) lLocation = Location(GetArea(GetHero()), Vector(169.855f, 109.97f, -1.94591f), 90.0f);
return lLocation;
}
PLACES CREATURES IN CAMP USING LOCATION FROM PREVIOUS SCRIPT:
void kcPlaceFollowersInCamp()
{
object oArea = GetArea(GetHero());
object [] arParty = GetPartyPoolList();
int nSize = GetArraySize(arParty);
int i;
object oCurrent;
for(i = 0; i < nSize; i++)
{
oCurrent = arParty[i];
if(!IsHero(oCurrent) && !IsSummoned(oCurrent) && IsFollowerKC(oCurrent))
{
SetFollowerState(oCurrent, FOLLOWER_STATE_AVAILABLE);
WR_SetObjectActive(oCurrent, TRUE);
SetImmortal(oCurrent, TRUE);
RW_CatchUpToPlayer(oCurrent);
if (GetTag(oArea) == "cam100ar_camp_plains" || GetTag(oArea) == "cam110ar_camp_arch3" || GetTag(oArea) == "cam104ar_camp_arch1")
{
AddCommand(oCurrent, CommandJumpToLocation(kcGetCampLocation(oCurrent)));
kcFollowerCampAmbient(oCurrent, TRUE);
}
else if (GetTag(oArea) == "cli300ar_redcliffe_castle")
{
AddCommand(oCurrent, CommandJumpToLocation(kcGetRedcliffeLocation(oCurrent)));
kcFollowerCampAmbient(oCurrent, FALSE); //Change to TRUE after ambient is updated
//setting Adela and Tamlen inactive because they are upstairs
if(GetTag(oCurrent) == GEN_FL_TAMLEN || GetTag(oCurrent) == GEN_FL_ADELA)
{
WR_SetObjectActive(oCurrent, FALSE);
}
}
else if (GetTag(oArea) == "cli310ar_redcliffe_castle_2")
{
WR_SetObjectActive(oCurrent, FALSE);
AddCommand(oCurrent, CommandJumpToLocation(kcGetRedcliffeLocation(oCurrent)));
kcFollowerCampAmbient(oCurrent, FALSE); //Change to TRUE after ambient is updated
//setting Adela and Tamlen active because they are placed here
if(GetTag(oCurrent) == GEN_FL_TAMLEN || GetTag(oCurrent) == GEN_FL_ADELA)
{
WR_SetObjectActive(oCurrent, TRUE);
}
}
else if (GetTag(oArea) == "den211ar_arl_eamon_estate_1")
{
AddCommand(oCurrent, CommandJumpToLocation(kcGetDenerimLocation(oCurrent)));
kcFollowerCampAmbient(oCurrent, FALSE); //Change to TRUE after ambient is updated
}
WR_SetPlotFlag(PLT_KCPT_MISC_PARTY, kcGetFollowerInPartyFlag(kcGetFollowerApprovalIndex(oCurrent)), FALSE, FALSE);
------>>>WR_SetPlotFlag(PLT_KCPT_MISC_PARTY, kcGetFollowerInCampFlag(kcGetFollowerApprovalIndex(oCurrent)), TRUE, FALSE);
}
}
}
Edited by satans_karma, 19 January 2014 - 12:07 AM.





Back to top







