Browse Source

build: finish the prop system temporarily

tags/0.1.0
shangfengh 2 years ago
parent
commit
69152e468f
7 changed files with 29 additions and 12 deletions
  1. +7
    -5
      dependency/proto/MessageType.proto
  2. +1
    -1
      logic/GameClass/GameObj/Character/Character.cs
  3. +7
    -3
      logic/GameClass/GameObj/Prop.cs
  4. +4
    -2
      logic/Gaming/PropManager.cs
  5. +1
    -1
      logic/Preparation/Utility/EnumType.cs
  6. +1
    -0
      logic/Preparation/Utility/GameData.cs
  7. +8
    -0
      logic/Server/CopyInfo.cs

+ 7
- 5
dependency/proto/MessageType.proto View File

@@ -42,11 +42,13 @@ enum ShapeType // 形状类型
enum PropType // 地图中的可拾取道具类型
{
NULL_PROP_TYPE = 0;
KEY3 = 1;
KEY5 = 2;
KEY6 = 3;
PTYPE4 = 4;

ADD_SPEED = 1;
ADD_LIFE_OR_AP = 2;
ADD_HP_OR_AP = 3;
SHIELD_OR_SPEAR = 4;
KEY3 = 5;
KEY5 = 6;
KEY6 = 7;
}

enum StudentBuffType // 人类可用的增益效果类型


+ 1
- 1
logic/GameClass/GameObj/Character/Character.cs View File

@@ -523,7 +523,7 @@ namespace GameClass.GameObj
{
if (buffManager.TryActivatingLIFE())
{
hp = MaxHp;
hp = GameData.RemainHpWhenAddLife;
}
}



+ 7
- 3
logic/GameClass/GameObj/Prop.cs View File

@@ -52,13 +52,13 @@ namespace GameClass.GameObj
/// <summary>
/// 复活甲
/// </summary>
public sealed class AddLIFE : Prop
public sealed class AddLifeOrAp : Prop
{
public AddLIFE(XY initPos, PlaceType placeType) :
public AddLifeOrAp(XY initPos, PlaceType placeType) :
base(initPos, placeType)
{
}
public override PropType GetPropType() => PropType.AddLIFE;
public override PropType GetPropType() => PropType.AddLifeOrAp;
}
public sealed class AddHpOrAp : Prop
{
@@ -139,6 +139,10 @@ namespace GameClass.GameObj
{
switch (propType)
{
case PropType.AddSpeed:
return new AddSpeed(pos, place);
case PropType.AddLifeOrAp:
return new AddLifeOrAp(pos, place);
case PropType.ShieldOrSpear:
return new ShieldOrSpear(pos, place);
case PropType.AddHpOrAp:


+ 4
- 2
logic/Gaming/PropManager.cs View File

@@ -33,8 +33,10 @@ namespace Gaming
player.AddSpear(GameData.PropDuration);
else player.AddShield(GameData.PropDuration);
break;
case PropType.AddLIFE:
player.AddLIFE(GameData.PropDuration);
case PropType.AddLifeOrAp:
if (!player.IsGhost())
player.AddLIFE(GameData.PropDuration);
else player.AddAp(GameData.PropDuration);
break;
case PropType.AddSpeed:
player.AddMoveSpeed(GameData.PropDuration);


+ 1
- 1
logic/Preparation/Utility/EnumType.cs View File

@@ -65,7 +65,7 @@ namespace Preparation.Utility
{
Null = 0,
AddSpeed = 1,
AddLIFE = 2,
AddLifeOrAp = 2,
AddHpOrAp = 3,
ShieldOrSpear = 4,
Key3 = 5,


+ 1
- 0
logic/Preparation/Utility/GameData.cs View File

@@ -173,6 +173,7 @@ namespace Preparation.Utility

public const int ApPropAdd = basicApOfGhost * 12 / 10;
public const int ApSpearAdd = basicApOfGhost * 6 / 10;
public const int RemainHpWhenAddLife = 100;

public const int numOfKeyEachArea = 2;
public const int numOfPropTypeNotKey = 4;


+ 8
- 0
logic/Server/CopyInfo.cs View File

@@ -48,6 +48,14 @@ namespace Server
{
switch (prop)
{
case Preparation.Utility.PropType.AddSpeed:
return Protobuf.PropType.AddSpeed;
case Preparation.Utility.PropType.AddLifeOrAp:
return Protobuf.PropType.AddLifeOrAp;
case Preparation.Utility.PropType.AddHpOrAp:
return Protobuf.PropType.AddHpOrAp;
case Preparation.Utility.PropType.ShieldOrSpear:
return Protobuf.PropType.ShieldOrSpear;
case Preparation.Utility.PropType.Key3:
return Protobuf.PropType.Key3;
case Preparation.Utility.PropType.Key5:


Loading…
Cancel
Save