51 lines
1.7 KiB
Plaintext
51 lines
1.7 KiB
Plaintext
//::///////////////////////////////////////////////
|
|
//:: Pack Ox: On User Defined
|
|
//:: pack_ox_userdef
|
|
//:: Copyright (c) 2002 Bioware Corp.
|
|
//:://////////////////////////////////////////////
|
|
/*
|
|
|
|
Determines actions based on the PACK_MODE local int.
|
|
|
|
0: Nothing. Ox has yet to recieve a command.
|
|
1: Follow owner (if any)
|
|
2: Stay put
|
|
3: Abandoned, so wander
|
|
4: Nothing. Messing with pack. Could just as well be 0.
|
|
|
|
If the pack animal ever becomes charmed, the charmer
|
|
becomes the animal's new owner and the effect is removed (redundant).
|
|
Also clears the charmer's personal reputation with the animal.
|
|
Tried it with EFFECT_DOMINATE, but dominated creatures don't seem to
|
|
run their normal AI. So, it didn't work.
|
|
|
|
*/
|
|
//:://////////////////////////////////////////////
|
|
//:: Created By: lex42@mac.com
|
|
//:: Created On: July 6, 2002
|
|
//:://////////////////////////////////////////////
|
|
void main()
|
|
{
|
|
if (GetUserDefinedEventNumber() == 1001) {
|
|
effect eEffect = GetFirstEffect(OBJECT_SELF);
|
|
while (GetIsEffectValid(eEffect)) {
|
|
if (GetEffectType(eEffect) == EFFECT_TYPE_CHARMED) {
|
|
object oCharmer = GetEffectCreator(eEffect);
|
|
if (GetIsObjectValid(oCharmer)) {
|
|
SetLocalObject(OBJECT_SELF, "PACK_OWNER", oCharmer);
|
|
RemoveEffect(OBJECT_SELF, eEffect);
|
|
ClearPersonalReputation(oCharmer);
|
|
}
|
|
}
|
|
eEffect = GetNextEffect(OBJECT_SELF);
|
|
}
|
|
|
|
switch(GetLocalInt(OBJECT_SELF, "PACK_MODE")) {
|
|
case 1: ActionForceFollowObject(GetLocalObject(OBJECT_SELF, "PACK_OWNER"), 3.0); break;
|
|
case 2: ClearAllActions(); break;
|
|
case 3: ActionRandomWalk(); break;
|
|
}
|
|
}
|
|
|
|
}
|