public static void Proc(ref Actor sActor, ref Actor dActor, ref Map.SkillArgs args) { if (sActor.type != ActorType.PC) { SkillHandler.SetSkillFailed(ref args); return; } ActorEventHandlers.PC_EventHandler eh = (SagaMap.ActorEventHandlers.PC_EventHandler)sActor.e; args.damage = 0; args.isCritical = Map.SkillArgs.AttackResult.Nodamage; //not for damage eh.C.OnUsePromiseStone(sActor.mapID, sActor.x, sActor.y, sActor.z); }
public static void Proc(ref Actor sActor, ref Actor dActor, ref Map.SkillArgs args) { byte level; ActorPC pc = (ActorPC)sActor; level = (byte)(args.skillID - baseID + 1); ActorEventHandlers.PC_EventHandler eh = (ActorEventHandlers.PC_EventHandler)pc.e; if (!SkillHandler.CheckSkillSP(pc, args.skillID)) { SkillHandler.SetSkillFailed(ref args); return; } SkillHandler.GainLP(pc, args.skillID, (byte)((level + 1) / 2)); args.damage = 0; args.isCritical = Map.SkillArgs.AttackResult.Nodamage; }