Skip to content

Commit

Permalink
Merge pull request #113 from 1242509682/master
Browse files Browse the repository at this point in the history
修复:幽灵套永久BUFF不生效
  • Loading branch information
Controllerdestiny authored May 12, 2024
2 parents f4af2f3 + 93cfaf6 commit e14ea6f
Show file tree
Hide file tree
Showing 4 changed files with 37 additions and 23 deletions.
16 changes: 8 additions & 8 deletions Challenger/Challenger.CProjs/Honey.cs
Original file line number Diff line number Diff line change
Expand Up @@ -36,14 +36,14 @@ public override void ProjectileAI()
{
num = Main.rand.Next(8, 16);
}
if (global::Challenger.Challenger.config.EnableConsumptionMode)
if (Challenger.config.EnableConsumptionMode)
{
global::Challenger.Challenger.HealPlayer(Main.player[val.whoAmI], num, visible: false);
global::Challenger.Challenger.SendPlayerText($"蜂糖罐治疗 + {num}", new Color(232, 229, 74), val.Center);
Challenger.HealPlayer(Main.player[val.whoAmI], num, visible: false);
Challenger.SendPlayerText($"蜂糖罐治疗 + {num}", new Color(232, 229, 74), val.Center);
}
else
{
global::Challenger.Challenger.HealPlayer(Main.player[val.whoAmI], num);
Challenger.HealPlayer(Main.player[val.whoAmI], num);
}
TShock.Players[val.whoAmI].SetBuff(48, 300, false);
CKill();
Expand All @@ -54,9 +54,9 @@ public override void ProjectileAI()
if (proj.timeLeft < 120)
{
CKill();
if (!global::Challenger.Challenger.honey.TryAdd(proj.whoAmI, 0))
if (!Challenger.honey.TryAdd(proj.whoAmI, 0))
{
global::Challenger.Challenger.honey[proj.whoAmI] = 0;
Challenger.honey[proj.whoAmI] = 0;
}
}
}
Expand All @@ -66,9 +66,9 @@ public override void ProjectileAI()
Main.projectile[num2].usesLocalNPCImmunity = true;
Update(num2);
CKill();
if (!global::Challenger.Challenger.honey.TryAdd(proj.whoAmI, 0))
if (!Challenger.honey.TryAdd(proj.whoAmI, 0))
{
global::Challenger.Challenger.honey[proj.whoAmI] = 0;
Challenger.honey[proj.whoAmI] = 0;
}
}
}
Expand Down
39 changes: 25 additions & 14 deletions Challenger/Challenger/Challenger.cs
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,6 @@ public void AnglerArmorEffect(Player player)
{
foreach (int buffId in config.AnglerArmorEffectList)
{
// 为玩家设置BUFF,持续时间为180秒,不显示图标
TShock.Players[player.whoAmI].SetBuff(buffId, 180, false);
}
}
Expand Down Expand Up @@ -984,9 +983,16 @@ public void SpectreArmorEffect(Player player)
var any = config.SpectreArmorEffect;
var clear = config.EnableSpectreArmorEffect_1;//关闭幽灵兜帽弹幕开关
var clear2 = config.EnableSpectreArmorEffect_2;//关闭面具弹幕开关

Item[] armor = player.armor;
bool flag = armor[0].type == 1503 && armor[1].type == 1504 && armor[2].type == 1505;
if (flag)
{
foreach (var effect in config.SpectreArmorEffectList)
{
TShock.Players[player.whoAmI].SetBuff(effect, 180, false);
}
}

if (flag && clear == !Collect.cplayers[player.whoAmI].SpectreArmorEffectLife)
{
player.statLifeMax += any;
Expand All @@ -1006,6 +1012,7 @@ public void SpectreArmorEffect(Player player)

else if (flag && Collect.cplayers[player.whoAmI].SpectreArmorEffectLife && !Collect.cprojs[Collect.cplayers[player.whoAmI].SpectreArmorEffectProjIndex].isActive)
{

Collect.cplayers[player.whoAmI].SpectreArmorEffectProjIndex = SpectreArmorProj.NewCProjectile(player.Center + Vector2.UnitY * 100f, Vector2.Zero, player.whoAmI, new float[0], 1).proj.whoAmI;
}

Expand All @@ -1022,25 +1029,35 @@ public void SpectreArmorEffect(Player player)
}
CProjectile.CKill(Collect.cplayers[player.whoAmI].SpectreArmorEffectProjIndex);
}

flag = armor[0].type == 2189 && armor[1].type == 1504 && armor[2].type == 1505;
if (flag)
{
foreach (var effect in config.SpectreArmorEffectList)
{
TShock.Players[player.whoAmI].SetBuff(effect, 180, false);
}
}

if (flag && clear2 == !Collect.cplayers[player.whoAmI].SpectreArmorEffectMana)
{
player.statManaMax += any;
Collect.cplayers[player.whoAmI].ExtraMana += any;
NetMessage.SendData(42, -1, -1, NetworkText.Empty, player.whoAmI, 0f, 0f, 0f, 0, 0, 0);

Collect.cplayers[player.whoAmI].SpectreArmorEffectMana = true;
if (config.EnableConsumptionMode)
{
SendPlayerText($"魔力值上限 + {any}", new Color(0, 255, 255), player.Center + new Vector2(0f, 32f));
}

if (config.EnableSpectreArmorEffect_2)
{
Collect.cplayers[player.whoAmI].SpectreArmorEffectProjIndex = SpectreArmorProj.NewCProjectile(player.Center + Vector2.UnitY * 100f, Vector2.Zero, player.whoAmI, new float[0], 1).proj.whoAmI;
}
}
else if (flag && Collect.cplayers[player.whoAmI].SpectreArmorEffectMana && !Collect.cprojs[Collect.cplayers[player.whoAmI].SpectreArmorEffectProjIndex].isActive)
{

Collect.cplayers[player.whoAmI].SpectreArmorEffectProjIndex = SpectreArmorProj.NewCProjectile(player.Center + Vector2.UnitY * 100f, Vector2.Zero, player.whoAmI, new float[0], 1).proj.whoAmI;
}
if (!flag && Collect.cplayers[player.whoAmI].SpectreArmorEffectMana)
Expand Down Expand Up @@ -1120,7 +1137,7 @@ public void CthulhuShield(Player player)
}
if (Timer - Collect.cplayers[player.whoAmI].CthulhuShieldTime == (time * 60))
{
SendPlayerText(TShock.Players[player.whoAmI], "克苏鲁之盾冷却完成", new Color(255, 183, 183), player.Center);
SendPlayerText(TShock.Players[player.whoAmI], "冲刺类饰品冷却完成", new Color(255, 183, 183), player.Center);
}
}

Expand All @@ -1137,19 +1154,13 @@ public void WormScarf(Player player, Config config)
{
flag = true;
player.buffType[i] = 0;
player.buffTime[i] = 0;
player.buffImmune[i] = true;
}
}
if (flag)
{
TShock.Players[player.whoAmI].SendData((PacketTypes)50, "", player.whoAmI, 0f, 0f, 0f, 0);
}
}

var any = config.WormScarfSetBuff;
foreach (var effect in any)
{
TShock.Players[player.whoAmI].SetBuff(effect, 180, false);
if (flag){TShock.Players[player.whoAmI].SendData((PacketTypes)50, "", player.whoAmI, 0f, 0f, 0f, 0);}
}
foreach (var effect in config.WormScarfSetBuff){TShock.Players[player.whoAmI].SetBuff(effect, 180, false);}
}

public void VolatileGelatin(NpcStrikeEventArgs args)
Expand Down
2 changes: 2 additions & 0 deletions Challenger/Challenger/Config.cs
Original file line number Diff line number Diff line change
Expand Up @@ -223,6 +223,8 @@ public class Config
public int EnableSpectreArmorEffect_7 = 0;
[JsonProperty("幽灵套环绕的弹幕击退", Order = 2)]
public float EnableSpectreArmorEffect_8 = 0f;
[JsonProperty("幽灵套给什么永久BUFF", Order = 2)]
public int[] SpectreArmorEffectList { get; set; } = new int[] { 6, 7, 181, 178 };

[JsonProperty("甲虫套加多少生命上限")]
public int BeetleArmorEffect_1 = 60;
Expand Down
3 changes: 2 additions & 1 deletion Challenger/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,9 +49,10 @@
```
更新日志
1.0.8
修复了幽灵套永久BUFF
加入了箭袋饰品加强,启用无限弹药
佩戴箭袋类饰品攻击时自动重置弹药数量,无法进行分堆(避免玩家利用特性刷物品)
添加了蠕虫围巾永久BUFF、禁戒套的弹幕频率/范围、甲虫套的弹幕ID
添加了蠕虫围巾/幽灵套永久BUFF、禁戒套的弹幕频率/范围、甲虫套的弹幕ID
修改了大量默认的配置项参数(主要是肉后的套装)
1.0.7
Expand Down

0 comments on commit e14ea6f

Please sign in to comment.