This commit is contained in:
@@ -1,7 +1,35 @@
|
||||
using PkmnLib.Plugin.Gen7.Scripts.MoveVolatile;
|
||||
|
||||
namespace PkmnLib.Plugin.Gen7.Scripts.Moves;
|
||||
|
||||
[Script(ScriptCategory.Move, "fire_pledge")]
|
||||
public class FirePledge : Script
|
||||
{
|
||||
// TODO: pledge moves
|
||||
/// <inheritdoc />
|
||||
public override void StopBeforeMove(IExecutingMove move, ref bool stop)
|
||||
{
|
||||
if (move.MoveChoice.Volatile.Contains<FireWaterPledgeMove>() ||
|
||||
move.MoveChoice.Volatile.Contains<FireGrassPledgeMove>())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var pledgeMove = (IMoveChoice?)move.Battle.ChoiceQueue?.FirstOrDefault(x =>
|
||||
x is IMoveChoice mc && mc.User.BattleData?.SideIndex == move.User.BattleData?.SideIndex &&
|
||||
(mc.ChosenMove.MoveData.Name == "water_pledge" || mc.ChosenMove.MoveData.Name == "grass_pledge"));
|
||||
if (pledgeMove is null)
|
||||
return;
|
||||
|
||||
// If a pledge move is already queued, we stop the current move.
|
||||
stop = true;
|
||||
|
||||
if (pledgeMove.ChosenMove.MoveData.Name == "water_pledge")
|
||||
{
|
||||
pledgeMove.Volatile.Add(new FireWaterPledgeMove());
|
||||
}
|
||||
else if (pledgeMove.ChosenMove.MoveData.Name == "grass_pledge")
|
||||
{
|
||||
pledgeMove.Volatile.Add(new FireGrassPledgeMove());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,35 @@
|
||||
using PkmnLib.Plugin.Gen7.Scripts.MoveVolatile;
|
||||
|
||||
namespace PkmnLib.Plugin.Gen7.Scripts.Moves;
|
||||
|
||||
[Script(ScriptCategory.Move, "grass_pledge")]
|
||||
public class GrassPledge : Script
|
||||
{
|
||||
// TODO: pledge moves
|
||||
/// <inheritdoc />
|
||||
public override void StopBeforeMove(IExecutingMove move, ref bool stop)
|
||||
{
|
||||
if (move.MoveChoice.Volatile.Contains<GrassWaterPledgeMove>() ||
|
||||
move.MoveChoice.Volatile.Contains<FireGrassPledgeMove>())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var pledgeMove = (IMoveChoice?)move.Battle.ChoiceQueue?.FirstOrDefault(x =>
|
||||
x is IMoveChoice mc && mc.User.BattleData?.SideIndex == move.User.BattleData?.SideIndex &&
|
||||
(mc.ChosenMove.MoveData.Name == "water_pledge" || mc.ChosenMove.MoveData.Name == "fire_pledge"));
|
||||
if (pledgeMove is null)
|
||||
return;
|
||||
|
||||
// If a pledge move is already queued, we stop the current move.
|
||||
stop = true;
|
||||
|
||||
if (pledgeMove.ChosenMove.MoveData.Name == "water_pledge")
|
||||
{
|
||||
pledgeMove.Volatile.Add(new GrassWaterPledgeMove());
|
||||
}
|
||||
else if (pledgeMove.ChosenMove.MoveData.Name == "fire_pledge")
|
||||
{
|
||||
pledgeMove.Volatile.Add(new FireGrassPledgeMove());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -11,6 +11,10 @@ public class Incinerate : Script
|
||||
move.GetHitData(target, hit).Fail();
|
||||
return;
|
||||
}
|
||||
// TODO: Add message for item incineration
|
||||
move.Battle.EventHook.Invoke(new DialogEvent("item_incinerated", new Dictionary<string, object>
|
||||
{
|
||||
{ "pokemon", target },
|
||||
{ "item", target.HeldItem },
|
||||
}));
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,35 @@
|
||||
using PkmnLib.Plugin.Gen7.Scripts.MoveVolatile;
|
||||
|
||||
namespace PkmnLib.Plugin.Gen7.Scripts.Moves;
|
||||
|
||||
[Script(ScriptCategory.Move, "water_pledge")]
|
||||
public class WaterPledge : Script
|
||||
{
|
||||
// TODO: pledge moves
|
||||
/// <inheritdoc />
|
||||
public override void StopBeforeMove(IExecutingMove move, ref bool stop)
|
||||
{
|
||||
if (move.MoveChoice.Volatile.Contains<GrassWaterPledgeMove>() ||
|
||||
move.MoveChoice.Volatile.Contains<FireWaterPledgeMove>())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var pledgeMove = (IMoveChoice?)move.Battle.ChoiceQueue?.FirstOrDefault(x =>
|
||||
x is IMoveChoice mc && mc.User.BattleData?.SideIndex == move.User.BattleData?.SideIndex &&
|
||||
(mc.ChosenMove.MoveData.Name == "grass_pledge" || mc.ChosenMove.MoveData.Name == "fire_pledge"));
|
||||
if (pledgeMove is null)
|
||||
return;
|
||||
|
||||
// If a pledge move is already queued, we stop the current move.
|
||||
stop = true;
|
||||
|
||||
if (pledgeMove.ChosenMove.MoveData.Name == "grass_pledge")
|
||||
{
|
||||
pledgeMove.Volatile.Add(new GrassWaterPledgeMove());
|
||||
}
|
||||
else if (pledgeMove.ChosenMove.MoveData.Name == "fire_pledge")
|
||||
{
|
||||
pledgeMove.Volatile.Add(new FireWaterPledgeMove());
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user