Пример #1
0
        public bool CanReceiveItems(Game_Pawn aPawn, Content_Inventory aItems)
        {
            int inv;
            int Count;

            if (aPawn.itemManager == null)
            {
                return(false);
            }
            Count = aItems.SlotCount();
            inv   = aPawn.itemManager.GetFreeSlots(Game_Item.EItemLocationType.ILT_Inventory);
            if (Count > inv)
            {
                //ApiTrace(GetCharacterName(aPawn) @ "has only"
                //@ string(inv)
                //@ "inventory slots available for"
                //@ string(Count)
                //@ "items");
                return(false);
            }
            //ApiTrace(GetCharacterName(aPawn) @ "has an"
            //@ string(inv)
            //@ "inventory slots available for"
            //@ string(Count)
            //@ "items");
            return(true);
        }
Пример #2
0
        public bool HasItemsInInventory(Game_Pawn aPawn)
        {
            int i;
            int ii;
            List <Item_Type> uniqueItem  = new List <Item_Type>();
            List <int>       uniqueCount = new List <int>();

            i = 0;
            while (i < Items.Count)
            {
                ii = 0;
                while (ii < uniqueItem.Count)
                {
                    if (uniqueItem[ii] == Items[i].Item)
                    {
                        continue;
                    }
                    ii++;
                }
                uniqueItem[ii]   = Items[i].Item;
                uniqueCount[ii] += Items[i].StackSize;
                i++;
            }
            ii = 0;
            while (ii < uniqueItem.Count)
            {
                if (aPawn.itemManager.CountItems(uniqueItem[ii]) < uniqueCount[ii])
                {
                    return(false);
                }
                ii++;
            }
            return(true);
        }
Пример #3
0
        public void SetPersistentVariable(Game_Pawn aPawn, int aId, int aValue)
        {
            Game_Controller cont = ((Game_Controller)aPawn.Controller);

            if (cont != null)
            {
                cont.sv_SetPersistentVariable(0, aId, aValue);
            }
        }
Пример #4
0
        public bool ObtainQuest(Game_Pawn aPawn, Quest_Type aQuest)
        {
            Game_PlayerPawn playerPawn = (aPawn as Game_PlayerPawn);

            if (playerPawn != null && aQuest != null && playerPawn.questLog != null)
            {
                return(playerPawn.questLog.sv_AcceptQuest(aQuest));
            }
            return(false);
        }
Пример #5
0
 public bool HasItems(Game_Pawn aPawn, Content_Inventory aItems)
 {
     if (aPawn.itemManager != null && !aItems.Empty())
     {
         if (aItems.HasItemsInInventory(aPawn))
         {
             return(true);
         }
     }
     return(false);
 }
Пример #6
0
 public bool cl_CheckRequirements(List <Content_Requirement> aRequirement, Game_Pawn aPawn)
 {
     for (int i = 0; i < aRequirement.Count; i++)
     {
         if (aRequirement[i] != null && aRequirement[i].cl_IsValidFor(aPawn) && !aRequirement[i].CheckPawn(aPawn))
         {
             return(false);
         }
     }
     return(true);
 }
Пример #7
0
 public bool RemoveItems(Game_Pawn aPawn, Content_Inventory aItems)
 {
     if (aPawn.itemManager != null && aItems != null &&
         !aItems.Empty())
     {
         return(aItems.RemoveFromInventory(aPawn));
     }
     else
     {
         return(false);
     }
 }
Пример #8
0
        public bool HasCompletedTarget(Game_Pawn aPawn, Quest_Target aTarget)
        {
            Game_PlayerPawn playerPawn = (aPawn as Game_PlayerPawn);

            if (playerPawn != null && aTarget != null)
            {
                if (aTarget.Check(playerPawn.questLog.GetTargetProgress(aTarget.GetQuest(), aTarget.GetIndex())))
                {
                    return(true);
                }
            }
            return(false);
        }
Пример #9
0
 void InitMovement(Game_Pawn aPawn)
 {
     aPawn.SetPhysics(Movement);
     aPawn.GroundSpeed = GroundSpeed;
     //aPawn.bCanWalk = GroundSpeed > 0.00000000;
     aPawn.AirSpeed = AirSpeed;
     //aPawn.bCanFly = AirSpeed > 0.00000000;
     //aPawn.MinFlySpeed = AirMinSpeed;
     aPawn.AirControl = AirControl;
     //aPawn.bCanStrafe = CanStrafe;
     //aPawn.bCanRest = CanRest;
     //aPawn.bCanWalkBackwards = CanWalkBackwards;
     //if (aPawn.bCanFly)
     //{
     //    aPawn.CharacterStats.mBaseMovementSpeed = (int)AirSpeed;
     //}
     //else
     {
         aPawn.CharacterStats.mBaseMovementSpeed = (int)GroundSpeed;
     }
     if (CombatSpeed >= 0)
     {
         aPawn.CharacterStats.mMovementSpeedMultiplier[1] = CombatSpeed / GroundSpeed;
     }
     if (GroundSpeed >= 1)
     {
         aPawn.WalkingPct = StrollSpeed / GroundSpeed;
     }
     aPawn.WaterSpeed = WaterSpeed;
     //aPawn.bCanSwim = WaterSpeed > 0.00000000;
     aPawn.JumpZ = JumpSpeed;
     //aPawn.bCanJump = JumpSpeed > 0.00000000;
     //aPawn.LadderSpeed = ClimbSpeed;
     //aPawn.bCanClimbLadders = ClimbSpeed > 0.00000000;
     aPawn.AccelRate          = AccelRate;
     aPawn.RotationRate.Yaw   = (int)TurnSpeed;
     aPawn.RotationRate.Pitch = (int)TurnSpeed;
     aPawn.RotationRate.Roll  = (int)TurnSpeed;
     //aPawn.bAlignToFloor = bAlignToFloor;
     //aPawn.bAlignToFloorRoll = bAlignToFloorRoll;
     //aPawn.bAlignToFloorPitch = bAlignToFloorPitch;
     //aPawn.bForceSkelUpdate = bForceAttachmentUpdates;
     aPawn.SetCollisionSize(GetCollisionRadius(), GetCollisionHeight());
     //aPawn.mMaxDamageFallSpeed = TerminalVelocity;
     //aPawn.mMinDamageFallSpeed = TerminalVelocity * 0.75000000;
     //if (Movement == Actor.EPhysics.PHYS_Flying)
     //{
     //    aPawn.bCanFly = true;
     //}
 }
Пример #10
0
        public Game_Appearance CreateAppearance(Game_Pawn aPawn, Game_Appearance aAppearance, bool aShifting)
        {
            float R;
            float H;

            aPawn.SkillRadius = GetSkillRadius();
            if (!aShifting)
            {
                R = GetCollisionRadius();
                H = GetCollisionHeight();
                if (R >= 0 && H >= 0)
                {
                    aPawn.SetCollisionSize(R, H);
                }
            }
            if (aAppearance != null)
            {
                switch (Voice)
                {
                case 0:
                    aAppearance.SetVoice(255);
                    break;

                case 9:
                    if (aAppearance.IsKid())
                    {
                        if (aAppearance.GetGender() == 0)
                        {
                            aAppearance.SetVoice(Rand(1));
                        }
                        else
                        {
                            aAppearance.SetVoice(Rand(2));
                        }
                    }
                    else
                    {
                        aAppearance.SetVoice((byte)(10 + Rand(14)));
                    }
                    break;

                default:
                    aAppearance.SetVoice((byte)(Voice - 1));
                    break;
                }
                //aAppearance.SetAvatarTexture(AvatarTexture);
            }
            return(aAppearance);
        }
Пример #11
0
        public bool RemoveMoney(Game_Pawn aPawn, int aAmount)
        {
            Game_PlayerItemManager itemManager;

            if (aPawn.itemManager != null && aAmount >= 0)
            {
                itemManager = (aPawn.itemManager as Game_PlayerItemManager);
                if (itemManager != null &&
                    itemManager.sv_UpdateMoney(-aAmount, null)) //callback
                {
                    return(true);
                }
            }
            return(false);
        }
Пример #12
0
        public void Apply(Game_Pawn aPawn)
        {
            int i;

            //if (IsClient())
            //{
            if (aPawn.Effects != null)
            {
                i = 0;
                while (i < EffectList.Count)
                {
                    //aPawn.Effects.cl_Start(EffectList[i],Class'Game_Effects'.-1073741824,0,0,Class'FSkill_EffectClass_AudioVisual'.-1.00000000);
                    i++;
                }
            }
            //}
        }
Пример #13
0
        public void CalculateMovementSpeed()
        {
            Game_Pawn gamePawn = Pawn as Game_Pawn;

            if (gamePawn != null)
            {
                mMoveSpeed = 160;
                if (mMaxTimeToMove > 0)
                {
                    mMoveSpeed = Vector3.Distance(gamePawn.transform.position, mTargetDestination) / mMaxTimeToMove;
                }
                else
                {
                    if (gamePawn.CharacterStats != null)
                    {
                        mMoveSpeed = gamePawn.CharacterStats.mMovementSpeed * gamePawn.GroundSpeedModifier;
                    }
                }
            }
        }
Пример #14
0
        public bool RemoveFromInventory(Game_Pawn aPawn, Action callback = null)
        {
            int       i;
            Item_Type Type;
            int       Amount;
            Game_PlayerItemManager itemManager;

            if (aPawn.itemManager == null)
            {
                return(false);
            }
            itemManager = (aPawn.itemManager as Game_PlayerItemManager);
            if (itemManager == null)
            {
                return(false);
            }
            i = 0;
            while (i < Items.Count)
            {
                Type = Items[i].Item;
                if (Type != null)
                {
                    Amount = Items[i].StackSize;
                    if (CountItems(aPawn, Type) < Amount)
                    {
                        return(false);
                    }
                    if (!itemManager.sv_QueueRemoveByType(Type, Amount))
                    {
                        return(false);
                    }
                }
                i++;
            }
            if (itemManager.sv_ExecuteRemoveByType(callback))
            {
            }
            return(true);
        }
Пример #15
0
 public bool TeleportPawn(Game_Pawn aPawn, int aWorld, bool Instance, string aStart)
 {
     throw new NotImplementedException();
     //Game_PlayerController PlayerController = (aPawn.Controller as Game_PlayerController);
     //Game_GameServer Engine;
     //Engine = Game_GameServer(Class'Actor'.static.GetGameEngine());
     //if (PlayerController != null)
     //{
     //ApiTrace("Teleporting" @ GetCharacterName(aPawn)
     //@ "to world"
     //@ string(aWorld)
     //@ "at"
     //@ aStart);
     //Engine.LoginToWorldByID(aWorld, PlayerController.CharacterID, aStart, "");
     //    return true;
     //}
     //else
     //{
     //ApiTrace("Not teleporting non-player controlled"
     //@ GetCharacterName(aPawn));
     //return false;
     //}
 }
Пример #16
0
 public virtual int GetPeP(Game_Pawn aPawn)
 {
     throw new NotImplementedException();
 }
Пример #17
0
 public virtual void Apply(Game_Pawn aPawn)
 {
     throw new NotImplementedException();
 }
Пример #18
0
        public bool HasFailedTarget(Game_Pawn aPawn, Quest_Target aTarget)
        {
            Game_PlayerPawn playerPawn = aPawn as Game_PlayerPawn;

            return(playerPawn != null && aTarget != null && aTarget.Failed(playerPawn.questLog.GetTargetProgress(aTarget.GetQuest(), aTarget.GetIndex())));
        }
Пример #19
0
 public bool HasTargetActive(Game_Pawn aPawn, Quest_Target aTarget)
 {
     throw new NotImplementedException();
 }
Пример #20
0
 public bool GiveMoney(Game_Pawn aPawn, int aAmount)
 {
     throw new NotImplementedException();
 }
Пример #21
0
 public void OnServerExecute(Game_Pawn aPawn)
 {
 }
Пример #22
0
 public bool ClaustroportPawn(Game_Pawn aPawn, Vector Location, Rotator Rotation)
 {
     aPawn.sv_TeleportTo(Location, Rotation);
     return(true);
 }
Пример #23
0
 public int CountItems(Game_Pawn aPawn, Item_Type aItem)
 {
     throw new NotImplementedException();
 }
Пример #24
0
 public bool GiveItems(Game_Pawn aPawn, Content_Inventory aItems)
 {
     Debug.LogWarning("GiveItems is not implemented", this);
     return(false);
 }
Пример #25
0
 public void sv_RemoveHooks(Game_Pawn aPawn)
 {
     throw new NotImplementedException();
 }
Пример #26
0
 public int GetMoney(Game_Pawn aPawn)
 {
     throw new NotImplementedException();
 }
Пример #27
0
 public virtual bool ApplyToPawn(Game_Pawn aPawn)
 {
     throw new NotImplementedException();
 }
Пример #28
0
 public virtual bool cl_IsValidFor(Game_Pawn aPawn)
 {
     throw new NotImplementedException();
 }
Пример #29
0
 public int GetPersistentVariable(Game_Pawn aPawn, int aId)
 {
     throw new NotImplementedException();
 }
Пример #30
0
 public bool CanLearnSkill(Game_Pawn aPawn, FSkill_Type aSkill)
 {
     throw new NotImplementedException();
 }