Initial upload. PRC8 has been added. Module compiles, PRC's default AI & treasure scripts have been integrated. Started work on top hak for SLA / Ability / Scripting modifications.
134 lines
2.4 KiB
Plaintext
134 lines
2.4 KiB
Plaintext
void main()
|
|
{
|
|
|
|
object oObject = GetFirstObjectInArea();
|
|
|
|
object oPC=GetEnteringObject();
|
|
|
|
if (!GetIsPC(oPC))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if (GetIsDM(oPC))
|
|
{
|
|
return;
|
|
}
|
|
|
|
oObject=GetObjectByTag("jw_min32nest_door");
|
|
|
|
if (GetIsObjectValid(oObject))
|
|
|
|
{
|
|
ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectDamage(10),oObject);
|
|
|
|
|
|
}
|
|
int nIdx;
|
|
|
|
if (GetLocalInt(OBJECT_SELF,"donesetup")!=2)
|
|
|
|
{
|
|
for (nIdx=1;nIdx<=5;nIdx++)
|
|
{
|
|
|
|
ApplyEffectAtLocation(DURATION_TYPE_PERMANENT,ExtraordinaryEffect(EffectAreaOfEffect(AOE_PER_DARKNESS,"jw_empty_script","jw_empty_script","jw_empty_script")),GetLocation(GetObjectByTag("jw_dark_object"+IntToString(nIdx))));
|
|
|
|
}
|
|
|
|
for (nIdx=1;nIdx<=5;nIdx++)
|
|
{
|
|
|
|
ApplyEffectAtLocation(DURATION_TYPE_PERMANENT,EffectAreaOfEffect(AOE_PER_FOGFIRE,"jw_fire_smoke","jw_empty_script","jw_empty_script"),GetLocation(GetObjectByTag("jw_fire_object"+IntToString(nIdx))));
|
|
|
|
}
|
|
|
|
|
|
SetLocalInt(OBJECT_SELF,"donesetup",2);
|
|
}
|
|
|
|
|
|
//object oLeaving=GetExitingObject();
|
|
|
|
//if (!GetIsPC(oLeaving))
|
|
//{
|
|
//return;
|
|
//}
|
|
|
|
//object oObject = GetFirstObjectInArea();
|
|
int nPCinArea=FALSE;
|
|
location lLoc;
|
|
object oItem;
|
|
|
|
|
|
// first of all, check every object in the area and see if it is a PC.
|
|
object oTest=GetFirstPC();
|
|
|
|
|
|
|
|
|
|
while (GetIsObjectValid(oTest) == TRUE)
|
|
{
|
|
if ((GetArea(oTest) == OBJECT_SELF)&&(!GetIsDM(oTest))&&(oTest!=oPC))
|
|
{
|
|
nPCinArea = TRUE;
|
|
return;
|
|
}
|
|
oTest=GetNextPC();
|
|
}
|
|
|
|
|
|
|
|
//location lLoc;
|
|
|
|
object oGolem;
|
|
|
|
//oObject=GetFirstObjectInArea();
|
|
|
|
//while (GetIsObjectValid(oObject))
|
|
// {
|
|
// if (GetIsPC(oObject)&&oObject!=oPC)
|
|
// {
|
|
// nPCinArea = TRUE;
|
|
// return;
|
|
// }
|
|
// oObject=GetNextObjectInArea();
|
|
// }
|
|
|
|
/// this returns true if there are any PCs in the area that are NOT
|
|
/// the object that just entered the area
|
|
|
|
if (nPCinArea != TRUE)
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
if (!GetIsObjectValid(GetObjectByTag("jw_song_urn")))
|
|
{
|
|
CreateObject(OBJECT_TYPE_PLACEABLE,"jw_song_urn",GetLocation(GetWaypointByTag("jw_song_urn_wp")));
|
|
}
|
|
|
|
SetLocalInt(GetObjectByTag("jw_song_urn"),"active",0);
|
|
|
|
|
|
if (!GetIsObjectValid(GetObjectByTag("jw_sarc")))
|
|
{
|
|
CreateObject(OBJECT_TYPE_PLACEABLE,"jw_sarc",GetLocation(GetWaypointByTag("jw_sarc_wp")));
|
|
}
|
|
|
|
|
|
if (!GetIsObjectValid(GetObjectByTag("jw_gridnox")))
|
|
{
|
|
CreateObject(OBJECT_TYPE_CREATURE,"jw_gridnox",GetLocation(GetWaypointByTag("POST_jw_gridnox")));
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|