Added CCOH and missing areas Changed some areas to be craftable, Fixed some on death issues, Fixed the Gaurd
88 lines
2.5 KiB
Plaintext
88 lines
2.5 KiB
Plaintext
void RepairStation(object oTarget, object oPC);
|
|
|
|
void main()
|
|
{
|
|
object oSelf = OBJECT_SELF;
|
|
object oPC = GetLocalObject(oSelf,"oActivator");
|
|
DeleteLocalObject(oSelf,"oActivator");
|
|
string sTagSelf = GetTag(oSelf);
|
|
|
|
int iAmStation;
|
|
|
|
if (GetObjectType(oSelf)==OBJECT_TYPE_PLACEABLE)
|
|
{
|
|
if (sTagSelf=="AlchemistsWorkbench") iAmStation=1;
|
|
if (sTagSelf=="OVEN_001") iAmStation=1;
|
|
if (sTagSelf=="BowyersStation") iAmStation=1;
|
|
if (sTagSelf=="OVEN_004") iAmStation=1;
|
|
if (sTagSelf=="OVEN_003") iAmStation=1;
|
|
if (sTagSelf=="DyeTub") iAmStation=1;
|
|
if (sTagSelf=="FletchingLathe") iAmStation=1;
|
|
if (sTagSelf=="GemcuttersTable") iAmStation=1;
|
|
if (sTagSelf=="GemstoneTumbler") iAmStation=1;
|
|
if (sTagSelf=="JewelcraftersWorkbench") iAmStation=1;
|
|
if (sTagSelf=="SmeltingKiln") iAmStation=1;
|
|
if (sTagSelf=="LeatherworkingTable") iAmStation=1;
|
|
if (sTagSelf=="MineralBath") iAmStation=1;
|
|
if (sTagSelf=="ScribesDesk") iAmStation=1;
|
|
if (sTagSelf=="SmeltingForge") iAmStation=1;
|
|
if (sTagSelf=="SpinningWheel") iAmStation=1;
|
|
if (sTagSelf=="TailorsDesk") iAmStation=1;
|
|
if (sTagSelf=="DRESSFORM_TAILOR") iAmStation=1;
|
|
if (sTagSelf=="TanningBath") iAmStation=1;
|
|
if (sTagSelf=="TanningOven") iAmStation=1;
|
|
if (sTagSelf=="TinkersWorkbench") iAmStation=1;
|
|
if (sTagSelf=="WoodPulpBasin") iAmStation=1;
|
|
if (sTagSelf=="WoodPulpDigester") iAmStation=1;
|
|
if (sTagSelf=="PaperMill") iAmStation=1;
|
|
if (sTagSelf=="DRESSFORM_TAILOR") iAmStation=1;
|
|
if (sTagSelf=="DRESSFORM_TAILOR") iAmStation=1;
|
|
if (sTagSelf=="CarpentersWorkbench") iAmStation=1;
|
|
}
|
|
|
|
if (iAmStation==1)
|
|
{
|
|
AssignCommand(oSelf,DelayCommand(30.0,RepairStation(oSelf, oPC)));
|
|
}
|
|
else
|
|
{
|
|
SendMessageToPC(oPC,"This is not a UOACraft Craftable Station!");
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void RepairStation(object oTarget, object oPC)
|
|
{
|
|
int iAmTooClose;
|
|
object oArea1;
|
|
object oArea2 = GetArea(oTarget);
|
|
object oPC2 = GetFirstPC();
|
|
while (oPC2 != OBJECT_INVALID)
|
|
{
|
|
oArea1 = GetArea(oPC2);
|
|
if (oArea1 == oArea2)
|
|
{
|
|
if (oPC2 != oPC)
|
|
{
|
|
if (GetDistanceBetween(oTarget,oPC2)<10.0) iAmTooClose=1;
|
|
}
|
|
}
|
|
oPC2 = GetNextPC();
|
|
if (oPC2==OBJECT_INVALID) break;
|
|
}
|
|
|
|
if (iAmTooClose==0)
|
|
{
|
|
AssignCommand(oTarget,ActionSpeakString("Crafting Station repair underway.. please wait.",TALKVOLUME_TALK));
|
|
AssignCommand(oTarget,DelayCommand(1.0,ExecuteScript("_onclose_clear",oTarget)));
|
|
}
|
|
return;
|
|
}
|