Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //::///////////////////////////////////////////////
- //:: aa_ai_plc_hb
- //:://////////////////////////////////////////////
- /*
- Special Heartbeat userdef AI for Creatures which have a placeable form
- */
- //:://////////////////////////////////////////////////
- //:: Created: The Magus (2012 may 20)
- //:://////////////////////////////////////////////////
- void storeLocalsOnPlaceable(object oPlace);
- void storeLocalsOnPlaceable(object oPlace)
- {
- SetLocalString(oPlace, "SPAWN", GetResRef(OBJECT_SELF));
- SetLocalString(oPlace, "SPAWN_PLACE", GetLocalString(OBJECT_SELF, "SPAWN_PLACE"));
- SetLocalString(oPlace, "SPAWN_VFX", GetLocalString(OBJECT_SELF, "SPAWN_VFX"));
- SetLocalFloat(oPlace, "SPAWN_DISTANCE", GetLocalFloat(OBJECT_SELF, "SPAWN_DISTANCE"));
- SetLocalInt(oPlace, "SPAWN_APPEAR", GetLocalInt(OBJECT_SELF, "SPAWN_APPEAR"));
- }
- void main()
- {
- if(GetLocalInt(OBJECT_SELF, "SPAWNED"))
- return;
- float fDist = GetLocalFloat(OBJECT_SELF, "SPAWN_DISTANCE");
- object oPC = GetNearestCreature(CREATURE_TYPE_PERCEPTION, PERCEPTION_SEEN);
- if ( GetIsObjectValid(oPC) && GetIsPC(oPC))
- if(GetDistanceBetween(oPC,OBJECT_SELF)<fDist)
- return;
- SetLocalInt(OBJECT_SELF, "SPAWNED", TRUE);
- object oPlace = CreateObject( OBJECT_TYPE_PLACEABLE,
- GetLocalString(OBJECT_SELF, "SPAWN_PLACE"),
- GetLocation(OBJECT_SELF),
- GetLocalInt(OBJECT_SELF, "SPAWN_APPEAR")
- );
- storeLocalsOnPlaceable(oPlace);
- effect eAOE = EffectAreaOfEffect( GetLocalInt(oPlace, "AOE_ID"),
- GetLocalString(oPlace, "AOE_ENTER"),
- GetLocalString(oPlace, "AOE_HB"),
- GetLocalString(oPlace, "AOE_EXIT")
- );
- ApplyEffectAtLocation(DURATION_TYPE_PERMANENT, eAOE, GetLocation(oPlace));
- object oAOE = GetNearestObject(OBJECT_TYPE_AREA_OF_EFFECT, oPlace);
- SetLocalObject(oPlace, "PAIRED", oAOE);
- SetLocalObject(oAOE, "PAIRED", oPlace);
- DelayCommand(0.1, DestroyObject(OBJECT_SELF));
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement