unit ShenTieJiang;
interface
uses Classes, SysUtils;
type
WPSXB = class
private
ADDAC:Int64; //增加的防御
ADDMAC:Int64; //增加的魔御
ADDDC: Int64; //增加的攻击
ADDMC: Int64; //增加的攻击魔法
ADDSC : Int64; //增加的攻击道术
ADDZMYJ : Int64; //增加的攻击致命一击
ZMYJID:Integer;
ADDHXYJ : Int64; //增加的攻击会心一击
HXYJID:Integer;
ADDGDSH : Int64; //增加的固定伤害
GDSHID:Integer;
ADDHPSX : Int64; //增加的HP上限
HPSXID:Integer;
ADDMPSX : Int64; //增加的MP上限
MPSXID:Integer;
ADDJBBL : Int64; //增加的金币爆率
JBBLID:Integer;
ADDSHXS : Int64; //增加的伤害吸收
SHXSID:Integer;
ADDSHFT : Int64; //增加的伤害反弹
SHFTID:Integer;
ADDSHZJ : Int64; //增加的伤害增加
SHZJID:Integer;
ADDMPHF : Int64; //增加的MP回复
MPHFID:Integer;
ADDHPHF : Int64; //增加的HP回复
HPHFID:Integer;
ADDWPBL : Int64; //增加的物品爆率
WPBLID:Integer;
ADDEXP: Int64; //增加的经验值
EXPID:Integer;
ADDHPBFB: Int64;//增加的HP百分比
HPBFBID:Integer;
ADDMPBFB: Int64;//增加的MP百分比
MPBFBID:Integer;
public
constructor Create;
destructor Destroy; override;
end;
procedure Main(Npc: TNormNpc; Player: TPlayObject; Args: TArgs);
implementation
constructor WPSXB.Create;
begin
ADDAC:=0; //增加的防御
ADDMAC:=0; //增加的魔御
ADDDC:=0; //增加的攻击
ADDMC:=0; //增加的攻击魔法
ADDSC :=0; //增加的攻击道术
ADDZMYJ :=0; //增加的攻击致命一击
ZMYJID:=0;
ADDHXYJ :=0; //增加的攻击会心一击
HXYJID:=0;
ADDGDSH :=0; //增加的固定伤害
GDSHID:=0;
ADDHPSX :=0; //增加的HP上限
HPSXID:=0;
ADDMPSX :=0; //增加的MP上限
MPSXID:=0;
ADDJBBL :=0; //增加的金币爆率
JBBLID:=0;
ADDSHXS :=0; //增加的伤害吸收
SHXSID:=0;
ADDSHFT :=0; //增加的伤害反弹
SHFTID:=0;
ADDSHZJ :=0; //增加的伤害增加
SHZJID:=0;
ADDMPHF :=0; //增加的MP回复
MPHFID:=0;
ADDHPHF :=0; //增加的HP回复
HPHFID:=0;
ADDWPBL :=0; //增加的物品爆率
WPBLID:=0;
ADDEXP:=0; //增加的经验值
EXPID:=0;
ADDHPBFB:=0;//增加的HP百分比
HPBFBID:=0;
ADDMPBFB:=0;//增加的MP百分比
MPBFBID:=0;
end;
destructor WPSXB.Destroy;
begin
inherited;
end;
procedure Main(Npc: TNormNpc; Player: TPlayObject; Args: TArgs);
begin
Npc.SayEx(Player,'属性转移','');
player.CallMethod(Npc,'@ShenTieJiang.SayUp');
end;
Procedure SayUp(Npc: TNormNpc; Player: TPlayObject; Args: TArgs);
Const
SS=[[
{S=属性转移;C=254} {S=Hot~;C=249} {S=让装备更有价值;AC=#ff2a00,#ff7f00,#ffbf00,#ffff00,#d5ff00,#80ff00,#00ff55,#00ffa8,#00ffff,#00d5ff,#00aaff,#002bff,#aa00ff,#d500ff,#ff00ff,#ff00aa,#ff0055;AT=300}\
{S=--------------------------------------------------------------;C=91}\
{S=属性转移说明:;c=22;}\
1,{S=属性转移可将任意极品转移至指定的装备上;C=250}\
2,{S=转移时有几率失败,失败只收取100元宝手续费;C=249}\
3,{S=转移费用说明:;c=251}
{S=* 任意属性每转移1点收取元宝费用 100枚;C=251}\
{S=------------------请选择您要转移的属性----------------------;C=91}\
{S=转移攻击;C=250} <{I=$ZYGJ$;F=NewVvUI.Data}/@GXSX(1)> {S=转移伤害吸收;C=250} <{I=$ZYSHXS$;F=NewVvUI.Data}/@GXSX(4)> {S=转移致命一击;C=250} <{I=$ZMYJ$;F=NewVvUI.Data}/@GXSX(7)>\
{S=转移魔法;C=250} <{I=$ZYMF$;F=NewVvUI.Data}/@GXSX(2)> {S=转移伤害反弹;C=250} <{I=$ZYSHFT$;F=NewVvUI.Data}/@GXSX(5)> {S=转移会心一击;C=250} <{I=$HXYJ$;F=NewVvUI.Data}/@GXSX(8)>\
{S=转移道术;C=250} <{I=$ZYDS$;F=NewVvUI.Data}/@GXSX(3)> {S=转移伤害加成;C=250} <{I=$ZYSHJC$;F=NewVvUI.Data}/@GXSX(6)> {S=转移固定伤害;C=250} <{I=$GDSH$;F=NewVvUI.Data}/@GXSX(9)>\
{S=转移HP恢复;C=250} <{I=$HPHF$;F=NewVvUI.Data}/@GXSX(10)> {S=转移MP恢复;C=250} <{I=$MPHF$;F=NewVvUI.Data}/@GXSX(11)> {S=转移HP上限;C=250} <{I=$HPSX$;F=NewVvUI.Data}/@GXSX(12)>\
{S=转移MP上限;C=250} <{I=$MPSX$;F=NewVvUI.Data}/@GXSX(13)> {S=转移物品爆率;C=250} <{I=$WPBL$;F=NewVvUI.Data}/@GXSX(14)> {S=转移金币爆率;C=250} <{I=$JBBL$;F=NewVvUI.Data}/@GXSX(15)>\
{S=转移经验值 ;C=250}<{I=$JYZBL$;F=NewVvUI.Data}/@GXSX(16)> {S=转移HP百分比;C=250} <{I=$HPBFB$;F=NewVvUI.Data}/@GXSX(17)> {S=转移MP百分比;C=250} <{I=$MPBFB$;F=NewVvUI.Data}/@GXSX(18)>\
{S=需要元宝:;c=253}{S=$YBXY$;C=249}\{S=>>>>>>>>>>>>>;AC=251,249,222,210;AT=150;x=80}
]];
Var ASAY:string;AItem: TUserItem;x:Int64;
Begin //238关,239开
ASAY:=SS;
If Player.VarBoolean('转移攻击').AsBoolean then
Begin
ASAY:=ASAY.Replace('$ZYGJ$','239');
end Else ASAY:=ASAY.Replace('$ZYGJ$','238');
If Player.VarBoolean('转移魔法').AsBoolean then
Begin
ASAY:=ASAY.Replace('$ZYMF$','239');
end Else ASAY:=ASAY.Replace('$ZYMF$','238');
If Player.VarBoolean('转移道术').AsBoolean then
Begin
ASAY:=ASAY.Replace('$ZYDS$','239');
end Else ASAY:=ASAY.Replace('$ZYDS$','238');
If Player.VarBoolean('转移伤害吸收').AsBoolean then
Begin
ASAY:=ASAY.Replace('$ZYSHXS$','239');
end Else ASAY:=ASAY.Replace('$ZYSHXS$','238');
If Player.VarBoolean('转移伤害反弹').AsBoolean then
Begin
ASAY:=ASAY.Replace('$ZYSHFT$','239');
end Else ASAY:=ASAY.Replace('$ZYSHFT$','238');
If Player.VarBoolean('转移伤害加成').AsBoolean then
Begin
ASAY:=ASAY.Replace('$ZYSHJC$','239');
end Else ASAY:=ASAY.Replace('$ZYSHJC$','238');
If Player.VarBoolean('转移致命一击').AsBoolean then
Begin
ASAY:=ASAY.Replace('$ZMYJ$','239');
end Else ASAY:=ASAY.Replace('$ZMYJ$','238');
If Player.VarBoolean('转移会心一击').AsBoolean then
Begin
ASAY:=ASAY.Replace('$HXYJ$','239');
end Else ASAY:=ASAY.Replace('$HXYJ$','238');
If Player.VarBoolean('转移固定伤害').AsBoolean then
Begin
ASAY:=ASAY.Replace('$GDSH$','239');
end Else ASAY:=ASAY.Replace('$GDSH$','238');
If Player.VarBoolean('转移HP恢复').AsBoolean then
Begin
ASAY:=ASAY.Replace('$HPHF$','239');
end Else ASAY:=ASAY.Replace('$HPHF$','238');
If Player.VarBoolean('转移MP恢复').AsBoolean then
Begin
ASAY:=ASAY.Replace('$MPHF$','239');
end Else ASAY:=ASAY.Replace('$MPHF$','238');
If Player.VarBoolean('转移HP上限').AsBoolean then
Begin
ASAY:=ASAY.Replace('$HPSX$','239');
end Else ASAY:=ASAY.Replace('$HPSX$','238');
If Player.VarBoolean('转移MP上限').AsBoolean then
Begin
ASAY:=ASAY.Replace('$MPSX$','239');
end Else ASAY:=ASAY.Replace('$MPSX$','238');
If Player.VarBoolean('转移物品爆率').AsBoolean then
Begin
ASAY:=ASAY.Replace('$WPBL$','239');
end Else ASAY:=ASAY.Replace('$WPBL$','238');
If Player.VarBoolean('转移金币爆率').AsBoolean then
Begin
ASAY:=ASAY.Replace('$JBBL$','239');
end Else ASAY:=ASAY.Replace('$JBBL$','238');
If Player.VarBoolean('转移经验值').AsBoolean then
Begin
ASAY:=ASAY.Replace('$JYZBL$','239');
end Else ASAY:=ASAY.Replace('$JYZBL$','238');
If Player.VarBoolean('转移HP百分比').AsBoolean then
Begin
ASAY:=ASAY.Replace('$HPBFB$','239');
end Else ASAY:=ASAY.Replace('$HPBFB$','238');
If Player.VarBoolean('转移MP百分比').AsBoolean then
Begin
ASAY:=ASAY.Replace('$MPBFB$','239');
end Else ASAY:=ASAY.Replace('$MPBFB$','238');
AItem :=Player.CustomItem[0] ;
If AItem <> Nil then
begin
x:=GetYBXQ(Player,AItem) * 100;
ASAY:=ASAY.Replace('$YBXY$',x.ToString);
end Else ASAY:=ASAY.Replace('$YBXY$','未放入转出物品');
Player.UpdateSay('属性转移',ASAY);
end;
function GetYBXQ( Player: TPlayObject;FRWP: TUserItem):Int64;
Var I:WPSXB ;a:Int64;
begin
a:=0;
I:=WPSXB.Create;
GetYYSX(FRWP,I);
If (Player.VarBoolean('转移攻击').AsBoolean) and (I.ADDDC > 0)then a:=a+I.ADDDC;
If (Player.VarBoolean('转移魔法').AsBoolean) and (I.ADDMC > 0)then a:=a+I.ADDMC;
If (Player.VarBoolean('转移道术').AsBoolean) and (I.ADDSC > 0)then a:=a+I.ADDSC;
If (Player.VarBoolean('转移伤害吸收').AsBoolean) and (I.ADDSHXS > 0)then a:=a+I.ADDSHXS;
If (Player.VarBoolean('转移伤害反弹').AsBoolean) and (I.ADDSHFT > 0)then a:=a+I.ADDSHFT;
If (Player.VarBoolean('转移伤害加成').AsBoolean) and (I.ADDSHZJ > 0)then a:=a+I.ADDSHZJ;
If (Player.VarBoolean('转移致命一击').AsBoolean) and (I.ADDZMYJ > 0)then a:=a+I.ADDZMYJ;
If (Player.VarBoolean('转移会心一击').AsBoolean) and (I.ADDHXYJ > 0)then a:=a+I.ADDHXYJ;
If (Player.VarBoolean('转移固定伤害').AsBoolean) and (I.ADDGDSH > 0)then a:=a+I.ADDGDSH;
If (Player.VarBoolean('转移HP恢复').AsBoolean) and (I.ADDHPHF > 0)then a:=a+I.ADDHPHF;
If (Player.VarBoolean('转移MP恢复').AsBoolean) and (I.ADDMPHF > 0)then a:=a+I.ADDMPHF;
If (Player.VarBoolean('转移HP上限').AsBoolean) and (I.ADDHPSX > 0)then a:=a+I.ADDHPSX;
If (Player.VarBoolean('转移MP上限').AsBoolean) and (I.ADDMPSX > 0)then a:=a+I.ADDMPSX;
If (Player.VarBoolean('转移物品爆率').AsBoolean) and (I.ADDWPBL > 0)then a:=a+I.ADDWPBL;
If (Player.VarBoolean('转移金币爆率').AsBoolean) and (I.ADDJBBL > 0)then a:=a+I.ADDJBBL;
If (Player.VarBoolean('转移经验值').AsBoolean) and (I.ADDEXP > 0)then a:=a+I.ADDEXP;
If (Player.VarBoolean('转移HP百分比').AsBoolean) and (I.ADDHPBFB > 0)then a:=a+I.ADDHPBFB;
If (Player.VarBoolean('转移MP百分比').AsBoolean) and (I.ADDMPBFB > 0)then a:=a+I.ADDMPBFB;
Result:=a;
end;
Procedure KSZY(Npc: TNormNpc; Player: TPlayObject; Args: TArgs);
Var wp,wp2,zzz:TUserItem; YBS:Int64;
begin
wp :=Player.CustomItem[0] ;
wp2 :=Player.CustomItem[1] ;
If wp <> Nil then
Begin
YBS:= GetYBXQ(Player,wp) * 100;
If wp2 <> nil then
begin
If Player.CanTakeGameMoney(2,YBS) then
begin
If FJSXSet(Player,wp,wp2) then
Begin
Player.TakeGameMoney(2,YBS,'属性转移收取');
end;
end Else Player.Messagebox('你都没有'+YBS.ToString+'元宝');
end Else Player.Messagebox('请放入要转入的装备!');
end Else Player.Messagebox('请放入要转出的装备!') ;
end;
function FJSXSet(Player:TPlayObject;wp,wp1: TUserItem):Boolean;
Var I,y:WPSXB;czsl,czsl1,m,h:Integer;
begin
I:=WPSXB.Create;
y:=WPSXB.Create;
czsl:=GetYYSX(wp1,I); //接受属性目标
czsl1:=GetYYSX(wp,y); //判断被转移目标是否拥有属性
IF czsl = -1 then
begin
czsl:=0;
end Else czsl:=czsl+1;
// DeBug('当前接受装备起始序号:'+czsl.toString);
If (Player.VarBoolean('转移攻击').AsBoolean) And (wp.AddDC > 0) then
Begin
wp1.AddDC:=wp.AddDC;
wp.AddDC:=0;
end;
If (Player.VarBoolean('转移魔法').AsBoolean) And (wp.AddMC > 0) then
Begin
wp1.AddMC:=wp.AddMC;
wp.AddMC:=0;
end;
If (Player.VarBoolean('转移道术').AsBoolean) And (wp.AddSC > 0) then
Begin
wp1.AddSC:=wp.AddSC;
wp.AddSC:=0;
end;
If (Player.VarBoolean('转移伤害吸收').AsBoolean) and (y.ADDSHXS > 0)then
Begin
wp1.AddPoint[czsl].ValueType:= wp.AddPoint[y.SHXSID].ValueType;
wp1.AddPoint[czsl].Value:=wp.AddPoint[y.SHXSID].Value;
czsl:=czsl+1;
wp.AddPoint[y.SHXSID].Value:=0;
end;
If (Player.VarBoolean('转移伤害反弹').AsBoolean) and (y.ADDSHFT > 0)then
Begin
wp1.AddPoint[czsl].ValueType:= wp.AddPoint[y.SHFTID].ValueType;
wp1.AddPoint[czsl].Value:=wp.AddPoint[y.SHFTID].Value;
czsl:=czsl+1;
wp.AddPoint[y.SHFTID].Value:=0;
end;
If (Player.VarBoolean('转移伤害加成').AsBoolean) and (y.ADDSHZJ > 0)then
Begin
wp1.AddPoint[czsl].ValueType:= wp.AddPoint[y.SHFTID].ValueType;
wp1.AddPoint[czsl].Value:=wp.AddPoint[y.SHFTID].Value;
czsl:=czsl+1;
wp.AddPoint[y.SHFTID].Value:=0;
end;
If (Player.VarBoolean('转移致命一击').AsBoolean) and (y.ADDZMYJ > 0)then
Begin
wp1.AddPoint[czsl].ValueType:= wp.AddPoint[y.ZMYJID].ValueType;
wp1.AddPoint[czsl].Value:=wp.AddPoint[y.ZMYJID].Value;
czsl:=czsl+1;
//DeBug('当前接受装备起始序号:'+czsl.toString);
//DeBug('当前转出装备起始序号:'+y.GDSHID.toString);
wp.AddPoint[y.ZMYJID].Value:=0;
end;
If (Player.VarBoolean('转移会心一击').AsBoolean) and (y.ADDHXYJ > 0)then
begin
wp1.AddPoint[czsl].ValueType:= wp.AddPoint[y.HXYJID].ValueType;
wp1.AddPoint[czsl].Value:=wp.AddPoint[y.HXYJID].Value;
czsl:=czsl+1;
wp.AddPoint[y.HXYJID].Value:=0;
end;
If (Player.VarBoolean('转移固定伤害').AsBoolean) and (y.ADDGDSH > 0)then
begin
wp1.AddPoint[czsl].ValueType:= wp.AddPoint[y.GDSHID].ValueType;
wp1.AddPoint[czsl].Value:=wp.AddPoint[y.GDSHID].Value;
czsl:=czsl+1;
//DeBug('当前接受装备起始序号:'+czsl.toString);
// DeBug('当前转出装备起始序号:'+y.GDSHID.toString);
wp.AddPoint[y.GDSHID].Value:=0;
end;
If (Player.VarBoolean('转移HP恢复').AsBoolean) and (y.ADDHPHF > 0)then
Begin
wp1.AddPoint[czsl].ValueType:= wp.AddPoint[y.HPHFID].ValueType;
wp1.AddPoint[czsl].Value:=wp.AddPoint[y.HPHFID].Value;
czsl:=czsl+1;
wp.AddPoint[y.HPHFID].Value:=0;
end;
If (Player.VarBoolean('转移MP恢复').AsBoolean) and (y.ADDMPHF > 0)then
Begin
wp1.AddPoint[czsl].ValueType:= wp.AddPoint[y.MPHFID].ValueType;
wp1.AddPoint[czsl].Value:=wp.AddPoint[y.MPHFID].Value;
czsl:=czsl+1;
wp.AddPoint[y.MPHFID].Value:=0;
end;
If (Player.VarBoolean('转移HP上限').AsBoolean) and (y.ADDHPSX > 0)then
Begin
wp1.AddPoint[czsl].ValueType:= wp.AddPoint[y.HPSXID].ValueType;
wp1.AddPoint[czsl].Value:=wp.AddPoint[y.HPSXID].Value;
czsl:=czsl+1;
wp.AddPoint[y.HPSXID].Value:=0;
end;
If (Player.VarBoolean('转移MP上限').AsBoolean) and (y.ADDMPSX > 0)then
Begin
wp1.AddPoint[czsl].ValueType:= wp.AddPoint[y.MPSXID].ValueType;
wp1.AddPoint[czsl].Value:=wp.AddPoint[y.MPSXID].Value;
czsl:=czsl+1;
wp.AddPoint[y.MPSXID].Value:=0
end;
If (Player.VarBoolean('转移物品爆率').AsBoolean) and (y.ADDWPBL > 0)then
Begin
wp1.AddPoint[czsl].ValueType:= wp.AddPoint[y.WPBLID].ValueType;
wp1.AddPoint[czsl].Value:=wp.AddPoint[y.WPBLID].Value;
czsl:=czsl+1;
wp.AddPoint[y.WPBLID].Value:=0;
end;
If (Player.VarBoolean('转移金币爆率').AsBoolean) and (y.ADDJBBL > 0)then
Begin
wp1.AddPoint[czsl].ValueType:= wp.AddPoint[y.JBBLID].ValueType;
wp1.AddPoint[czsl].Value:=wp.AddPoint[y.JBBLID].Value;
czsl:=czsl+1;
wp.AddPoint[y.JBBLID].Value:=0;
end;
If (Player.VarBoolean('转移经验值').AsBoolean) and (y.ADDEXP > 0)then
Begin
wp1.AddPoint[czsl].ValueType:= wp.AddPoint[y.EXPID].ValueType;
wp1.AddPoint[czsl].Value:=wp.AddPoint[y.EXPID].Value;
czsl:=czsl+1;
wp.AddPoint[y.EXPID].Value:=0;
end;
If (Player.VarBoolean('转移HP百分比').AsBoolean) and (y.ADDHPBFB > 0)then
Begin
wp1.AddPoint[czsl].ValueType:= wp.AddPoint[y.HPBFBID].ValueType;
wp1.AddPoint[czsl].Value:=wp.AddPoint[y.HPBFBID].Value;
czsl:=czsl+1;
wp.AddPoint[y.HPBFBID].Value:=0;
end;
If (Player.VarBoolean('转移MP百分比').AsBoolean) and (y.ADDMPBFB > 0)then
Begin
wp1.AddPoint[czsl].ValueType:= wp.AddPoint[y.MPBFBID].ValueType;
wp1.AddPoint[czsl].Value:=wp.AddPoint[y.MPBFBID].Value;
czsl:=czsl+1;
wp.AddPoint[y.MPBFBID].Value:=0;
end;
Player.UpdateItem(wp1);
Player.UpdateItem(wp);
Player.SendMessage('物品['+wp1.DisplayName+']属性已更新!',1);
Result:=True;
end;
procedure GXSX(Npc: TNormNpc; Player: TPlayObject; Args: TArgs);
Begin
If (Args.Int[0] > 0)then
begin
Case Args.Int[0] of
//1取攻击,2取魔法,3取道术,4取伤害吸收,5取伤害反弹,6取伤害加成,7取致命一击,8取会心一击,9取固定伤害
//10取HP恢复,11取MP恢复,12取HP上限,13取MP上限,14取物品爆率,15取金币爆率
//16经验值,17HP百分比,18MP百分比
1:
begin
If Player.VarBoolean('转移攻击').AsBoolean then
begin
Player.VarBoolean('转移攻击').AsBoolean:=False;
end Else Player.VarBoolean('转移攻击').AsBoolean :=True;
end;
2:
begin
If Player.VarBoolean('转移魔法').AsBoolean then
begin
Player.VarBoolean('转移魔法').AsBoolean:=False;
end Else Player.VarBoolean('转移魔法').AsBoolean :=True;
end;
3:
begin
If Player.VarBoolean('转移道术').AsBoolean then
begin
Player.VarBoolean('转移道术').AsBoolean:=False;
end Else Player.VarBoolean('转移道术').AsBoolean :=True;
end;
4:
begin
If Player.VarBoolean('转移伤害吸收').AsBoolean then
begin
Player.VarBoolean('转移伤害吸收').AsBoolean:=False;
end Else Player.VarBoolean('转移伤害吸收').AsBoolean :=True;
end;
5:
begin
If Player.VarBoolean('转移伤害反弹').AsBoolean then
begin
Player.VarBoolean('转移伤害反弹').AsBoolean:=False;
end Else Player.VarBoolean('转移伤害反弹').AsBoolean :=True;
end;
6:
begin
If Player.VarBoolean('转移伤害加成').AsBoolean then
begin
Player.VarBoolean('转移伤害加成').AsBoolean:=False;
end Else Player.VarBoolean('转移伤害加成').AsBoolean :=True;
end;
7:
begin
If Player.VarBoolean('转移致命一击').AsBoolean then
begin
Player.VarBoolean('转移致命一击').AsBoolean:=False;
end Else Player.VarBoolean('转移致命一击').AsBoolean :=True;
end;
8:
begin
If Player.VarBoolean('转移会心一击').AsBoolean then
begin
Player.VarBoolean('转移会心一击').AsBoolean:=False;
end Else Player.VarBoolean('转移会心一击').AsBoolean :=True;
end;
9:
begin
If Player.VarBoolean('转移固定伤害').AsBoolean then
begin
Player.VarBoolean('转移固定伤害').AsBoolean:=False;
end Else Player.VarBoolean('转移固定伤害').AsBoolean :=True;
end;
10:
begin
If Player.VarBoolean('转移HP恢复').AsBoolean then
begin
Player.VarBoolean('转移HP恢复').AsBoolean:=False;
end Else Player.VarBoolean('转移HP恢复').AsBoolean :=True;
end;
11:
begin
If Player.VarBoolean('转移MP恢复').AsBoolean then
begin
Player.VarBoolean('转移MP恢复').AsBoolean:=False;
end Else Player.VarBoolean('转移MP恢复').AsBoolean :=True;
end;
12:
begin
If Player.VarBoolean('转移HP上限').AsBoolean then
begin
Player.VarBoolean('转移HP上限').AsBoolean:=False;
end Else Player.VarBoolean('转移HP上限').AsBoolean :=True;
end;
13:
begin
If Player.VarBoolean('转移MP上限').AsBoolean then
begin
Player.VarBoolean('转移MP上限').AsBoolean:=False;
end Else Player.VarBoolean('转移MP上限').AsBoolean :=True;
end;
14:
begin
If Player.VarBoolean('转移物品爆率').AsBoolean then
begin
Player.VarBoolean('转移物品爆率').AsBoolean:=False;
end Else Player.VarBoolean('转移物品爆率').AsBoolean :=True;
end;
15:
begin
If Player.VarBoolean('转移金币爆率').AsBoolean then
begin
Player.VarBoolean('转移金币爆率').AsBoolean:=False;
end Else Player.VarBoolean('转移金币爆率').AsBoolean :=True;
end;
16:
begin
If Player.VarBoolean('转移经验值').AsBoolean then
begin
Player.VarBoolean('转移经验值').AsBoolean:=False;
end Else Player.VarBoolean('转移经验值').AsBoolean :=True;
end;
17:
begin
If Player.VarBoolean('转移HP百分比').AsBoolean then
begin
Player.VarBoolean('转移HP百分比').AsBoolean:=False;
end Else Player.VarBoolean('转移HP百分比').AsBoolean :=True;
end;
18:
begin
If Player.VarBoolean('转移MP百分比').AsBoolean then
begin
Player.VarBoolean('转移MP百分比').AsBoolean:=False;
end Else Player.VarBoolean('转移MP百分比').AsBoolean :=True;
end;
end;
player.CallMethod(Npc,'@ShenTieJiang.SayUp');
end Else Player.MessAgeBox('请放入要转出属性的装备到第一个框内!');
end;
function GetYYSX(wp: TUserItem;Var x:WPSXB):Integer; //返回物品附加属性条数
Var Y,E:integer;
Begin
E:=0;
x.ADDDC :=wp.AddDC ; //增加的攻击
x.ADDMC:=wp.AddMC; //增加的攻击魔法
x.ADDSC:=wp.AddSC ; //增加的攻击道术
x.ADDAC := wp.AddAC;
x.ADDMAC :=wp.AddMAC;
For Y:=0 to 6 do
begin
If wp.AddPoint[Y].ValueType = 1 then
Begin
x.ADDSHXS:=wp.AddPoint[Y].Value; //增加的伤害吸收
x.SHXSID:=Y;
E:=E+1;
end;
If wp.AddPoint[Y].ValueType = 2 then
BEGin
x.SHFTID:=Y;
x.ADDSHFT:=wp.AddPoint[Y].Value; //增加的伤害反弹
E:=E+1;
end;
If wp.AddPoint[Y].ValueType = 3 then
Begin
x.ADDSHZJ:=wp.AddPoint[Y].Value; //增加的伤害增加
x.SHZJID:=Y;
E:=E+1;
end;
If wp.AddPoint[Y].ValueType = 4 then
begin
x.ADDZMYJ:=wp.AddPoint[Y].Value; //增加的攻击致命一击
x.ZMYJID:=Y;
E:=E+1;
end;
If wp.AddPoint[Y].ValueType = 5 then
BEGIN
x.ADDHXYJ:=wp.AddPoint[Y].Value; //增加的攻击会心一击
x.HXYJID:=Y;
E:=E+1;
end;
If wp.AddPoint[Y].ValueType = 6 then
Begin
x.ADDHPHF:=wp.AddPoint[Y].Value; //增加的MP回复
x.HPHFID:=Y;
E:=E+1;
end;
If wp.AddPoint[Y].ValueType = 7 then
Begin
x.ADDMPHF:=wp.AddPoint[Y].Value; //增加的MP回复
x.MPHFID:=Y;
E:=E+1;
end;
If wp.AddPoint[Y].ValueType = 8 then
Begin
x.ADDEXP := wp.AddPoint[Y].Value; //增加的经验值
x.EXPID:=Y;
E:=E+1;
end;
If wp.AddPoint[Y].ValueType = 9 then
Begin
x.ADDWPBL:=wp.AddPoint[Y].Value; //增加的物品爆率
x.WPBLID:=Y;
E:=E+1;
end;
If wp.AddPoint[Y].ValueType = 10 then
Begin
x.ADDJBBL:=wp.AddPoint[Y].Value; //增加的金币爆率
x.JBBLID:=Y;
E:=E+1;
end;
If wp.AddPoint[Y].ValueType = 15 then
Begin
x.ADDGDSH:=wp.AddPoint[Y].Value; //增加的固定伤害
x.GDSHID:=Y;
E:=E+1;
end;
If wp.AddPoint[Y].ValueType = 13 then
Begin
x.ADDHPSX:=wp.AddPoint[Y].Value; //增加的HP上限
x.HPSXID:=Y;
E:=E+1;
end;
If wp.AddPoint[Y].ValueType = 14 then
Begin
x.ADDMPSX:=wp.AddPoint[Y].Value; //增加的MP上限
x.MPSXID:=Y;
E:=E+1;
end;
If wp.AddPoint[Y].ValueType = 16 then
Begin
x.ADDHPBFB:=wp.AddPoint[Y].Value; //增加的HP上限百分比
x.HPBFBID:=Y;
E:=E+1;
end;
If wp.AddPoint[Y].ValueType = 17 then
Begin
x.ADDMPBFB:=wp.AddPoint[Y].Value; //增加的MP上限百分比
x.MPBFBID:=Y;
E:=E+1;
end;
end;
//Debug('取出致命一击的值:'+x.ADDZMYJ.ToString );
Result:=E-1;
end;
procedure ZYZBIN(Npc: TNormNpc; Player: TPlayObject; Args: TArgs);
begin
player.CallMethod(Npc,'@ShenTieJiang.SayUp');
end;
procedure ZYZBOUT(Npc: TNormNpc; Player: TPlayObject; Args: TArgs);
begin
player.CallMethod(Npc,'@ShenTieJiang.SayUp');
end;
procedure ZRZBOUT(Npc: TNormNpc; Player: TPlayObject; Args: TArgs);
begin
player.CallMethod(Npc,'@ShenTieJiang.SayUp');
end;
procedure ZRZBIN(Npc: TNormNpc; Player: TPlayObject; Args: TArgs);
begin
player.CallMethod(Npc,'@ShenTieJiang.SayUp');
end;