Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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