ACR_Movement.Swimming.SwimTriggerEnter C# (CSharp) Method

SwimTriggerEnter() public static method

public static SwimTriggerEnter ( CLRScriptBase script, uint Creature ) : void
script CLRScriptFramework.CLRScriptBase
Creature uint
return void
        public static void SwimTriggerEnter(CLRScriptBase script, uint Creature)
        {
            SwimHeartbeat(script, Creature);
        }

Usage Example

Beispiel #1
0
        public Int32 ScriptMain([In] object[] ScriptParameters, [In] Int32 DefaultReturnCode)
        {
            int  Command = (int)ScriptParameters[0]; // ScriptParameterTypes[0] is typeof(int)
            uint Target  = (uint)ScriptParameters[1];

            if (!AppearanceTypes.characterMovement.ContainsKey(Target))
            {
                AppearanceTypes.characterMovement.Add(Target, AppearanceTypes.MovementType.Walking);
            }
            if (!AppearanceTypes.overlandMap.ContainsKey(Target))
            {
                AppearanceTypes.overlandMap.Add(Target, false);
            }
            if (!AppearanceTypes.currentSwimTrigger.ContainsKey(Target))
            {
                AppearanceTypes.currentSwimTrigger.Add(Target, OBJECT_INVALID);
            }

            switch ((MovementCommand)Command)
            {
            case MovementCommand.EnterWater:
                AppearanceTypes.characterMovement[Target] = AppearanceTypes.MovementType.Swimming;
                AppearanceTypes.RecalculateMovement(this, Target);
                if (GetIsObjectValid(AppearanceTypes.currentSwimTrigger[Target]) == CLRScriptBase.TRUE)
                {
                    AppearanceTypes.currentSwimTrigger[Target] = OBJECT_SELF;
                }
                else
                {
                    AppearanceTypes.currentSwimTrigger[Target] = OBJECT_SELF;
                    Swimming.SwimTriggerEnter(this, Target);
                }
                break;

            case MovementCommand.ExitWater:
                break;

            case MovementCommand.MountHorse:
                AppearanceTypes.characterMovement[Target] = AppearanceTypes.MovementType.Riding;
                Riding.MountHorse(this, Target, OBJECT_SELF);
                AppearanceTypes.RecalculateMovement(this, Target);
                break;

            case MovementCommand.CloakRemoved:
                if (Riding.isWarhorse.ContainsKey(Target))
                {
                    AppearanceTypes.characterMovement[Target] = AppearanceTypes.MovementType.Walking;
                    Riding.Dismount(this, Target, GetPCItemLastUnequipped(), GetLocation(Target));
                    AppearanceTypes.RecalculateMovement(this, Target);
                }
                break;

            case MovementCommand.ToOverlandMap:
                AppearanceTypes.overlandMap[Target] = true;
                AppearanceTypes.RecalculateMovement(this, Target);
                break;

            case MovementCommand.FromOverlandMap:
                AppearanceTypes.overlandMap[Target] = false;
                AppearanceTypes.RecalculateMovement(this, Target);
                break;

            case MovementCommand.Dismount:
                if (Riding.isWarhorse.ContainsKey(Target))
                {
                    AppearanceTypes.characterMovement[Target] = AppearanceTypes.MovementType.Walking;
                    AppearanceTypes.RecalculateMovement(this, Target);
                    Riding.Dismount(this, Target, GetItemInSlot(INVENTORY_SLOT_CLOAK, Target), GetLocation(OBJECT_SELF));
                }
                break;

            case MovementCommand.ForceRecalculate:
                AppearanceTypes.RecalculateMovement(this, Target);
                break;

            case MovementCommand.RestoreHorse:
                AppearanceTypes.characterMovement[Target] = AppearanceTypes.MovementType.Riding;
                AppearanceTypes.RecalculateMovement(this, Target);
                if (!Riding.isWarhorse.ContainsKey(Target))
                {
                    Riding.isWarhorse.Add(Target, true);
                }
                break;
            }

            return(0);
        }