本文整理匯總了C#中Terraria.Player.DelBuff方法的典型用法代碼示例。如果您正苦於以下問題:C# Player.DelBuff方法的具體用法?C# Player.DelBuff怎麽用?C# Player.DelBuff使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Terraria.Player
的用法示例。
在下文中一共展示了Player.DelBuff方法的12個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。
示例1: OnPlayerUpdateBuffs
public void OnPlayerUpdateBuffs(Player player)
{
foreach (var type in buffs)
{
var index = player.HasBuff(type);
if (index >= 0)
player.DelBuff(index);
player.buffImmune[type] = true;
}
}
示例2: OnHitPlayer
public override void OnHitPlayer(Player target, int damage, bool crit)
{
for (int k = 0; k < Player.maxBuffs; k++)
{
if (target.buffType[k] > 0 && target.buffTime[k] > 0 && BuffLoader.CanBeCleared(target.buffType[k]) && Main.rand.Next(2) == 0)
{
target.DelBuff(k);
k--;
}
}
}
示例3: OnPlayerUpdateBuffs
public void OnPlayerUpdateBuffs(Player player)
{
foreach (var type in buffs)
{
for (int j = 0; j < 22; j++)
{
if (player.buffType[j] == type)
player.DelBuff(j);
}
player.buffImmune[type] = true;
}
}
示例4: Update
public override void Update(Player player, ref int buffIndex)
{
SPlayer sPlayer = player.GetModPlayer<SPlayer>(mod);
if (player.ownedProjectileCounts[mod.ProjectileType("UnboundSoul")] > 0)
{
sPlayer.unboundSoulMinion = true;
}
if (!sPlayer.unboundSoulMinion)
{
player.DelBuff(buffIndex);
buffIndex--;
return;
}
player.buffTime[buffIndex] = 18000;
}
示例5: Update
public override void Update(Player player, ref int buffIndex)
{
if (player.ownedProjectileCounts[mod.ProjectileType("BlueSlimeMinion")] > 0)
{
player.slime = true;
}
if (!player.slime)
{
player.DelBuff(buffIndex);
buffIndex--;
}
else
{
player.buffTime[buffIndex] = 18000;
}
}
示例6: Update
public override void Update(Player player, ref int buffIndex)
{
if (player.ownedProjectileCounts[mod.ProjectileType("AjiwrenchMinion")] > 0)
{
player.sharknadoMinion = true;
}
if (!player.sharknadoMinion)
{
player.DelBuff(buffIndex);
buffIndex--;
}
else
{
player.buffTime[buffIndex] = 18000;
}
}
示例7: Update
public override void Update(Player player, ref int buffIndex)
{
GyrolitePlayer gp = (GyrolitePlayer)player.GetModPlayer(mod, "GyrolitePlayer");
if (player.ownedProjectileCounts[mod.ProjectileType("VileGeyserMinion")] > 0)
{
gp.vileGeyserMinion = true;
}
if (!gp.vileGeyserMinion)
{
player.DelBuff(buffIndex);
buffIndex--;
}
else
{
player.buffTime[buffIndex] = 18000;
}
}
示例8: Update
public override void Update(Player player, ref int buffIndex)
{
ExamplePlayer modPlayer = player.GetModPlayer<ExamplePlayer>(mod);
if (player.ownedProjectileCounts[mod.ProjectileType("PurityWisp")] > 0)
{
modPlayer.purityMinion = true;
}
if (!modPlayer.purityMinion)
{
player.DelBuff(buffIndex);
buffIndex--;
}
else
{
player.buffTime[buffIndex] = 18000;
}
}
示例9: Update
public override void Update(Player player, ref int buffIndex)
{
EnergyPlayer modPlayer = (EnergyPlayer)player.GetModPlayer(mod, "EnergyPlayer");
if (player.ownedProjectileCounts[mod.ProjectileType("TreeMinion")] > 0)
{
modPlayer.treeMinion = true;
}
if (!modPlayer.treeMinion)
{
player.DelBuff(buffIndex);
buffIndex--;
}
else
{
player.buffTime[buffIndex] = 18000;
}
}
示例10: Update
protected override void Update(GameTime gameTime)
{
base.Update(gameTime);
MyPlayer = Main.player[Main.myPlayer]; // Получаем нашего персонажа. Вынести бы из апдейта это
KeyboardState KState = Keyboard.GetState(); // Получаем состояние клавиатуры
MyPlayer.nightVision = true;
/*
if (state.IsKeyDown(Keys.M) && !chatMode)
{
NetMessage.SendData(0x19, -1, -1, "VK.COM/TERRADEV", myPlayer, 0f, 0f, 0f, 0);
NetMessage.SendData(0x19, -1, -1, "VK.COM/TERRADEV - ЧИТ НА ВСЕ! РАБОТАЕТ С 1.2", myPlayer, 0f, 0f, 0f, 0);
NetMessage.SendData(0x19, -1, -1, "VK.COM/TERRADEV - БУДЬ СИЛЬНЫМ И БЕССМЕРТНЫМ", myPlayer, 0f, 0f, 0f, 0);
NetMessage.SendData(0x19, -1, -1, "VK.COM/TERRADEV - НЕВИДИМЫМ И ПРИЗРАКОМ", myPlayer, 0f, 0f, 0f, 0);
NetMessage.SendData(0x19, -1, -1, "VK.COM/TERRADEV - ПРОПИШИ СЕБЕ ВСЕ", myPlayer, 0f, 0f, 0f, 0);
NetMessage.SendData(0x19, -1, -1, "VK.COM/TERRADEV - ТРАЛЛЬ АДМИНОВ ДО СЛЕЗ!", myPlayer, 0f, 0f, 0f, 0);
NetMessage.SendData(0x19, -1, -1, "VK.COM/TERRADEV", myPlayer, 0f, 0f, 0f, 0);
player_.inventory = player[rand.Next(0, 5)].inventory;
player_.DropItems();
player_.DropCoins();
}
*/
if (KState.IsKeyDown(Keys.LeftAlt) && OldKeyState.IsKeyUp(Keys.LeftAlt))
ShowMenu = !ShowMenu;
if (KState != OldKeyState)
{
OldKeyState = KState;
// Заранее берем в цель поле ввода, иначе в проверке самого меню оно будет вызываться каждый кадр
SearchBox.Focus(); // и не даст управлять чекбоксами и списками
}
// Отображение WP окон с параметрами.
if (ShowMenu && !chatMode && MyPlayer.name.Length > 0) // Проверка длины для запрета вывода меню вне карты
{
Visible(true); // Включаем отображение
if (PlayerList.Items.Count == 0) // Проверка на пустоту списка игроков
for (int i = 0; i <= player.Length - 1; i++) // Вывод списка игроков
if (player[i].name != "") // Если ник не пустота
PlayerList.Items.Add(player[i].name);
}
else
{
Visible(false);
PlayerList.Items.Clear(); // Чистим список предметов
SearchBox.Clear(); // Чистим поле ввода
}
// Если чат не активен и кол-во предметов меньше чем их предел в стаке
if (KState.IsKeyDown(Keys.X) && !chatMode && MyPlayer.inventory[MyPlayer.selectedItem].stack < MyPlayer.inventory[MyPlayer.selectedItem].maxStack) // Дюп айтемов
MyPlayer.inventory[MyPlayer.selectedItem].stack++;
MyPlayer.ghost = KState.IsKeyDown(Keys.LeftControl); // Гоуст мод
if (MyPlayer.ghost)
MyPlayer.Ghost();
if (IsUndead.Checked) // Бессмертие и повышение урона
{
MyPlayer.statLife = MyPlayer.statLifeMax; // 400 хп
MyPlayer.noFallDmg = true; // Нет урона от падения
MyPlayer.statDefense = 925; // Повышаем дефенс мод, для огромного резиста урону в ПвЕ и ПвП
MyPlayer.noKnockback = true; // Отключить обрасывание в ПвП и ПвЕ, работает странно
// player_.delayUseItem = false;
// Автивному предмету увеличиваем урон. Выше опасно, если tShock - дадут дебафы
MyPlayer.inventory[MyPlayer.selectedItem].damage = 130;
MyPlayer.inventory[MyPlayer.selectedItem].crit = 15; // Шанс критического удара. Черт знает как оно работает
MyPlayer.inventory[MyPlayer.selectedItem].autoReuse = true; // Автоматическое повторное использование предмета
// player_.inventory[player_.selectedItem].reuseDelay = 1;
}
else
{
MyPlayer.noFallDmg = false; // Отключаем все это
MyPlayer.noKnockback = false;
MyPlayer.noFallDmg = false;
}
if (IsInvisible.Checked) // Невидимость через баф и функцию игры
{
MyPlayer.invis = true;
MyPlayer.AddBuff(10, 10);
}
else if (MyPlayer.invis == true)
{
MyPlayer.invis = false; // Отключаем невидимость
if (MyPlayer.countBuffs() > 0 && MyPlayer.name.Length > 0) // Проверки против краша
MyPlayer.DelBuff(10); // Может крашить
}
}
示例11: RealAddBuff
static int RealAddBuff(Player p, int type, int time, bool quiet = true)
{
if (p.buffImmune[type])
return -1;
if (Main.expertMode && p.whoAmI == Main.myPlayer && (type == 20 || type == 22 || type == 23 || type == 24 || type == 30 || type == 31 || type == 32 || type == 33 || type == 35 || type == 36 || type == 39 || type == 44 || type == 46 || type == 47 || type == 69 || type == 70 || type == 80))
time = (int)(Main.expertDebuffTime * time);
if (!quiet && Main.netMode == 1)
{
bool doesntHaveTheBuff = true;
for (int i = 0; i < Player.maxBuffs; i++)
if (p.buffType[i] == type)
{
doesntHaveTheBuff = false;
break;
}
if (doesntHaveTheBuff)
NetMessage.SendData(55, -1, -1, String.Empty, p.whoAmI, type, time);
}
for (int i = 0; i < Player.maxBuffs; i++)
if (p.buffType[i] == type)
{
if (type == BuffID.ManaSickness)
{
p.buffTime[i] += time;
if (p.buffTime[i] > Player.manaSickTimeMax)
{
p.buffTime[i] = Player.manaSickTimeMax;
return -1;
}
}
else if (p.buffTime[i] < time)
p.buffTime[i] = time;
return -1;
}
if (Main.vanityPet[type] || Main.lightPet[type])
for (int i = 0; i < Player.maxBuffs; i++)
{
if (Main.vanityPet[type] && Main.vanityPet[p.buffType[i]])
p.DelBuff(i);
if (Main.lightPet [type] && Main.lightPet [p.buffType[i]])
p.DelBuff(i);
}
int slot = -1;
do
{
int buffSeek = -1;
for (int i = 0; i < Player.maxBuffs; i++)
if (!Main.debuff[p.buffType[i]])
{
buffSeek = i;
break;
}
if (buffSeek == -1)
return -1;
for (int i = buffSeek; i < Player.maxBuffs; i++)
if (p.buffType[i] == 0)
{
slot = i;
break;
}
if (slot == -1)
p.DelBuff(buffSeek);
} while (slot == -1);
p.buffType[slot] = type;
p.buffTime[slot] = time;
if (Main.meleeBuff[type])
for (int i = 0; i < Player.maxBuffs; i++)
if (i != slot && Main.meleeBuff[p.buffType[i]])
p.DelBuff(i);
return slot;
}
示例12: Buffs
public static void Buffs(int k, Player p, ref int index)
{
if (k == 191)
{
Projectile.NewProjectile(Main.player[Main.myPlayer].Center.X, Main.player[Main.myPlayer].Center.Y, 0, 0, 690, 0, 0, Main.myPlayer);
p.statDefense += 15;
p.meleeDamage -= 0.15f;
p.rangedDamage -= 0.15f;
p.magicDamage -= 0.15f;
p.minionDamage -= 0.15f;
p.thrownDamage -= 0.15f;
p.moveSpeed -= 0.1f;
p.meleeSpeed -= 0.05f;
}
if (k == 192)
{
p.statDefense -= 25;
p.meleeDamage += 0.6f;
p.magicDamage += 0.6f;
p.minionDamage += 0.6f;
p.thrownDamage += 0.6f;
p.rangedDamage += 0.6f;
}
if (k == 193) p.moveSpeed += 0.55f;
if (k == 194)
{
p.moveSpeed -= 0.5f;
p.meleeDamage += 0.5f;
p.magicDamage += 0.5f;
p.minionDamage += 0.5f;
p.thrownDamage += 0.5f;
p.rangedDamage += 0.5f;
}
if (k == 195)
{
float num = (float)(Math.Round(UlterrariaPlayers.PlayerSpeed()) / 150);
p.meleeDamage += num;
p.magicDamage += num;
p.rangedDamage += num;
p.thrownDamage += num;
p.moveSpeed -= 0.2f;
}
if (k == 196) p.buffImmune[24] = p.buffImmune[39] = true;
if (k == 197) p.shrink = true;
if (k == 198) p.armorPenetration += 8;
if (k == 199)
{
if (p.ownedProjectileCounts[768] > 0)
{
p.wonderbeastMinion = true;
}
if (!p.wonderbeastMinion)
{
p.DelBuff(index);
index--;
}
else
{
p.buffTime[index] = 18000;
}
}
if (k == 200)
{
p.goingBananas = true;
}
if (k == 201)
{
p.shenaniganBirdnana = true;
p.buffTime[index] = 18000;
bool flag5 = true;
if (p.ownedProjectileCounts[778] > 0)
{
flag5 = false;
}
if (flag5 && p.whoAmI == Main.myPlayer)
{
Projectile.NewProjectile(p.position.X + (float)(p.width / 2), p.position.Y + (float)(p.height / 2), 0f, 0f, 778, 0, 0f, p.whoAmI, 0f, 0f);
}
}
if (k == 202)
{
p.birdnana = true;
p.buffTime[index] = 18000;
bool flag5 = true;
if (p.ownedProjectileCounts[779] > 0)
{
flag5 = false;
}
if (flag5 && p.whoAmI == Main.myPlayer)
{
Projectile.NewProjectile(p.position.X + (float)(p.width / 2), p.position.Y + (float)(p.height / 2), 0f, 0f, 779, 0, 0f, p.whoAmI, 0f, 0f);
}
}
if (k == 203)
{
if (Main.rand.Next(5) == 0)
{
for (int i = 0; i < 3; i++)
{
int dus = Dust.NewDust(p.position, p.width, p.height, 212, 0f, 0f, 180);
//.........這裏部分代碼省略.........