Area Changes and other fixes
added areas and ccoh, fixed some areas to work with crafting fixed some on death issues added server entry/ooc
This commit is contained in:
@@ -1,75 +0,0 @@
|
||||
// THIS SCRIPT IS NO LONGER IN USE
|
||||
// USE DR_REST!
|
||||
|
||||
|
||||
// This script handles vampires resting
|
||||
|
||||
// this returns a formerly dead Vampire to normal.
|
||||
void vamp_coffin_returnToSelf(object oPC)
|
||||
{
|
||||
// Get the original appearance of the Vampire.
|
||||
int iOriginalAppearance = GetCampaignInt("Vampire","Appearance",oPC);
|
||||
|
||||
// If they have died and original appearance equals SOMETHING, then
|
||||
// change them back.
|
||||
if (GetCampaignInt("Vampire","PermaSpectre",oPC)==TRUE && iOriginalAppearance > 0)
|
||||
{
|
||||
// reset this boolean
|
||||
SetCampaignInt("Vampire","PermaSpectre",FALSE,oPC);
|
||||
// change them back.
|
||||
PrintString("vamp_coffin: vamp_coffin_returnToSelf() - GetAppearanceType was ["+IntToString(GetAppearanceType(oPC))+"] "+GetName(oPC));
|
||||
SetCreatureAppearanceType(oPC, iOriginalAppearance);
|
||||
PrintString("vamp_coffin: vamp_coffin_returnToSelf() - GetAppearanceType is now ["+IntToString(GetAppearanceType(oPC))+"] "+GetName(oPC));
|
||||
}
|
||||
}
|
||||
void main()
|
||||
{
|
||||
// Get resting pc.
|
||||
object oPC = GetLastPCRested();
|
||||
if (GetImmortal(oPC)==TRUE)
|
||||
SetImmortal(oPC,FALSE);
|
||||
|
||||
// If resting pc is vampire and rest event is in start stage
|
||||
if (GetLastRestEventType()==REST_EVENTTYPE_REST_STARTED
|
||||
&&GetSubRace(oPC)=="Vampire")
|
||||
{
|
||||
// Get coffin
|
||||
string sCoffin = GetPCPublicCDKey(oPC);
|
||||
if (sCoffin == "")
|
||||
{
|
||||
sCoffin = "VampireCoffin";
|
||||
}
|
||||
|
||||
object oTarget = GetObjectByTag(sCoffin);
|
||||
PrintString("vamp_rest: Looking for this coffin tag ["+sCoffin+"] LITERAL TAG:["+GetTag(oTarget)+"]");
|
||||
|
||||
// If there is no coffin. Inform PC
|
||||
if (GetIsObjectValid(oTarget)==FALSE)
|
||||
{
|
||||
SendMessageToPC(oPC,"There is no coffin nearby. You need to rest in your coffin.");
|
||||
// Cancel rest
|
||||
AssignCommand(oPC,ClearAllActions());
|
||||
PrintString("vamp_rest: Found nothing. TAG:"+GetTag(oTarget));
|
||||
return;
|
||||
}
|
||||
// If distance to coffin is over 3m, inform PC
|
||||
else if (GetDistanceBetween(oPC, oTarget) >=3.0f)
|
||||
{
|
||||
SendMessageToPC(oPC,"There is no coffin nearby. You need to rest in your coffin.");
|
||||
// Cancel rest
|
||||
AssignCommand(oPC,ClearAllActions());
|
||||
PrintString("vamp_rest: Target exists, but is too far away to use. TAG:"+GetTag(oTarget));
|
||||
return;
|
||||
}
|
||||
// Check if vampire has died and he need to rest in his coffin.
|
||||
if (GetCampaignInt("Vampire", "VampireMustRest", oPC)==1)
|
||||
{
|
||||
SendMessageToPC(oPC,"You rest near your coffin.");
|
||||
// If yes, vampire has rested and now he dosnt die after 5 hours
|
||||
SetCampaignInt("Vampire", "VampireMustRest",0,oPC);
|
||||
PrintString("vamp_rest: Vampire must rest set to ZERO. COFFIN TAG:["+GetTag(oTarget)+"] Resetting vampire appearance as well.");
|
||||
// reset the vampire's appearance
|
||||
vamp_coffin_returnToSelf(oPC);
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user