Best JavaScript code snippet using playwright-internal
SKILLCFG.js
Source:SKILLCFG.js  
1/**2 ** @Author:pandayu3 ** @Version:1.04 ** @DateTime:2018-09-095 ** @Project:pandaCard CardGame6 ** @Contact: QQ:8150996027 **/8 var SKILLCFG = {9    "JN001":{10      "skillid":"JN001",11      "hero":"ç廿",12      "skillcd":6,13      "describe":"对å½åç®æ é ææ»å»260%ç伤害",14      "lev":1,15      "skillname":"çå»",16      "skilltype":1,17      "skilldistance":2000,18      "skilldisplay":1,19      "bulletnum":1,20      "bulletspeed":700,21      "skillfrequency":1,22      "skilltime":-1,23      "targettype":3,24      "gettargettype":0,25      "target_area":1,26      "target_num":1,27      "damagevalue":26000,28      "extra_type":0,29      "extra_data":0,30      "extra_result":031    },32    "JN002":{33      "skillid":"JN002",34      "hero":"2ç£
åå¦å
ç®",35      "skillcd":6,36      "describe":"对å½åç®æ é ææ»å»230%ç伤害",37      "lev":1,38      "skillname":"è½°ç¸",39      "skilltype":1,40      "skilldistance":2000,41      "skilldisplay":1,42      "bulletnum":1,43      "bulletspeed":950,44      "skillfrequency":1,45      "skilltime":-1,46      "targettype":3,47      "gettargettype":0,48      "target_area":1,49      "target_num":1,50      "damagevalue":23000,51      "extra_type":0,52      "extra_data":0,53      "extra_result":054    },55    "JN003":{56      "skillid":"JN003",57      "hero":"å±±ç®",58      "skillcd":6,59      "describe":"对å½åç®æ é ææ»å»220%ç伤害",60      "lev":1,61      "skillname":"ç®è½°",62      "skilltype":1,63      "skilldistance":2000,64      "skilldisplay":1,65      "bulletnum":1,66      "bulletspeed":1000,67      "skillfrequency":1,68      "skilltime":-1,69      "targettype":3,70      "gettargettype":0,71      "target_area":1,72      "target_num":1,73      "damagevalue":22000,74      "extra_type":0,75      "extra_data":0,76      "extra_result":077    },78    "JN004":{79      "skillid":"JN004",80      "hero":"åæ®",81      "skillcd":6,82      "describe":"对å½åç®æ é ææ»å»240%ç伤害",83      "lev":1,84      "skillname":"å°å»",85      "skilltype":1,86      "skilldistance":2000,87      "skilldisplay":1,88      "bulletnum":1,89      "bulletspeed":900,90      "skillfrequency":1,91      "skilltime":-1,92      "targettype":3,93      "gettargettype":0,94      "target_area":1,95      "target_num":1,96      "damagevalue":24000,97      "extra_type":0,98      "extra_data":0,99      "extra_result":0100    },101    "JN005":{102      "skillid":"JN005",103      "hero":"å»å°åéä½£å
µ",104      "skillcd":6,105      "describe":"使èªèº«åå°ä¼¤å®³éä½50%ï¼æç»5ç§",106      "lev":1,107      "skillname":"鲿¤",108      "skilltype":1,109      "skilldistance":2000,110      "skilldisplay":1,111      "bulletnum":1,112      "bulletspeed":1000,113      "skillfrequency":1,114      "skilltime":-1,115      "targettype":3,116      "gettargettype":0,117      "target_area":1,118      "target_num":1,119      "damagevalue":10000,120      "buff":[[10000,9,0,5,1,5000]],121      "extra_type":0,122      "extra_data":0,123      "extra_result":0124    },125    "JN006":{126      "skillid":"JN006",127      "hero":"M114榴弹ç®",128      "skillcd":6,129      "describe":"å¯¹ç®æ é ææ»å»240%ç伤害",130      "lev":1,131      "skillname":"榴弹",132      "skilltype":1,133      "skilldistance":2000,134      "skilldisplay":1,135      "bulletnum":1,136      "bulletspeed":800,137      "skillfrequency":1,138      "skilltime":-1,139      "targettype":3,140      "gettargettype":0,141      "target_area":1,142      "target_num":1,143      "damagevalue":24000,144      "extra_type":0,145      "extra_data":0,146      "extra_result":0147    },148    "JN007":{149      "skillid":"JN007",150      "hero":"BA-64è£
ç²è½¦",151      "skillcd":6,152      "describe":"å¯¹ç®æ é ææ»å»240%ç伤害",153      "lev":1,154      "skillname":"è½°å»",155      "skilltype":1,156      "skilldistance":2000,157      "skilldisplay":1,158      "bulletnum":1,159      "bulletspeed":900,160      "skillfrequency":1,161      "skilltime":-1,162      "targettype":3,163      "gettargettype":0,164      "target_area":1,165      "target_num":1,166      "damagevalue":24000,167      "extra_type":0,168      "extra_data":0,169      "extra_result":0170    },171    "JN008":{172      "skillid":"JN008",173      "hero":"6ç£
åå¦å
ç®",174      "skillcd":6,175      "describe":"å¯¹ç®æ é ææ»å»285%ç伤害",176      "lev":1,177      "skillname":"é£å¸½ç©¿ç²å¼¹",178      "skilltype":1,179      "skilldistance":2000,180      "skilldisplay":1,181      "bulletnum":1,182      "bulletspeed":1100,183      "skillfrequency":1,184      "skilltime":-1,185      "targettype":3,186      "gettargettype":0,187      "target_area":1,188      "target_num":1,189      "damagevalue":28500,190      "extra_type":0,191      "extra_data":0,192      "extra_result":0193    },194    "JN009":{195      "skillid":"JN009",196      "hero":"ç¾å½å¤§å
µ",197      "skillcd":5,198      "describe":"å¯¹ç®æ é ææ»å»285%ç伤害",199      "lev":1,200      "skillname":"çªå»",201      "skilltype":1,202      "skilldistance":2000,203      "skilldisplay":1,204      "bulletnum":1,205      "bulletspeed":1200,206      "skillfrequency":1,207      "skilltime":-1,208      "targettype":3,209      "gettargettype":0,210      "target_area":1,211      "target_num":1,212      "damagevalue":28500,213      "extra_type":0,214      "extra_data":0,215      "extra_result":0216    },217    "JN010":{218      "skillid":"JN010",219      "hero":"èèæ¥å
µ",220      "skillcd":5,221      "describe":"å¯¹ç®æ é ææ»å»294%ç伤害",222      "lev":1,223      "skillname":"å²å»",224      "skilltype":1,225      "skilldistance":2000,226      "skilldisplay":1,227      "bulletnum":1,228      "bulletspeed":1000,229      "skillfrequency":1,230      "skilltime":-1,231      "targettype":3,232      "gettargettype":0,233      "target_area":1,234      "target_num":1,235      "damagevalue":29400,236      "extra_type":0,237      "extra_data":0,238      "extra_result":0239    },240    "JN011":{241      "skillid":"JN011",242      "hero":"èèç廿",243      "skillcd":5,244      "describe":"å¯¹ç®æ é ææ»å»285%ç伤害",245      "lev":1,246      "skillname":"ååççåéçå»",247      "skilltype":1,248      "skilldistance":2000,249      "skilldisplay":1,250      "bulletnum":1,251      "bulletspeed":600,252      "skillfrequency":1,253      "skilltime":-1,254      "targettype":3,255      "gettargettype":0,256      "target_area":1,257      "target_num":1,258      "damagevalue":28500,259      "extra_type":0,260      "extra_data":0,261      "extra_result":0262    },263    "JN012":{264      "skillid":"JN012",265      "hero":"æ¯å¾äºç¹",266      "skillcd":5,267      "describe":"对å¨å´æåé ææ»å»216%ç伤害",268      "lev":1,269      "skillname":"ä¸å¼47mmæå»ç®",270      "skilltype":1,271      "skilldistance":2000,272      "skilldisplay":1,273      "bulletnum":1,274      "bulletspeed":1000,275      "skillfrequency":1,276      "skilltime":-1,277      "targettype":3,278      "gettargettype":0,279      "target_area":6,280      "target_num":100,281      "damagevalue":21600,282      "extra_type":0,283      "extra_data":0,284      "extra_result":0285    },286    "JN013":{287      "skillid":"JN013",288      "hero":"M30榴弹ç®",289      "skillcd":5,290      "describe":"åæ¶å°åº3å导弹ï¼å¯¹éæº3个æåé ææ»å»219%ç伤害",291      "lev":1,292      "skillname":"122mmæº
å°å¼¹",293      "skilltype":1,294      "skilldistance":2000,295      "skilldisplay":1,296      "bulletnum":1,297      "bulletspeed":1000,298      "skillfrequency":1,299      "skilltime":-1,300      "targettype":3,301      "gettargettype":0,302      "target_area":4,303      "target_num":3,304      "damagevalue":21900,305      "extra_type":0,306      "extra_data":0,307      "extra_result":0308    },309    "JN014":{310      "skillid":"JN014",311      "hero":"M3æé²ç®",312      "skillcd":5,313      "describe":"å¯¹ç®æ é ææ»å»294%ç伤害",314      "lev":1,315      "skillname":"156mmç ´ç²å¼¹",316      "skilltype":1,317      "skilldistance":2000,318      "skilldisplay":1,319      "bulletnum":1,320      "bulletspeed":800,321      "skillfrequency":1,322      "skilltime":-1,323      "targettype":3,324      "gettargettype":0,325      "target_area":1,326      "target_num":1,327      "damagevalue":29400,328      "extra_type":0,329      "extra_data":0,330      "extra_result":0331    },332    "JN015":{333      "skillid":"JN015",334      "hero":"è±å½æºæªæ",335      "skillcd":5,336      "describe":"å¯¹ç®æ é ææ»å»294%ç伤害",337      "lev":1,338      "skillname":"æ«å°",339      "skilltype":1,340      "skilldistance":2000,341      "skilldisplay":1,342      "bulletnum":1,343      "bulletspeed":600,344      "skillfrequency":1,345      "skilltime":-1,346      "targettype":3,347      "gettargettype":0,348      "target_area":1,349      "target_num":1,350      "damagevalue":29400,351      "extra_type":0,352      "extra_data":0,353      "extra_result":0354    },355    "JN016":{356      "skillid":"JN016",357      "hero":"è±å½æ¥å
µ",358      "skillcd":5,359      "describe":"æ²»çåæ¹åä½ï¼æ ¹æ®èªèº«æ»å»206%æ¢å¤ç®æ åä½è¡é",360      "lev":1,361      "skillname":"æåºæ¥æ",362      "skilltype":2,363      "skilldistance":2000,364      "skilldisplay":2,365      "bulletnum":-1,366      "bulletspeed":-1,367      "skillfrequency":-1,368      "skilltime":-1,369      "targettype":2,370      "gettargettype":2,371      "target_area":-1,372      "target_num":1,373      "damagevalue":20600,374      "extra_type":0,375      "extra_data":0,376      "extra_result":0377    },378    "JN017":{379      "skillid":"JN017",380      "hero":"é«å°ç®",381      "skillcd":5,382      "describe":"å¯¹éæº3个æåé ææ»å»260%ç伤害ï¼å¹¶ä½¿èªèº«å é50%ï¼æç»2ç§",383      "lev":1,384      "skillname":"ç«åè¦ç",385      "skilltype":1,386      "skilldistance":2000,387      "skilldisplay":1,388      "bulletnum":1,389      "bulletspeed":1000,390      "skillfrequency":1,391      "skilltime":-1,392      "targettype":3,393      "gettargettype":0,394      "target_area":4,395      "target_num":3,396      "damagevalue":26000,397      "buff":[[10000,1,0,2,1,5000]],398      "extra_type":0,399      "extra_data":0,400      "extra_result":0401    },402    "JN018":{403      "skillid":"JN018",404      "hero":"æºæªæ",405      "skillcd":5,406      "describe":"å¯¹éæº2个æåé ææ»å»230%ç伤害ï¼ä¼å
æ»å»ç«ç®ï¼",407      "lev":1,408      "skillname":"ç¯çæ«å°",409      "skilltype":1,410      "skilldistance":2000,411      "skilldisplay":1,412      "bulletnum":1,413      "bulletspeed":1000,414      "skillfrequency":1,415      "skilltime":-1,416      "targettype":3,417      "gettargettype":9,418      "target_area":4,419      "target_num":2,420      "damagevalue":23000,421      "extra_type":0,422      "extra_data":0,423      "extra_result":0424    },425    "JN019":{426      "skillid":"JN019",427      "hero":"榴弹ç®",428      "skillcd":5,429      "describe":"å¯¹ç®æ é ææ»å»300%ç伤害ï¼å¹¶é带20%å¸è¡ææ",430      "lev":1,431      "skillname":"æä¼¤åæ¯å¼¹",432      "skilltype":1,433      "skilldistance":2000,434      "skilldisplay":1,435      "bulletnum":1,436      "bulletspeed":1000,437      "skillfrequency":1,438      "skilltime":-1,439      "targettype":3,440      "gettargettype":0,441      "target_area":1,442      "target_num":1,443      "damagevalue":30000,444      "extra_type":3,445      "extra_data":0,446      "extra_result":[2,2000]447    },448    "JN020":{449      "skillid":"JN020",450      "hero":"72Ké«å°ç®",451      "skillcd":5,452      "describe":"å¯¹ç®æ é ææ»å»249%ç伤害ï¼å¹¶ä½¿èªèº«åå°ç伤害éä½40%ï¼æç»3ç§",453      "lev":1,454      "skillname":"é²å¾¡å¶å¯¼",455      "skilltype":1,456      "skilldistance":2000,457      "skilldisplay":1,458      "bulletnum":1,459      "bulletspeed":1000,460      "skillfrequency":1,461      "skilltime":-1,462      "targettype":3,463      "gettargettype":0,464      "target_area":1,465      "target_num":1,466      "damagevalue":24900,467      "buff":[[10000,9,0,3,1,4000]],468      "extra_type":0,469      "extra_data":0,470      "extra_result":0471    },472    "JN021":{473      "skillid":"JN021",474      "hero":"M36é«å°ç®",475      "skillcd":5,476      "describe":"å¯¹éæº2ä¸ªææ¹åä½é ææ»å»294%ç伤害ï¼å¹¶æ20%å çé¢å¤è§¦å䏿¬¡ä¼¤å®³",477      "lev":1,478      "skillname":"M18A1ç ´ç²å¼¹",479      "skilltype":1,480      "skilldistance":2000,481      "skilldisplay":1,482      "bulletnum":1,483      "bulletspeed":1000,484      "skillfrequency":1,485      "skilltime":-1,486      "targettype":3,487      "gettargettype":0,488      "target_area":4,489      "target_num":2,490      "damagevalue":29400,491      "extra_type":4,492      "extra_data":2000,493      "extra_result":[1,10000]494    },495    "JN022":{496      "skillid":"JN022",497      "hero":"KV2éå¦",498      "skillcd":5,499      "describe":"å¯¹ç®æ é ææ»å»300%ç伤害ï¼å¹¶é带20%å¸è¡ææ",500      "lev":1,501      "skillname":"éå¦107ç®",502      "skilltype":1,503      "skilldistance":2000,504      "skilldisplay":1,505      "bulletnum":1,506      "bulletspeed":1000,507      "skillfrequency":1,508      "skilltime":-1,509      "targettype":3,510      "gettargettype":0,511      "target_area":1,512      "target_num":1,513      "damagevalue":30000,514      "extra_type":3,515      "extra_data":0,516      "extra_result":[2,2000]517    },518    "JN023":{519      "skillid":"JN023",520      "hero":"è±å½ç¹ç§å
µ",521      "skillcd":5,522      "describe":"å¯¹ç®æ é ææ»å»300%ç伤害ï¼ä¸éä½ç®æ æ»é50%ï¼æç»2ç§",523      "lev":1,524      "skillname":"é伤çªè¢",525      "skilltype":1,526      "skilldistance":2000,527      "skilldisplay":1,528      "bulletnum":1,529      "bulletspeed":1000,530      "skillfrequency":1,531      "skilltime":-1,532      "targettype":3,533      "gettargettype":0,534      "target_area":1,535      "target_num":1,536      "damagevalue":30000,537      "buff":[[10000,11,1,2,1,-5000]],538      "extra_type":0,539      "extra_data":0,540      "extra_result":0541    },542    "JN024":{543      "skillid":"JN024",544      "hero":"马èå°è¾¾å¦å
",545      "skillcd":5,546      "describe":"å¯¹ç®æ é ææ»å»300%ç伤害ï¼å¹¶é带1.3ç§ç©æ",547      "lev":1,548      "skillname":"40mmQF-2pdrå åç®",549      "skilltype":1,550      "skilldistance":2000,551      "skilldisplay":1,552      "bulletnum":1,553      "bulletspeed":1000,554      "skillfrequency":1,555      "skilltime":-1,556      "targettype":3,557      "gettargettype":0,558      "target_area":1,559      "target_num":1,560      "damagevalue":30000,561      "buff":[[10000,2,1,1.3,1,0]],562      "extra_type":0,563      "extra_data":0,564      "extra_result":0565    },566    "JN025":{567      "skillid":"JN025",568      "hero":"èèå¨åå
µ",569      "skillcd":5,570      "describe":"å¯¹ç®æ é ææ»å»230%ç伤害ï¼å¹¶ä½¿èªèº«é æä¼¤å®³æé«30%ï¼æç»4ç§",571      "lev":1,572      "skillname":"é¼èæ»å»",573      "skilltype":1,574      "skilldistance":2000,575      "skilldisplay":1,576      "bulletnum":1,577      "bulletspeed":1000,578      "skillfrequency":1,579      "skilltime":-1,580      "targettype":3,581      "gettargettype":0,582      "target_area":1,583      "target_num":1,584      "damagevalue":23000,585      "buff":[[10000,12,0,4,1,3000]],586      "extra_type":0,587      "extra_data":0,588      "extra_result":0589    },590    "JN026":{591      "skillid":"JN026",592      "hero":"éé£",593      "skillcd":5,594      "describe":"å¯¹ç®æ é ææ»å»300%çä¼¤å®³åæ¶ä½¿èªèº«ä¼¤å®³åå
40%ï¼æç»3ç§",595      "lev":1,596      "skillname":"M6å75mmç«ç®",597      "skilltype":1,598      "skilldistance":2000,599      "skilldisplay":1,600      "bulletnum":1,601      "bulletspeed":1000,602      "skillfrequency":1,603      "skilltime":-1,604      "targettype":3,605      "gettargettype":0,606      "target_area":1,607      "target_num":1,608      "damagevalue":30000,609      "buff":[[10000,9,0,3,1,4000]],610      "extra_type":0,611      "extra_data":0,612      "extra_result":0613    },614    "JN027":{615      "skillid":"JN027",616      "hero":"M1榴弹ç®",617      "skillcd":5,618      "describe":"æ²»çåæ¹è¡éæå°åä½ï¼æ ¹æ®èªèº«æ»å»150%æ¢å¤ç®æ è¡éï¼åæ¶æé«ç®æ 35%çé²å¾¡ï¼æç»5ç§",619      "lev":1,620      "skillname":"ç«åæ©æ¤",621      "skilltype":2,622      "skilldistance":2000,623      "skilldisplay":2,624      "bulletnum":-1,625      "bulletspeed":-1,626      "skillfrequency":-1,627      "skilltime":-1,628      "targettype":2,629      "gettargettype":2,630      "target_area":-1,631      "target_num":1,632      "damagevalue":15000,633      "buff":[10000,8,1,5,1,3500],634      "extra_type":0,635      "extra_data":0,636      "extra_result":0637    },638    "JN028":{639      "skillid":"JN028",640      "hero":"èèçªå»é",641      "skillcd":5,642      "describe":"å¯¹ææ¹ææåä½é ææ»å»226%ç伤害",643      "lev":1,644      "skillname":"å
¨ä½çªå»",645      "skilltype":1,646      "skilldistance":2000,647      "skilldisplay":1,648      "bulletnum":1,649      "bulletspeed":1000,650      "skillfrequency":1,651      "skilltime":-1,652      "targettype":3,653      "gettargettype":0,654      "target_area":5,655      "target_num":-1,656      "damagevalue":22600,657      "extra_type":0,658      "extra_data":0,659      "extra_result":0660    },661    "JN029":{662      "skillid":"JN029",663      "hero":"M101榴弹ç®",664      "skillcd":5,665      "describe":"å¯¹ç®æ é ææ»å»339%ç伤害ï¼ä½¿ç®æ åå°ç伤害æé«20%ï¼æç»3ç§",666      "lev":1,667      "skillname":"è´ä¼¤æå»",668      "skilltype":1,669      "skilldistance":2000,670      "skilldisplay":1,671      "bulletnum":1,672      "bulletspeed":1000,673      "skillfrequency":1,674      "skilltime":-1,675      "targettype":3,676      "gettargettype":0,677      "target_area":1,678      "target_num":1,679      "damagevalue":33900,680      "buff":[[10000,5,1,3,1,2000]],681      "extra_type":0,682      "extra_data":0,683      "extra_result":0684    },685    "JN030":{686      "skillid":"JN030",687      "hero":"彿å¦å
",688      "skillcd":5,689      "describe":"å¯¹ç®æ é ææ»å»339%ç伤害ï¼å¹¶æåèªèº«æ»å»20%ï¼æç»3ç§",690      "lev":1,691      "skillname":"HV75åé«åéç«ç®",692      "skilltype":1,693      "skilldistance":2000,694      "skilldisplay":1,695      "bulletnum":1,696      "bulletspeed":1000,697      "skillfrequency":1,698      "skilltime":-1,699      "targettype":3,700      "gettargettype":0,701      "target_area":1,702      "target_num":1,703      "damagevalue":33900,704      "buff":[[10000,14,0,3,1,2000]],705      "extra_type":0,706      "extra_data":0,707      "extra_result":0708    },709    "JN031":{710      "skillid":"JN031",711      "hero":"T26è½»å¦å
",712      "skillcd":5,713      "describe":"å¯¹ç®æ é ææ»å»339%ç伤害ï¼å¹¶æåèªèº«20%æ´å»å çï¼æç»3ç§",714      "lev":1,715      "skillname":"46åå£å¾çè£ç®å¼¹",716      "skilltype":1,717      "skilldistance":2000,718      "skilldisplay":1,719      "bulletnum":1,720      "bulletspeed":1000,721      "skillfrequency":1,722      "skilltime":-1,723      "targettype":3,724      "gettargettype":0,725      "target_area":1,726      "target_num":1,727      "damagevalue":33900,728      "buff":[[10000,18,0,3,1,2000]],729      "extra_type":0,730      "extra_data":0,731      "extra_result":0732    },733    "JN032":{734      "skillid":"JN032",735      "hero":"ç§æ¼å¾·çªå»é",736      "skillcd":5,737      "describe":"æ²»çè¡éæå°åä½ï¼æ ¹æ®èªèº«æ»å»120%æ¢å¤ç®æ è¡éï¼å¹¶æåç®æ é²å¾¡60%ï¼æç»5ç§",738      "lev":1,739      "skillname":"æ©æ¤ä½¯æ»",740      "skilltype":2,741      "skilldistance":2000,742      "skilldisplay":2,743      "bulletnum":-1,744      "bulletspeed":-1,745      "skillfrequency":-1,746      "skilltime":-1,747      "targettype":2,748      "gettargettype":2,749      "target_area":-1,750      "target_num":1,751      "damagevalue":12000,752      "buff":[10000,8,1,5,1,6000],753      "extra_type":0,754      "extra_data":0,755      "extra_result":0756    },757    "JN033":{758      "skillid":"JN033",759      "hero":"M5åå¦å
ç®",760      "skillcd":5,761      "describe":"å¯¹ææ¹è¡éæå°çç®æ é ææ»å»360%ç伤害ï¼è¥ç®æ çå½å¼ä½äº30%å伤害æé«100%",762      "lev":1,763      "skillname":"76.2mm追å»å¼¹",764      "skilltype":1,765      "skilldistance":2000,766      "skilldisplay":1,767      "bulletnum":1,768      "bulletspeed":1000,769      "skillfrequency":1,770      "skilltime":-1,771      "targettype":3,772      "gettargettype":2,773      "target_area":-1,774      "target_num":1,775      "damagevalue":36000,776      "extra_type":2,777      "extra_data":3000,778      "extra_result":[1,10000]779    },780    "JN034":{781      "skillid":"JN034",782      "hero":"BC3åå¦å
ç®",783      "skillcd":5,784      "describe":"å¯¹ç®æ åèå´å
çæåé ææ»å»228%ç伤害ï¼åæ¶ä½¿ç®æ åå°ææä¼¤å®³æé«40%ï¼æç»3ç§",785      "lev":1,786      "skillname":"å®å¿ç©¿ç²å¼¹",787      "skilltype":1,788      "skilldistance":2000,789      "skilldisplay":1,790      "bulletnum":1,791      "bulletspeed":1000,792      "skillfrequency":1,793      "skilltime":-1,794      "targettype":3,795      "gettargettype":0,796      "target_area":6,797      "target_num":100,798      "damagevalue":22800,799      "buff":[[10000,5,1,3,1,4000]],800      "extra_type":0,801      "extra_data":0,802      "extra_result":0803    },804    "JN035":{805      "skillid":"JN035",806      "hero":"17ç£
åå¦å
ç®",807      "skillcd":5,808      "describe":"å¯¹ç®æ åèå´å
çæåé ææ»å»240%伤害ï¼å¹¶ä½¿ç®æ ç©æ1ç§",809      "lev":1,810      "skillname":"APDSè±å£³ç©¿ç²å¼¹",811      "skilltype":1,812      "skilldistance":2000,813      "skilldisplay":1,814      "bulletnum":1,815      "bulletspeed":1000,816      "skillfrequency":1,817      "skilltime":-1,818      "targettype":3,819      "gettargettype":0,820      "target_area":6,821      "target_num":100,822      "damagevalue":24000,823      "buff":[[10000,2,1,1,1,0]],824      "extra_type":0,825      "extra_data":0,826      "extra_result":0827    },828    "JN036":{829      "skillid":"JN036",830      "hero":"游éªå
µ",831      "skillcd":5,832      "describe":"å¯¹ç®æ é ææ»å»306%ç伤害ï¼å¹¶ä½¿èªèº«è·å¾æ æææï¼å
ç«ææä¼¤å®³åè´é¢ææï¼æç»2ç§",833      "lev":1,834      "skillname":"æåºåå
¥",835      "skilltype":1,836      "skilldistance":2000,837      "skilldisplay":1,838      "bulletnum":1,839      "bulletspeed":1000,840      "skillfrequency":1,841      "skilltime":-1,842      "targettype":3,843      "gettargettype":0,844      "target_area":1,845      "target_num":1,846      "damagevalue":30600,847      "buff":[[10000,19,0,2,1,0]],848      "extra_type":0,849      "extra_data":0,850      "extra_result":0851    },852    "JN037":{853      "skillid":"JN037",854      "hero":"76èªè¡ç«ç®",855      "skillcd":5,856      "describe":"å¯¹ç®æ é ææ»å»360%ç伤害ï¼è¥ç®æ çå½å¼é«äº70%å伤害æé«100%",857      "lev":1,858      "skillname":"FK36åå¶æ§ç®å¼¹",859      "skilltype":1,860      "skilldistance":2000,861      "skilldisplay":1,862      "bulletnum":1,863      "bulletspeed":1000,864      "skillfrequency":1,865      "skilltime":-1,866      "targettype":3,867      "gettargettype":0,868      "target_area":1,869      "target_num":1,870      "damagevalue":36000,871      "extra_type":1,872      "extra_data":7000,873      "extra_result":[1,10000]874    },875    "JN038":{876      "skillid":"JN038",877      "hero":"æ ¼å
°ç¹æ",878      "skillcd":5,879      "describe":"对éè¿2个æååä½é ææ»å»306%ç伤害ï¼å¹¶æåèªèº«60%çé²å¾¡ï¼æç»5ç§",880      "lev":1,881      "skillname":"M5å75mmçè£å¼¹",882      "skilltype":1,883      "skilldistance":2000,884      "skilldisplay":1,885      "bulletnum":1,886      "bulletspeed":1000,887      "skillfrequency":1,888      "skilltime":-1,889      "targettype":3,890      "gettargettype":0,891      "target_area":2,892      "target_num":2,893      "damagevalue":30600,894      "buff":[[10000,16,0,5,1,6000]],895      "extra_type":0,896      "extra_data":0,897      "extra_result":0898    },899    "JN039":{900      "skillid":"JN039",901      "hero":"ä¸åå°å¦å
",902      "skillcd":5,903      "describe":"å¯¹éæº2个æåé ææ»å»312%ç伤害ï¼å¹¶æ30%çå çé¢å¤è§¦å1次",904      "lev":1,905      "skillname":"92mmBMGæº
å°ç«ç®",906      "skilltype":1,907      "skilldistance":2000,908      "skilldisplay":1,909      "bulletnum":1,910      "bulletspeed":1000,911      "skillfrequency":1,912      "skilltime":-1,913      "targettype":3,914      "gettargettype":0,915      "target_area":4,916      "target_num":2,917      "damagevalue":31200,918      "extra_type":4,919      "extra_data":3000,920      "extra_result":[1,10000]921    },922    "JN040":{923      "skillid":"JN040",924      "hero":"èèéªå
µ",925      "skillcd":5,926      "describe":"å¯¹ç®æ é ææ»å»288%ç伤害ï¼å¹¶æååæ¹20%æ»å»ï¼æç»5ç§ï¼ä¼å
å¦å
ï¼",927      "lev":1,928      "skillname":"å²éé·éµ",929      "skilltype":1,930      "skilldistance":2000,931      "skilldisplay":1,932      "bulletnum":1,933      "bulletspeed":1000,934      "skillfrequency":1,935      "skilltime":-1,936      "targettype":3,937      "gettargettype":7,938      "target_area":1,939      "target_num":1,940      "damagevalue":28800,941      "buff":[[10000,3,3,5,1,2000]],942      "extra_type":0,943      "extra_data":0,944      "extra_result":0945    },946    "JN041":{947      "skillid":"JN041",948      "hero":"SU152éå¦",949      "skillcd":5,950      "describe":"å¯¹éæº3ä¸ªææ¹åä½é ææ»å»276%ç伤害ï¼å¹¶æ50%å çé¢å¤è§¦å1次",951      "lev":1,952      "skillname":"152mmè¶
éåç ´ç²å¼¹",953      "skilltype":1,954      "skilldistance":2000,955      "skilldisplay":1,956      "bulletnum":1,957      "bulletspeed":1000,958      "skillfrequency":1,959      "skilltime":-1,960      "targettype":3,961      "gettargettype":0,962      "target_area":4,963      "target_num":3,964      "damagevalue":27600,965      "extra_type":4,966      "extra_data":5000,967      "extra_result":[1,10000]968    },969    "JN042":{970      "skillid":"JN042",971      "hero":"æ¼å»è½¦",972      "skillcd":5,973      "describe":"å¯¹ææ¹éæº2ä¸ªç®æ é ææ»å»312%ç伤害ï¼å¹¶ä½¿èªèº«æ»å»é度æé«20%ï¼æç»3ç§",974      "lev":1,975      "skillname":"å¿«éå¶å¯¼88ç®",976      "skilltype":1,977      "skilldistance":2000,978      "skilldisplay":1,979      "bulletnum":1,980      "bulletspeed":1000,981      "skillfrequency":1,982      "skilltime":-1,983      "targettype":3,984      "gettargettype":0,985      "target_area":3,986      "target_num":2,987      "damagevalue":31200,988      "buff":[[10000,1,0,3,1,2000]],989      "extra_type":0,990      "extra_data":0,991      "extra_result":0992    },993    "JN043":{994      "skillid":"JN043",995      "hero":"è¤ç«è«å¦å
",996      "skillcd":5,997      "describe":"å¯¹ææ¹éæº2ä¸ªç®æ é ææ»å»312%ç伤害ï¼å¹¶é带10%å¸è¡ææ",998      "lev":1,999      "skillname":"MKVIIåå¦å
ç®",1000      "skilltype":1,1001      "skilldistance":2000,1002      "skilldisplay":1,1003      "bulletnum":1,1004      "bulletspeed":1000,1005      "skillfrequency":1,1006      "skilltime":-1,1007      "targettype":3,1008      "gettargettype":0,1009      "target_area":4,1010      "target_num":2,1011      "damagevalue":31200,1012      "extra_type":3,1013      "extra_data":0,1014      "extra_result":[2,1000]1015    },1016    "JN044":{1017      "skillid":"JN044",1018      "hero":"å°ç±ç«",1019      "skillcd":5,1020      "describe":"å¯¹ææ¹éæº2ä¸ªç®æ é ææ»å»312%ç伤害ï¼å¹¶éä½ç®æ æ»å»å30%ï¼æç»3ç§",1021      "lev":1,1022      "skillname":"M1é伤æå»76ç®",1023      "skilltype":1,1024      "skilldistance":2000,1025      "skilldisplay":1,1026      "bulletnum":1,1027      "bulletspeed":1000,1028      "skillfrequency":1,1029      "skilltime":-1,1030      "targettype":3,1031      "gettargettype":0,1032      "target_area":4,1033      "target_num":2,1034      "damagevalue":31200,1035      "buff":[[10000,20,1,3,1,3000]],1036      "extra_type":0,1037      "extra_data":0,1038      "extra_result":01039    },1040    "JN045":{1041      "skillid":"JN045",1042      "hero":"åå¦å
æ¥å
µ",1043      "skillcd":4,1044      "describe":"å¯¹ç®æ é ææ»å»420%ç伤害ï¼å¹¶æ70%å çé¢å¤é æ1次æè½ä¼¤å®³",1045      "lev":1,1046      "skillname":"ç²¾åæå»",1047      "skilltype":1,1048      "skilldistance":2000,1049      "skilldisplay":1,1050      "bulletnum":1,1051      "bulletspeed":1000,1052      "skillfrequency":1,1053      "skilltime":-1,1054      "targettype":3,1055      "gettargettype":0,1056      "target_area":1,1057      "target_num":1,1058      "damagevalue":42000,1059      "extra_type":4,1060      "extra_data":7000,1061      "extra_result":[1,10000]1062    },1063    "JN046":{1064      "skillid":"JN046",1065      "hero":"çå®¶è¿å«",1066      "skillcd":4,1067      "describe":"å¯¹éæº3ä¸ªææ¹åä½é ææ»å»322%ç伤害ï¼è§¦åâ士æ°çåâï¼å
¨éæ»å»ååé²å¾¡åæå20%ï¼æç»3ç§",1068      "lev":1,1069      "skillname":"çå®¶è£è",1070      "skilltype":1,1071      "skilldistance":2000,1072      "skilldisplay":1,1073      "bulletnum":1,1074      "bulletspeed":1000,1075      "skillfrequency":1,1076      "skilltime":-1,1077      "targettype":3,1078      "gettargettype":0,1079      "target_area":4,1080      "target_num":3,1081      "damagevalue":32200,1082      "buff":[[10000,3,3,3,1,2000],[10000,4,3,3,1,2000]],1083      "extra_type":0,1084      "extra_data":0,1085      "extra_result":01086    },1087    "JN047":{1088      "skillid":"JN047",1089      "hero":"èèè¿å«å",1090      "skillcd":4,1091      "describe":"å¯¹éæº2ä¸ªææ¹åä½é ææ»å»364%ç伤害ï¼è§¦åâ士æ°çåâï¼å
¨éæ»å»ååé²å¾¡åæå20%ï¼æç»3ç§",1092      "lev":1,1093      "skillname":"éå¢åæ
",1094      "skilltype":1,1095      "skilldistance":2000,1096      "skilldisplay":1,1097      "bulletnum":1,1098      "bulletspeed":1000,1099      "skillfrequency":1,1100      "skilltime":-1,1101      "targettype":3,1102      "gettargettype":0,1103      "target_area":4,1104      "target_num":2,1105      "damagevalue":36400,1106      "buff":[[10000,3,3,3,1,2000],[10000,4,3,3,1,2000]],1107      "extra_type":0,1108      "extra_data":0,1109      "extra_result":01110    },1111    "JN048":{1112      "skillid":"JN048",1113      "hero":"çç§è
",1114      "skillcd":4,1115      "describe":"å¯¹ææ¹ææåä½é ææ»å»280%ç伤害ï¼å¹¶ç©æç®æ 1ç§ï¼è§¦åâ士æ°çåâï¼å
¨éæ»å»ååé²å¾¡åæå20%ï¼æç»3ç§",1116      "lev":1,1117      "skillname":"çç°å·å°",1118      "skilltype":1,1119      "skilldistance":2000,1120      "skilldisplay":1,1121      "bulletnum":1,1122      "bulletspeed":1000,1123      "skillfrequency":1,1124      "skilltime":-1,1125      "targettype":3,1126      "gettargettype":0,1127      "target_area":5,1128      "target_num":-1,1129      "damagevalue":28000,1130      "buff":[[10000,2,1,1,1,0],[10000,3,3,3,1,2000],[10000,4,3,3,1,2000]],1131      "extra_type":0,1132      "extra_data":0,1133      "extra_result":01134    },1135    "JN049":{1136      "skillid":"JN049",1137      "hero":"Mattressç«ç®ç®",1138      "skillcd":4,1139      "describe":"å¯¹ææ¹è¡éæå°ç3ä¸ªç®æ é ææ»å»280%ç伤害ï¼è¥ç®æ çå½å¼ä½äº30%å伤害æé«100%ï¼è§¦åâ士æ°çåâï¼å
¨éæ»å»ååé²å¾¡åæå20%ï¼æç»3ç§",1140      "lev":1,1141      "skillname":"ç«åå°é",1142      "skilltype":1,1143      "skilldistance":2000,1144      "skilldisplay":1,1145      "bulletnum":1,1146      "bulletspeed":1000,1147      "skillfrequency":1,1148      "skilltime":-1,1149      "targettype":3,1150      "gettargettype":2,1151      "target_area":-1,1152      "target_num":3,1153      "damagevalue":28000,1154      "buff":[[10000,3,3,3,1,2000],[10000,4,3,3,1,2000]],1155      "extra_type":2,1156      "extra_data":3000,1157      "extra_result":[1,10000]1158    },1159    "JN050":{1160      "skillid":"JN050",1161      "hero":"èèBM13",1162      "skillcd":4,1163      "describe":"å¯¹ææ¹éæº3ä¸ªç®æ é ææ»å»322%ç伤害ï¼ä½¿åæ¹éæº3人è·å¾æ æææï¼æç»1ç§ï¼å¹¶è§¦åâ士æ°çåâï¼å
¨éæ»å»ååé²å¾¡åæå20%ï¼æç»3ç§",1164      "lev":1,1165      "skillname":"åç§èçç¬å®¹",1166      "skilltype":1,1167      "skilldistance":2000,1168      "skilldisplay":1,1169      "bulletnum":1,1170      "bulletspeed":1000,1171      "skillfrequency":1,1172      "skilltime":-1,1173      "targettype":3,1174      "gettargettype":0,1175      "target_area":4,1176      "target_num":3,1177      "damagevalue":32200,1178      "buff":[[10000,19,6,1,1,0],[10000,3,3,3,1,2000],[10000,4,3,3,1,2000]],1179      "extra_type":0,1180      "extra_data":0,1181      "extra_result":01182    },1183    "JN051":{1184      "skillid":"JN051",1185      "hero":"T34ç«ç®ç®",1186      "skillcd":4,1187      "describe":"å¯¹ææ¹éæº3ä¸ªç®æ é ææ»å»322%ç伤害ï¼å¹¶æ²é»ç®æ 3ç§ï¼è§¦åâ士æ°çåâï¼å
¨éæ»å»ååé²å¾¡åæå20%ï¼æç»3ç§",1188      "lev":1,1189      "skillname":"4.5è±å¯¸å¸ç¥å¤ç®¡ç«ç®ç®",1190      "skilltype":1,1191      "skilldistance":2000,1192      "skilldisplay":1,1193      "bulletnum":1,1194      "bulletspeed":1000,1195      "skillfrequency":1,1196      "skilltime":-1,1197      "targettype":3,1198      "gettargettype":0,1199      "target_area":4,1200      "target_num":3,1201      "damagevalue":32200,1202      "buff":[[10000,21,1,3,1,0],[10000,3,3,3,1,2000],[10000,4,3,3,1,2000]],1203      "extra_type":0,1204      "extra_data":0,1205      "extra_result":01206    },1207    "TP001":{1208      "skillid":"TP001",1209      "hero":"æ¯å¾äºç¹ï¼çªï¼",1210      "skillcd":5,1211      "describe":"对èå´å
æåé ææ»å»231%ç伤害ï¼ä½¿èªèº«æ»å»æå25%ï¼æç»3ç§",1212      "lev":1,1213      "skillname":"å å¼ºå47mmæå»ç®",1214      "skilltype":1,1215      "skilldistance":2000,1216      "skilldisplay":1,1217      "bulletnum":1,1218      "bulletspeed":1000,1219      "skillfrequency":1,1220      "skilltime":-1,1221      "targettype":3,1222      "gettargettype":0,1223      "target_area":6,1224      "target_num":100,1225      "damagevalue":23100,1226      "buff":[[10000,14,0,3,1,2500]],1227      "extra_type":0,1228      "extra_data":0,1229      "extra_result":01230    },1231    "TP002":{1232      "skillid":"TP002",1233      "hero":"M3æé²ç®ï¼çªï¼",1234      "skillcd":5,1235      "describe":"å¯¹ç®æ é ææ»å»315%ç伤害ï¼å¹¶é带1ç§ç©æ",1236      "lev":1,1237      "skillname":"156mm被帽破ç²å¼¹",1238      "skilltype":1,1239      "skilldistance":2000,1240      "skilldisplay":1,1241      "bulletnum":1,1242      "bulletspeed":1000,1243      "skillfrequency":1,1244      "skilltime":-1,1245      "targettype":3,1246      "gettargettype":0,1247      "target_area":1,1248      "target_num":1,1249      "damagevalue":31500,1250      "buff":[[10000,2,1,1,1,0]],1251      "extra_type":0,1252      "extra_data":0,1253      "extra_result":01254    },1255    "TP003":{1256      "skillid":"TP003",1257      "hero":"è±å½æºæªæï¼çªï¼",1258      "skillcd":5,1259      "describe":"å¯¹ç®æ é ææ»å»315%ç伤害并使èªèº«é æä¼¤å®³æå30%ï¼æç»3ç§",1260      "lev":1,1261      "skillname":"ç²¾åæ«å°",1262      "skilltype":1,1263      "skilldistance":2000,1264      "skilldisplay":1,1265      "bulletnum":1,1266      "bulletspeed":1000,1267      "skillfrequency":1,1268      "skilltime":-1,1269      "targettype":3,1270      "gettargettype":0,1271      "target_area":1,1272      "target_num":1,1273      "damagevalue":31500,1274      "buff":[[10000,12,0,3,1,3000]],1275      "extra_type":0,1276      "extra_data":0,1277      "extra_result":01278    },1279    "TP004":{1280      "skillid":"TP004",1281      "hero":"è±å½æ¥å
µï¼çªï¼",1282      "skillcd":5,1283      "describe":"æ²»çåæ¹åä½ï¼æ ¹æ®èªèº«æ»å»221%æ¢å¤ç®æ è¡éï¼åæ¶èªèº«é²å¾¡æå40%ï¼æç»5ç§",1284      "lev":1,1285      "skillname":"é«çº§æåºæ¥æ",1286      "skilltype":2,1287      "skilldistance":2000,1288      "skilldisplay":2,1289      "bulletnum":-1,1290      "bulletspeed":-1,1291      "skillfrequency":-1,1292      "skilltime":-1,1293      "targettype":2,1294      "gettargettype":2,1295      "target_area":-1,1296      "target_num":1,1297      "damagevalue":22100,1298      "buff":[10000,7,0,5,1,4000],1299      "extra_type":0,1300      "extra_data":0,1301      "extra_result":01302    },1303    "TP005":{1304      "skillid":"TP005",1305      "hero":"èèæ¥å
µï¼çªï¼",1306      "skillcd":5,1307      "describe":"å¯¹ç®æ é ææ»å»315%ç伤害并é带15%çå¸è¡ææ",1308      "lev":1,1309      "skillname":"çè¡å²å»",1310      "skilltype":1,1311      "skilldistance":2000,1312      "skilldisplay":1,1313      "bulletnum":1,1314      "bulletspeed":1000,1315      "skillfrequency":1,1316      "skilltime":-1,1317      "targettype":3,1318      "gettargettype":0,1319      "target_area":1,1320      "target_num":1,1321      "damagevalue":31500,1322      "extra_type":3,1323      "extra_data":0,1324      "extra_result":[2,1500]1325    },1326    "TP006":{1327      "skillid":"TP006",1328      "hero":"é«å°ç®ï¼çªï¼",1329      "skillcd":4,1330      "describe":"å¯¹éæº3ä¸ªææ¹åä½é ææ»å»306%ç伤害ï¼è¥ç®æ çå½å¼é«äº80%å伤害æé«100%",1331      "lev":1,1332      "skillname":"å å¼ºåç«åè¦ç",1333      "skilltype":1,1334      "skilldistance":2000,1335      "skilldisplay":1,1336      "bulletnum":1,1337      "bulletspeed":1000,1338      "skillfrequency":1,1339      "skilltime":-1,1340      "targettype":3,1341      "gettargettype":0,1342      "target_area":4,1343      "target_num":3,1344      "damagevalue":30600,1345      "extra_type":1,1346      "extra_data":8000,1347      "extra_result":[1,10000]1348    },1349    "TP007":{1350      "skillid":"TP007",1351      "hero":"72Ké«å°ç®ï¼çªï¼",1352      "skillcd":4,1353      "describe":"å¯¹ç®æ é ææ»å»249%ç伤害ï¼å¹¶ä½¿èªèº«åå°ç伤害éä½60%ï¼æç»4ç§",1354      "lev":1,1355      "skillname":"é«çº§é²å¾¡å¶å¯¼",1356      "skilltype":1,1357      "skilldistance":2000,1358      "skilldisplay":1,1359      "bulletnum":1,1360      "bulletspeed":1000,1361      "skillfrequency":1,1362      "skilltime":-1,1363      "targettype":3,1364      "gettargettype":0,1365      "target_area":1,1366      "target_num":1,1367      "damagevalue":24900,1368      "buff":[[10000,9,0,4,1,6000]],1369      "extra_type":0,1370      "extra_data":0,1371      "extra_result":01372    },1373    "TP008":{1374      "skillid":"TP008",1375      "hero":"M36é«å°ç®ï¼çªï¼",1376      "skillcd":4,1377      "describe":"å¯¹éæº2ä¸ªææ¹åä½é ææ»å»346%ç伤害ï¼å¹¶æ30%å çé¢å¤è§¦å䏿¬¡",1378      "lev":1,1379      "skillname":"M18A1åæ¯ç ´ç²å¼¹",1380      "skilltype":1,1381      "skilldistance":2000,1382      "skilldisplay":1,1383      "bulletnum":1,1384      "bulletspeed":1000,1385      "skillfrequency":1,1386      "skilltime":-1,1387      "targettype":3,1388      "gettargettype":0,1389      "target_area":4,1390      "target_num":2,1391      "damagevalue":34600,1392      "extra_type":4,1393      "extra_data":3000,1394      "extra_result":[1,10000]1395    },1396    "TP009":{1397      "skillid":"TP009",1398      "hero":"èèçªå»éï¼çªï¼",1399      "skillcd":4,1400      "describe":"å¯¹ææ¹ææåä½é ææ»å»266%ç伤害ï¼å¹¶æåèªèº«æ»å»20%ï¼æç»5ç§",1401      "lev":1,1402      "skillname":"å
¨ä½çè¡å²é",1403      "skilltype":1,1404      "skilldistance":2000,1405      "skilldisplay":1,1406      "bulletnum":1,1407      "bulletspeed":1000,1408      "skillfrequency":1,1409      "skilltime":-1,1410      "targettype":3,1411      "gettargettype":0,1412      "target_area":5,1413      "target_num":-1,1414      "damagevalue":26600,1415      "buff":[[10000,14,0,5,1,2000]],1416      "extra_type":0,1417      "extra_data":0,1418      "extra_result":01419    },1420    "TP010":{1421      "skillid":"TP010",1422      "hero":"M101榴弹ç®ï¼çªï¼",1423      "skillcd":4,1424      "describe":"å¯¹ç®æ é ææ»å»399%ç伤害ï¼ä½¿ç®æ åå°ç伤害æé«40%ï¼æç»5ç§",1425      "lev":1,1426      "skillname":"é«çº§è´ä¼¤æå»",1427      "skilltype":1,1428      "skilldistance":2000,1429      "skilldisplay":1,1430      "bulletnum":1,1431      "bulletspeed":1000,1432      "skillfrequency":1,1433      "skilltime":-1,1434      "targettype":3,1435      "gettargettype":0,1436      "target_area":1,1437      "target_num":1,1438      "damagevalue":39900,1439      "buff":[[10000,5,1,5,1,4000]],1440      "extra_type":0,1441      "extra_data":0,1442      "extra_result":01443    },1444    "TP011":{1445      "skillid":"TP011",1446      "hero":"彿å¦å
ï¼çªï¼",1447      "skillcd":4,1448      "describe":"å¯¹ç®æ é ææ»å»399%ç伤害ï¼å¹¶æåèªèº«æ»å»40%ï¼æç»5ç§",1449      "lev":1,1450      "skillname":"17ç£
被帽穿ç²å¼¹",1451      "skilltype":1,1452      "skilldistance":2000,1453      "skilldisplay":1,1454      "bulletnum":1,1455      "bulletspeed":1000,1456      "skillfrequency":1,1457      "skilltime":-1,1458      "targettype":3,1459      "gettargettype":0,1460      "target_area":1,1461      "target_num":1,1462      "damagevalue":39900,1463      "buff":[[10000,14,0,5,1,4000]],1464      "extra_type":0,1465      "extra_data":0,1466      "extra_result":01467    },1468    "TP012":{1469      "skillid":"TP012",1470      "hero":"T26è½»å¦ï¼çªï¼",1471      "skillcd":4,1472      "describe":"å¯¹ç®æ é ææ»å»399%ç伤害ï¼å¹¶æåèªèº«40%æ´å»å çï¼æç»5ç§",1473      "lev":1,1474      "skillname":"56åå£å¾çè£ç®å¼¹",1475      "skilltype":1,1476      "skilldistance":2000,1477      "skilldisplay":1,1478      "bulletnum":1,1479      "bulletspeed":1000,1480      "skillfrequency":1,1481      "skilltime":-1,1482      "targettype":3,1483      "gettargettype":0,1484      "target_area":1,1485      "target_num":1,1486      "damagevalue":39900,1487      "buff":[[10000,18,0,5,1,4000]],1488      "extra_type":0,1489      "extra_data":0,1490      "extra_result":01491    },1492    "GZ001":{1493      "skillid":"GZ001",1494      "hero":"é«å°ç®ï¼æ¹1ï¼",1495      "skillcd":4,1496      "describe":"对éè¿éæº3ä¸ªææ¹åä½é ææ»å»321%ç伤害ï¼è¥ç®æ çå½å¼é«äº80%å伤害æé«100%",1497      "lev":1,1498      "skillname":"å å¼ºåç«åè¦çI",1499      "skilltype":1,1500      "skilldistance":2000,1501      "skilldisplay":1,1502      "bulletnum":1,1503      "bulletspeed":1000,1504      "skillfrequency":1,1505      "skilltime":-1,1506      "targettype":3,1507      "gettargettype":0,1508      "target_area":4,1509      "target_num":3,1510      "damagevalue":32100,1511      "extra_type":1,1512      "extra_data":8000,1513      "extra_result":[1,10000]1514    },1515    "GZ002":{1516      "skillid":"GZ002",1517      "hero":"72Ké«å°ç®ï¼æ¹1ï¼",1518      "skillcd":4,1519      "describe":"å¯¹ç®æ é ææ»å»259%ç伤害ï¼å¹¶ä½¿èªèº«åå°ç伤害éä½60%ï¼æç»4ç§",1520      "lev":1,1521      "skillname":"é«çº§é²å¾¡å¶å¯¼I",1522      "skilltype":1,1523      "skilldistance":2000,1524      "skilldisplay":1,1525      "bulletnum":1,1526      "bulletspeed":1000,1527      "skillfrequency":1,1528      "skilltime":-1,1529      "targettype":3,1530      "gettargettype":0,1531      "target_area":1,1532      "target_num":1,1533      "damagevalue":25900,1534      "buff":[[10000,9,0,4,1,6000]],1535      "extra_type":0,1536      "extra_data":0,1537      "extra_result":01538    },1539    "GZ003":{1540      "skillid":"GZ003",1541      "hero":"M36é«å°ç®ï¼æ¹1ï¼",1542      "skillcd":4,1543      "describe":"å¯¹éæº2个åä½é ææ»å»366%ç伤害ï¼å¹¶æ30%å çé¢å¤è§¦å䏿¬¡",1544      "lev":1,1545      "skillname":"M18A1åæ¯ç ´ç²å¼¹I",1546      "skilltype":1,1547      "skilldistance":2000,1548      "skilldisplay":1,1549      "bulletnum":1,1550      "bulletspeed":1000,1551      "skillfrequency":1,1552      "skilltime":-1,1553      "targettype":3,1554      "gettargettype":0,1555      "target_area":4,1556      "target_num":2,1557      "damagevalue":36600,1558      "extra_type":4,1559      "extra_data":3000,1560      "extra_result":[1,10000]1561    },1562    "GZ004":{1563      "skillid":"GZ004",1564      "hero":"èèçªå»éï¼æ¹1ï¼",1565      "skillcd":4,1566      "describe":"å¯¹ææ¹ææå£«å
µé ææ»å»276%ç伤害并æåèªèº«æ»å»20%ï¼æç»5ç§",1567      "lev":1,1568      "skillname":"å
¨ä½çè¡å²éI",1569      "skilltype":1,1570      "skilldistance":2000,1571      "skilldisplay":1,1572      "bulletnum":1,1573      "bulletspeed":1000,1574      "skillfrequency":1,1575      "skilltime":-1,1576      "targettype":3,1577      "gettargettype":0,1578      "target_area":5,1579      "target_num":-1,1580      "damagevalue":27600,1581      "buff":[[10000,14,0,5,1,2000]],1582      "extra_type":0,1583      "extra_data":0,1584      "extra_result":01585    },1586    "GZ005":{1587      "skillid":"GZ005",1588      "hero":"M101榴弹ç®ï¼æ¹1ï¼",1589      "skillcd":4,1590      "describe":"å¯¹ç®æ é ææ»å»419%ç伤害ï¼ä½¿ç®æ åå°ç伤害æé«40%ï¼æç»5ç§",1591      "lev":1,1592      "skillname":"é«çº§è´ä¼¤æå»I",1593      "skilltype":1,1594      "skilldistance":2000,1595      "skilldisplay":1,1596      "bulletnum":1,1597      "bulletspeed":1000,1598      "skillfrequency":1,1599      "skilltime":-1,1600      "targettype":3,1601      "gettargettype":0,1602      "target_area":1,1603      "target_num":1,1604      "damagevalue":41900,1605      "buff":[[10000,5,1,5,1,4000]],1606      "extra_type":0,1607      "extra_data":0,1608      "extra_result":01609    },1610    "GZ006":{1611      "skillid":"GZ006",1612      "hero":"彿å¦å
ï¼æ¹1ï¼",1613      "skillcd":4,1614      "describe":"å¯¹ç®æ é ææ»å»419%ç伤害ï¼å¹¶æåèªèº«æ»å»40%ï¼æç»5ç§",1615      "lev":1,1616      "skillname":"17ç£
被帽穿ç²å¼¹I",1617      "skilltype":1,1618      "skilldistance":2000,1619      "skilldisplay":1,1620      "bulletnum":1,1621      "bulletspeed":1000,1622      "skillfrequency":1,1623      "skilltime":-1,1624      "targettype":3,1625      "gettargettype":0,1626      "target_area":1,1627      "target_num":1,1628      "damagevalue":41900,1629      "buff":[[10000,14,0,5,1,4000]],1630      "extra_type":0,1631      "extra_data":0,1632      "extra_result":01633    },1634    "GZ007":{1635      "skillid":"GZ007",1636      "hero":"T26è½»å¦ï¼æ¹1ï¼",1637      "skillcd":4,1638      "describe":"å¯¹ç®æ é ææ»å»419%ç伤害ï¼å¹¶æåèªèº«40%æ´å»å çï¼æç»5ç§",1639      "lev":1,1640      "skillname":"56åå£å¾çè£ç®å¼¹I",1641      "skilltype":1,1642      "skilldistance":2000,1643      "skilldisplay":1,1644      "bulletnum":1,1645      "bulletspeed":1000,1646      "skillfrequency":1,1647      "skilltime":-1,1648      "targettype":3,1649      "gettargettype":0,1650      "target_area":1,1651      "target_num":1,1652      "damagevalue":41900,1653      "buff":[[10000,18,0,5,1,4000]],1654      "extra_type":0,1655      "extra_data":0,1656      "extra_result":01657    },1658    "GZ008":{1659      "skillid":"GZ008",1660      "hero":"ç§æ¼å¾·çªå»éï¼æ¹1ï¼",1661      "skillcd":4,1662      "describe":"æ²»çè¡éæå°çååï¼æ ¹æ®èªèº«æ»å»130%æ¢å¤ç®æ è¡éï¼å¹¶æåç®æ é²å¾¡60%ï¼æç»5ç§",1663      "lev":1,1664      "skillname":"æ©æ¤ä½¯æ»I",1665      "skilltype":2,1666      "skilldistance":2000,1667      "skilldisplay":2,1668      "bulletnum":-1,1669      "bulletspeed":-1,1670      "skillfrequency":-1,1671      "skilltime":-1,1672      "targettype":2,1673      "gettargettype":2,1674      "target_area":-1,1675      "target_num":1,1676      "damagevalue":13000,1677      "buff":[10000,8,1,5,1,6000],1678      "extra_type":0,1679      "extra_data":0,1680      "extra_result":01681    },1682    "GZ009":{1683      "skillid":"GZ009",1684      "hero":"M5åå¦å
ç®ï¼æ¹1ï¼",1685      "skillcd":4,1686      "describe":"å¯¹ææ¹è¡éæå°çç®æ é ææ»å»380%ç伤害ï¼è¥ç®æ çå½å¼ä½äº30%å伤害æé«100%",1687      "lev":1,1688      "skillname":"76.2mm追å»å¼¹I",1689      "skilltype":1,1690      "skilldistance":2000,1691      "skilldisplay":1,1692      "bulletnum":1,1693      "bulletspeed":1000,1694      "skillfrequency":1,1695      "skilltime":-1,1696      "targettype":3,1697      "gettargettype":2,1698      "target_area":-1,1699      "target_num":1,1700      "damagevalue":38000,1701      "extra_type":2,1702      "extra_data":3000,1703      "extra_result":[1,10000]1704    },1705    "GZ010":{1706      "skillid":"GZ010",1707      "hero":"BC3åå¦å
ç®ï¼æ¹1ï¼",1708      "skillcd":4,1709      "describe":"å¯¹ç®æ åèå´å
çæåé ææ»å»243%ç伤害ï¼ä½¿ç®æ åå°ææä¼¤å®³æé«40%ï¼æç»3ç§",1710      "lev":1,1711      "skillname":"å®å¿ç©¿ç²å¼¹I",1712      "skilltype":1,1713      "skilldistance":2000,1714      "skilldisplay":1,1715      "bulletnum":1,1716      "bulletspeed":1000,1717      "skillfrequency":1,1718      "skilltime":-1,1719      "targettype":3,1720      "gettargettype":0,1721      "target_area":6,1722      "target_num":100,1723      "damagevalue":24300,1724      "buff":[[10000,5,1,3,1,4000]],1725      "extra_type":0,1726      "extra_data":0,1727      "extra_result":01728    },1729    "GZ011":{1730      "skillid":"GZ011",1731      "hero":"17ç£
åå¦å
ç®ï¼æ¹1ï¼",1732      "skillcd":4,1733      "describe":"å¯¹ç®æ åèå´å
çæåé ææ»å»255%伤害ï¼å¹¶ä½¿ç®æ ç©æ1ç§",1734      "lev":1,1735      "skillname":"APDSè±å£³ç©¿ç²å¼¹I",1736      "skilltype":1,1737      "skilldistance":2000,1738      "skilldisplay":1,1739      "bulletnum":1,1740      "bulletspeed":1000,1741      "skillfrequency":1,1742      "skilltime":-1,1743      "targettype":3,1744      "gettargettype":0,1745      "target_area":6,1746      "target_num":100,1747      "damagevalue":25500,1748      "buff":[[10000,2,1,1,1,0]],1749      "extra_type":0,1750      "extra_data":0,1751      "extra_result":01752    },1753    "GZ012":{1754      "skillid":"GZ012",1755      "hero":"游éªå
µï¼æ¹1ï¼",1756      "skillcd":4,1757      "describe":"å¯¹ç®æ é ææ»å»336%ç伤害ï¼å¹¶ä½¿èªèº«è·å¾æ æææï¼å
ç«ææä¼¤å®³åè´é¢ææï¼æç»2ç§",1758      "lev":1,1759      "skillname":"æåºåå
¥I",1760      "skilltype":1,1761      "skilldistance":2000,1762      "skilldisplay":1,1763      "bulletnum":1,1764      "bulletspeed":1000,1765      "skillfrequency":1,1766      "skilltime":-1,1767      "targettype":3,1768      "gettargettype":0,1769      "target_area":1,1770      "target_num":1,1771      "damagevalue":33600,1772      "buff":[[10000,19,0,2,1,0]],1773      "extra_type":0,1774      "extra_data":0,1775      "extra_result":01776    },1777    "GZ013":{1778      "skillid":"GZ013",1779      "hero":"76èªè¡ç«ç®ï¼æ¹1ï¼",1780      "skillcd":4,1781      "describe":"å¯¹ç®æ é ææ»å»380%ç伤害ï¼è¥ç®æ çå½å¼é«äº70%å伤害æé«100%",1782      "lev":1,1783      "skillname":"FK36åå¶æ§ç®å¼¹I",1784      "skilltype":1,1785      "skilldistance":2000,1786      "skilldisplay":1,1787      "bulletnum":1,1788      "bulletspeed":1000,1789      "skillfrequency":1,1790      "skilltime":-1,1791      "targettype":3,1792      "gettargettype":0,1793      "target_area":1,1794      "target_num":1,1795      "damagevalue":38000,1796      "extra_type":1,1797      "extra_data":7000,1798      "extra_result":[1,10000]1799    },1800    "GZ014":{1801      "skillid":"GZ014",1802      "hero":"æ ¼å
°ç¹æï¼æ¹1ï¼",1803      "skillcd":4,1804      "describe":"对éè¿éæº2ä¸ªææ¹åä½é ææ»å»336%ç伤害ï¼å¹¶æåèªèº«60%çé²å¾¡ï¼æç»5ç§",1805      "lev":1,1806      "skillname":"M5å75mmçè£å¼¹I",1807      "skilltype":1,1808      "skilldistance":2000,1809      "skilldisplay":1,1810      "bulletnum":1,1811      "bulletspeed":1000,1812      "skillfrequency":1,1813      "skilltime":-1,1814      "targettype":3,1815      "gettargettype":0,1816      "target_area":2,1817      "target_num":2,1818      "damagevalue":33600,1819      "buff":[[10000,16,0,5,1,6000]],1820      "extra_type":0,1821      "extra_data":0,1822      "extra_result":01823    },1824    "GZ015":{1825      "skillid":"GZ015",1826      "hero":"ä¸åå°å¦å
ï¼æ¹1ï¼",1827      "skillcd":4,1828      "describe":"å¯¹éæº2ä¸ªææ¹åä½é ææ»å»330%ç伤害ï¼å¹¶æ30%çå çé¢å¤è§¦å1次",1829      "lev":1,1830      "skillname":"92mmBMGæº
å°ç«ç®I",1831      "skilltype":1,1832      "skilldistance":2000,1833      "skilldisplay":1,1834      "bulletnum":1,1835      "bulletspeed":1000,1836      "skillfrequency":1,1837      "skilltime":-1,1838      "targettype":3,1839      "gettargettype":0,1840      "target_area":4,1841      "target_num":2,1842      "damagevalue":33000,1843      "extra_type":4,1844      "extra_data":3000,1845      "extra_result":[1,10000]1846    },1847    "GZ016":{1848      "skillid":"GZ016",1849      "hero":"èèéªå
µï¼æ¹1ï¼",1850      "skillcd":4,1851      "describe":"å¯¹ç®æ é ææ»å»318%ç伤害ï¼å¹¶æååæ¹20%æ»å»ï¼æç»5ç§ï¼ä¼å
å¦å
ï¼",1852      "lev":1,1853      "skillname":"å²éé·éµI",1854      "skilltype":1,1855      "skilldistance":2000,1856      "skilldisplay":1,1857      "bulletnum":1,1858      "bulletspeed":1000,1859      "skillfrequency":1,1860      "skilltime":-1,1861      "targettype":3,1862      "gettargettype":7,1863      "target_area":1,1864      "target_num":1,1865      "damagevalue":31800,1866      "buff":[[10000,3,3,5,1,2000]],1867      "extra_type":0,1868      "extra_data":0,1869      "extra_result":01870    },1871    "GZ017":{1872      "skillid":"GZ017",1873      "hero":"SU152éå¦ï¼æ¹1ï¼",1874      "skillcd":4,1875      "describe":"å¯¹éæº3ä¸ªææ¹åä½é ææ»å»294%ç伤害ï¼å¹¶æ50%å çé¢å¤è§¦å1次",1876      "lev":1,1877      "skillname":"152mmè¶
éåç ´ç²å¼¹I",1878      "skilltype":1,1879      "skilldistance":2000,1880      "skilldisplay":1,1881      "bulletnum":1,1882      "bulletspeed":1000,1883      "skillfrequency":1,1884      "skilltime":-1,1885      "targettype":3,1886      "gettargettype":0,1887      "target_area":4,1888      "target_num":3,1889      "damagevalue":29400,1890      "extra_type":4,1891      "extra_data":5000,1892      "extra_result":[1,10000]1893    },1894    "GZ018":{1895      "skillid":"GZ018",1896      "hero":"æ¼å»è½¦ï¼æ¹1ï¼",1897      "skillcd":4,1898      "describe":"å¯¹ææ¹éæº2ä¸ªç®æ é ææ»å»330%ç伤害ï¼å¹¶ä½¿èªèº«æ»å»é度æé«20%ï¼æç»3ç§",1899      "lev":1,1900      "skillname":"å¿«éå¶å¯¼88ç®I",1901      "skilltype":1,1902      "skilldistance":2000,1903      "skilldisplay":1,1904      "bulletnum":1,1905      "bulletspeed":1000,1906      "skillfrequency":1,1907      "skilltime":-1,1908      "targettype":3,1909      "gettargettype":0,1910      "target_area":4,1911      "target_num":2,1912      "damagevalue":33000,1913      "buff":[[10000,1,0,3,1,2000]],1914      "extra_type":0,1915      "extra_data":0,1916      "extra_result":01917    },1918    "GZ019":{1919      "skillid":"GZ019",1920      "hero":"è¤ç«è«å¦å
ï¼æ¹1ï¼",1921      "skillcd":4,1922      "describe":"å¯¹ææ¹éæº2ä¸ªç®æ é ææ»å»330%ç伤害ï¼å¹¶é带10%å¸è¡ææ",1923      "lev":1,1924      "skillname":"MKVIIåå¦å
ç®I",1925      "skilltype":1,1926      "skilldistance":2000,1927      "skilldisplay":1,1928      "bulletnum":1,1929      "bulletspeed":1000,1930      "skillfrequency":1,1931      "skilltime":-1,1932      "targettype":3,1933      "gettargettype":0,1934      "target_area":4,1935      "target_num":2,1936      "damagevalue":33000,1937      "extra_type":3,1938      "extra_data":0,1939      "extra_result":[2,1000]1940    },1941    "GZ020":{1942      "skillid":"GZ020",1943      "hero":"å°ç±ç«ï¼æ¹1ï¼",1944      "skillcd":4,1945      "describe":"å¯¹ææ¹éæº2ä¸ªç®æ é ææ»å»330%ç伤害ï¼å¹¶éä½ç®æ æ»å»å30%ï¼æç»3ç§",1946      "lev":1,1947      "skillname":"M1é伤æå»76ç®I",1948      "skilltype":1,1949      "skilldistance":2000,1950      "skilldisplay":1,1951      "bulletnum":1,1952      "bulletspeed":1000,1953      "skillfrequency":1,1954      "skilltime":-1,1955      "targettype":3,1956      "gettargettype":0,1957      "target_area":4,1958      "target_num":2,1959      "damagevalue":33000,1960      "buff":[[10000,20,1,3,1,3000]],1961      "extra_type":0,1962      "extra_data":0,1963      "extra_result":01964    },1965    "GZ021":{1966      "skillid":"GZ021",1967      "hero":"åå¦å
æ¥å
µï¼æ¹1ï¼",1968      "skillcd":4,1969      "describe":"å¯¹ç®æ é ææ»å»445%ç伤害ï¼å¹¶æ70%å çé¢å¤é æ1次æè½ä¼¤å®³",1970      "lev":1,1971      "skillname":"ç²¾åæå»I",1972      "skilltype":1,1973      "skilldistance":2000,1974      "skilldisplay":1,1975      "bulletnum":1,1976      "bulletspeed":1000,1977      "skillfrequency":1,1978      "skilltime":-1,1979      "targettype":3,1980      "gettargettype":0,1981      "target_area":1,1982      "target_num":1,1983      "damagevalue":44500,1984      "extra_type":4,1985      "extra_data":7000,1986      "extra_result":[1,10000]1987    },1988    "GZ022":{1989      "skillid":"GZ022",1990      "hero":"çå®¶è¿å«ï¼æ¹1ï¼",1991      "skillcd":4,1992      "describe":"å¯¹éæº3ä¸ªææ¹åä½é ææ»å»340%ç伤害ï¼å¹¶ä½¿èªèº«éªé¿æé«50%ï¼æç»1ç§ï¼è§¦åâ士æ°çåâï¼å
¨éæ»å»ååé²å¾¡åæå20%ï¼æç»3ç§",1993      "lev":1,1994      "skillname":"çå®¶è£èI",1995      "skilltype":1,1996      "skilldistance":2000,1997      "skilldisplay":1,1998      "bulletnum":1,1999      "bulletspeed":1000,2000      "skillfrequency":1,2001      "skilltime":-1,2002      "targettype":3,2003      "gettargettype":0,2004      "target_area":4,2005      "target_num":3,2006      "damagevalue":34000,2007      "buff":[[10000,6,0,1,1,5000],[10000,3,3,3,1,2000],[10000,4,3,3,1,2000]],2008      "extra_type":0,2009      "extra_data":0,2010      "extra_result":02011    },2012    "GZ023":{2013      "skillid":"GZ023",2014      "hero":"èèè¿å«åï¼æ¹1ï¼",2015      "skillcd":4,2016      "describe":"å¯¹éæº2ä¸ªææ¹åä½é ææ»å»382%ç伤害ï¼åæ¶ä½¿ç®æ åå°ä¼¤å®³æé«40%ï¼æç»1ç§ï¼è§¦åâ士æ°çåâï¼å
¨éæ»å»ååé²å¾¡åæå20%ï¼æç»3ç§",2017      "lev":1,2018      "skillname":"éå¢åæ
I",2019      "skilltype":1,2020      "skilldistance":2000,2021      "skilldisplay":1,2022      "bulletnum":1,2023      "bulletspeed":1000,2024      "skillfrequency":1,2025      "skilltime":-1,2026      "targettype":3,2027      "gettargettype":0,2028      "target_area":4,2029      "target_num":2,2030      "damagevalue":38200,2031      "buff":[[10000,5,1,1,1,4000],[10000,3,3,3,1,2000],[10000,4,3,3,1,2000]],2032      "extra_type":0,2033      "extra_data":0,2034      "extra_result":02035    },2036    "GZ024":{2037      "skillid":"GZ024",2038      "hero":"çç§è
ï¼æ¹1ï¼",2039      "skillcd":4,2040      "describe":"å¯¹ææ¹ææå£«å
µé ææ»å»290%ç伤害ï¼å¹¶ç©æç®æ 1ç§ï¼è§¦åâ士æ°çåâï¼å
¨éæ»å»ååé²å¾¡åæå20%ï¼æç»3ç§",2041      "lev":1,2042      "skillname":"çç°å·å°I",2043      "skilltype":1,2044      "skilldistance":2000,2045      "skilldisplay":1,2046      "bulletnum":1,2047      "bulletspeed":1000,2048      "skillfrequency":1,2049      "skilltime":-1,2050      "targettype":3,2051      "gettargettype":0,2052      "target_area":5,2053      "target_num":-1,2054      "damagevalue":29000,2055      "buff":[[10000,2,1,1,1,0],[10000,3,3,3,1,2000],[10000,4,3,3,1,2000]],2056      "extra_type":0,2057      "extra_data":0,2058      "extra_result":02059    },2060    "GZ025":{2061      "skillid":"GZ025",2062      "hero":"Mattressç«ç®ç®ï¼æ¹1ï¼",2063      "skillcd":4,2064      "describe":"å¯¹ææ¹è¡éæå°ç3ä¸ªç®æ é ææ»å»298%ç伤害ï¼è¥ç®æ çå½å¼ä½äº30%å伤害æé«100%ï¼è§¦åâ士æ°çåâï¼å
¨éæ»å»ååé²å¾¡åæå20%ï¼æç»3ç§",2065      "lev":1,2066      "skillname":"ç«åå°éI",2067      "skilltype":1,2068      "skilldistance":2000,2069      "skilldisplay":1,2070      "bulletnum":1,2071      "bulletspeed":1000,2072      "skillfrequency":1,2073      "skilltime":-1,2074      "targettype":3,2075      "gettargettype":2,2076      "target_area":-1,2077      "target_num":3,2078      "damagevalue":29800,2079      "buff":[[10000,3,3,3,1,2000],[10000,4,3,3,1,2000]],2080      "extra_type":2,2081      "extra_data":3000,2082      "extra_result":[1,10000]2083    },2084    "GZ026":{2085      "skillid":"GZ026",2086      "hero":"èèBM13ï¼æ¹1ï¼",2087      "skillcd":4,2088      "describe":"å¯¹ææ¹éæº3ä¸ªç®æ é ææ»å»340%ç伤害ï¼ä½¿åæ¹éæº3人è·å¾æ æææï¼æç»1ç§ï¼å¹¶è§¦åâ士æ°çåâï¼å
¨éæ»å»ååé²å¾¡åæå20%ï¼æç»3ç§",2089      "lev":1,2090      "skillname":"åç§èçç¬å®¹I",2091      "skilltype":1,2092      "skilldistance":2000,2093      "skilldisplay":1,2094      "bulletnum":1,2095      "bulletspeed":1000,2096      "skillfrequency":1,2097      "skilltime":-1,2098      "targettype":3,2099      "gettargettype":0,2100      "target_area":4,2101      "target_num":3,2102      "damagevalue":34000,2103      "buff":[[10000,19,6,1,1,0],[10000,3,3,3,1,2000],[10000,4,3,3,1,2000]],2104      "extra_type":0,2105      "extra_data":0,2106      "extra_result":02107    },2108    "GZ027":{2109      "skillid":"GZ027",2110      "hero":"T34ç«ç®ç®ï¼æ¹1ï¼",2111      "skillcd":4,2112      "describe":"å¯¹ææ¹éæº3ä¸ªç®æ é ææ»å»340%ç伤害ï¼å¹¶æ²é»ç®æ 3ç§ï¼è§¦åâ士æ°çåâï¼å
¨éæ»å»ååé²å¾¡åæå20%ï¼æç»3ç§",2113      "lev":1,2114      "skillname":"4.5è±å¯¸å¸ç¥å¤ç®¡ç«ç®ç®I",2115      "skilltype":1,2116      "skilldistance":2000,2117      "skilldisplay":1,2118      "bulletnum":1,2119      "bulletspeed":1000,2120      "skillfrequency":1,2121      "skilltime":-1,2122      "targettype":3,2123      "gettargettype":0,2124      "target_area":4,2125      "target_num":3,2126      "damagevalue":34000,2127      "buff":[[10000,21,1,3,1,0],[10000,3,3,3,1,2000],[10000,4,3,3,1,2000]],2128      "extra_type":0,2129      "extra_data":0,2130      "extra_result":02131    },2132    "GZ101":{2133      "skillid":"GZ101",2134      "hero":"é«å°ç®ï¼æ¹2ï¼",2135      "skillcd":4,2136      "describe":"对éè¿éæº3ä¸ªææ¹åä½é ææ»å»336%ç伤害ï¼è¥ç®æ çå½å¼é«äº65%å伤害æé«100%",2137      "lev":1,2138      "skillname":"å å¼ºåç«åè¦çII",2139      "skilltype":1,2140      "skilldistance":2000,2141      "skilldisplay":1,2142      "bulletnum":1,2143      "bulletspeed":1000,2144      "skillfrequency":1,2145      "skilltime":-1,2146      "targettype":3,2147      "gettargettype":0,2148      "target_area":4,2149      "target_num":3,2150      "damagevalue":33600,2151      "extra_type":1,2152      "extra_data":6500,2153      "extra_result":[1,10000]2154    },2155    "GZ102":{2156      "skillid":"GZ102",2157      "hero":"72Ké«å°ç®ï¼æ¹2ï¼",2158      "skillcd":4,2159      "describe":"对èå´å
ææ¹åä½é ææ»å»269%ç伤害ï¼å¹¶ä½¿èªèº«åå°ç伤害éä½60%ï¼æç»4ç§ï¼åæ¶éä½ç®æ æ»å»é度10%ï¼æç»2ç§",2160      "lev":1,2161      "skillname":"é«çº§é²å¾¡å¶å¯¼II",2162      "skilltype":1,2163      "skilldistance":2000,2164      "skilldisplay":1,2165      "bulletnum":1,2166      "bulletspeed":1000,2167      "skillfrequency":1,2168      "skilltime":-1,2169      "targettype":3,2170      "gettargettype":0,2171      "target_area":6,2172      "target_num":100,2173      "damagevalue":26900,2174      "buff":[[10000,9,0,4,1,6000],[10000,22,1,2,1,-1000]],2175      "extra_type":0,2176      "extra_data":0,2177      "extra_result":02178    },2179    "GZ103":{2180      "skillid":"GZ103",2181      "hero":"M36é«å°ç®ï¼æ¹2ï¼",2182      "skillcd":4,2183      "describe":"å¯¹éæº2ä¸ªææ¹åä½é ææ»å»386%ç伤害ï¼å¹¶æ50%å çé¢å¤è§¦å䏿¬¡",2184      "lev":1,2185      "skillname":"M18A1åæ¯ç ´ç²å¼¹II",2186      "skilltype":1,2187      "skilldistance":2000,2188      "skilldisplay":1,2189      "bulletnum":1,2190      "bulletspeed":1000,2191      "skillfrequency":1,2192      "skilltime":-1,2193      "targettype":3,2194      "gettargettype":0,2195      "target_area":4,2196      "target_num":2,2197      "damagevalue":38600,2198      "extra_type":4,2199      "extra_data":5000,2200      "extra_result":[1,10000]2201    },2202    "GZ104":{2203      "skillid":"GZ104",2204      "hero":"èèçªå»éï¼æ¹2ï¼",2205      "skillcd":4,2206      "describe":"å¯¹ææ¹ææææ¹åä½é ææ»å»286%ç伤害并æåèªèº«æ»å»40%ï¼æç»5ç§",2207      "lev":1,2208      "skillname":"å
¨ä½çè¡å²éII",2209      "skilltype":1,2210      "skilldistance":2000,2211      "skilldisplay":1,2212      "bulletnum":1,2213      "bulletspeed":1000,2214      "skillfrequency":1,2215      "skilltime":-1,2216      "targettype":3,2217      "gettargettype":0,2218      "target_area":5,2219      "target_num":-1,2220      "damagevalue":28600,2221      "buff":[[10000,14,0,5,1,4000]],2222      "extra_type":0,2223      "extra_data":0,2224      "extra_result":02225    },2226    "GZ105":{2227      "skillid":"GZ105",2228      "hero":"M101榴弹ç®ï¼æ¹2ï¼",2229      "skillcd":4,2230      "describe":"å¯¹ç®æ é ææ»å»439%ç伤害ï¼ä½¿ç®æ åå°ç伤害æé«50%ï¼æç»5ç§",2231      "lev":1,2232      "skillname":"é«çº§è´ä¼¤æå»II",2233      "skilltype":1,2234      "skilldistance":2000,2235      "skilldisplay":1,2236      "bulletnum":1,2237      "bulletspeed":1000,2238      "skillfrequency":1,2239      "skilltime":-1,2240      "targettype":3,2241      "gettargettype":0,2242      "target_area":1,2243      "target_num":1,2244      "damagevalue":43900,2245      "buff":[[10000,5,1,1,1,5000]],2246      "extra_type":0,2247      "extra_data":0,2248      "extra_result":02249    },2250    "GZ106":{2251      "skillid":"GZ106",2252      "hero":"彿å¦å
ï¼æ¹2ï¼",2253      "skillcd":4,2254      "describe":"å¯¹ç®æ é ææ»å»439%ç伤害ï¼å¹¶æåèªèº«æ»å»60%ï¼æç»5ç§",2255      "lev":1,2256      "skillname":"17ç£
被帽穿ç²å¼¹II",2257      "skilltype":1,2258      "skilldistance":2000,2259      "skilldisplay":1,2260      "bulletnum":1,2261      "bulletspeed":1000,2262      "skillfrequency":1,2263      "skilltime":-1,2264      "targettype":3,2265      "gettargettype":0,2266      "target_area":1,2267      "target_num":1,2268      "damagevalue":43900,2269      "buff":[[10000,14,0,5,1,6000]],2270      "extra_type":0,2271      "extra_data":0,2272      "extra_result":02273    },2274    "GZ107":{2275      "skillid":"GZ107",2276      "hero":"T26è½»å¦ï¼æ¹2ï¼",2277      "skillcd":4,2278      "describe":"å¯¹ç®æ é ææ»å»439%ç伤害ï¼å¹¶æåèªèº«60%æ´å»å çï¼æç»5ç§",2279      "lev":1,2280      "skillname":"56åå£å¾çè£ç®å¼¹II",2281      "skilltype":1,2282      "skilldistance":2000,2283      "skilldisplay":1,2284      "bulletnum":1,2285      "bulletspeed":1000,2286      "skillfrequency":1,2287      "skilltime":-1,2288      "targettype":3,2289      "gettargettype":0,2290      "target_area":1,2291      "target_num":1,2292      "damagevalue":43900,2293      "buff":[[10000,18,0,5,1,6000]],2294      "extra_type":0,2295      "extra_data":0,2296      "extra_result":02297    },2298    "GZ108":{2299      "skillid":"GZ108",2300      "hero":"ç§æ¼å¾·çªå»éï¼æ¹2ï¼",2301      "skillcd":4,2302      "describe":"æ²»çè¡éæå°çåæ¹åä½ï¼æ ¹æ®èªèº«æ»å»140%æ¢å¤ç®æ è¡éï¼å¹¶æåç®æ é²å¾¡70%ï¼æç»5ç§",2303      "lev":1,2304      "skillname":"æ©æ¤ä½¯æ»II",2305      "skilltype":2,2306      "skilldistance":2000,2307      "skilldisplay":2,2308      "bulletnum":-1,2309      "bulletspeed":-1,2310      "skillfrequency":-1,2311      "skilltime":-1,2312      "targettype":2,2313      "gettargettype":2,2314      "target_area":-1,2315      "target_num":1,2316      "damagevalue":14000,2317      "buff":[10000,8,1,5,1,7000],2318      "extra_type":0,2319      "extra_data":0,2320      "extra_result":02321    },2322    "GZ109":{2323      "skillid":"GZ109",2324      "hero":"M5åå¦å
ç®ï¼æ¹2ï¼",2325      "skillcd":4,2326      "describe":"å¯¹ææ¹è¡éæå°çç®æ é ææ»å»400%ç伤害ï¼è¥ç®æ çå½å¼ä½äº35%å伤害æé«100%",2327      "lev":1,2328      "skillname":"76.2mm追å»å¼¹II",2329      "skilltype":1,2330      "skilldistance":2000,2331      "skilldisplay":1,2332      "bulletnum":1,2333      "bulletspeed":1000,2334      "skillfrequency":1,2335      "skilltime":-1,2336      "targettype":3,2337      "gettargettype":2,2338      "target_area":-1,2339      "target_num":1,2340      "damagevalue":40000,2341      "extra_type":2,2342      "extra_data":3500,2343      "extra_result":[1,10000]2344    },2345    "GZ110":{2346      "skillid":"GZ110",2347      "hero":"BC3åå¦å
ç®ï¼æ¹2ï¼",2348      "skillcd":4,2349      "describe":"å¯¹ç®æ åèå´å
çæåé ææ»å»258%ç伤害ï¼ä½¿ç®æ åå°ææä¼¤å®³æé«45%ï¼æç»3ç§",2350      "lev":1,2351      "skillname":"å®å¿ç©¿ç²å¼¹II",2352      "skilltype":1,2353      "skilldistance":2000,2354      "skilldisplay":1,2355      "bulletnum":1,2356      "bulletspeed":1000,2357      "skillfrequency":1,2358      "skilltime":-1,2359      "targettype":3,2360      "gettargettype":0,2361      "target_area":6,2362      "target_num":100,2363      "damagevalue":25800,2364      "buff":[[10000,5,1,3,1,4500]],2365      "extra_type":0,2366      "extra_data":0,2367      "extra_result":02368    },2369    "GZ111":{2370      "skillid":"GZ111",2371      "hero":"17ç£
åå¦å
ç®ï¼æ¹2ï¼",2372      "skillcd":4,2373      "describe":"å¯¹ç®æ åèå´å
çæåé ææ»å»270%伤害ï¼å¹¶ä½¿ç®æ ç©æ1.5ç§",2374      "lev":1,2375      "skillname":"APDSè±å£³ç©¿ç²å¼¹II",2376      "skilltype":1,2377      "skilldistance":2000,2378      "skilldisplay":1,2379      "bulletnum":1,2380      "bulletspeed":1000,2381      "skillfrequency":1,2382      "skilltime":-1,2383      "targettype":3,2384      "gettargettype":0,2385      "target_area":6,2386      "target_num":100,2387      "damagevalue":27000,2388      "buff":[[10000,2,1,1.5,1,0]],2389      "extra_type":0,2390      "extra_data":0,2391      "extra_result":02392    },2393    "GZ112":{2394      "skillid":"GZ112",2395      "hero":"游éªå
µï¼æ¹2ï¼",2396      "skillcd":4,2397      "describe":"å¯¹ç®æ é ææ»å»366%ç伤害ï¼å¹¶ä½¿èªèº«è·å¾æ æææï¼å
ç«ææä¼¤å®³åè´é¢ææï¼æç»2.5ç§",2398      "lev":1,2399      "skillname":"æåºåå
¥II",2400      "skilltype":1,2401      "skilldistance":2000,2402      "skilldisplay":1,2403      "bulletnum":1,2404      "bulletspeed":1000,2405      "skillfrequency":1,2406      "skilltime":-1,2407      "targettype":3,2408      "gettargettype":0,2409      "target_area":1,2410      "target_num":1,2411      "damagevalue":36600,2412      "buff":[[10000,19,0,2.5,1,0]],2413      "extra_type":0,2414      "extra_data":0,2415      "extra_result":02416    },2417    "GZ113":{2418      "skillid":"GZ113",2419      "hero":"76èªè¡ç«ç®ï¼æ¹2ï¼",2420      "skillcd":4,2421      "describe":"å¯¹ç®æ é ææ»å»400%ç伤害ï¼è¥ç®æ çå½å¼é«äº65%å伤害æé«100%",2422      "lev":1,2423      "skillname":"FK36åå¶æ§ç®å¼¹II",2424      "skilltype":1,2425      "skilldistance":2000,2426      "skilldisplay":1,2427      "bulletnum":1,2428      "bulletspeed":1000,2429      "skillfrequency":1,2430      "skilltime":-1,2431      "targettype":3,2432      "gettargettype":0,2433      "target_area":1,2434      "target_num":1,2435      "damagevalue":40000,2436      "extra_type":1,2437      "extra_data":6500,2438      "extra_result":[1,10000]2439    },2440    "GZ114":{2441      "skillid":"GZ114",2442      "hero":"æ ¼å
°ç¹æï¼æ¹2ï¼",2443      "skillcd":4,2444      "describe":"对éè¿2ä¸ªææ¹åä½é ææ»å»366%ç伤害ï¼å¹¶æåèªèº«120%çé²å¾¡ï¼æç»5ç§",2445      "lev":1,2446      "skillname":"M5å75mmçè£å¼¹II",2447      "skilltype":1,2448      "skilldistance":2000,2449      "skilldisplay":1,2450      "bulletnum":1,2451      "bulletspeed":1000,2452      "skillfrequency":1,2453      "skilltime":-1,2454      "targettype":3,2455      "gettargettype":0,2456      "target_area":2,2457      "target_num":2,2458      "damagevalue":36600,2459      "buff":[[10000,16,0,5,1,12000]],2460      "extra_type":0,2461      "extra_data":0,2462      "extra_result":02463    },2464    "GZ115":{2465      "skillid":"GZ115",2466      "hero":"ä¸åå°å¦å
ï¼æ¹2ï¼",2467      "skillcd":4,2468      "describe":"å¯¹éæº2ä¸ªææ¹åä½é ææ»å»348%ç伤害ï¼å¹¶æ40%çå çé¢å¤è§¦å1次",2469      "lev":1,2470      "skillname":"92mmBMGæº
å°ç«ç®II",2471      "skilltype":1,2472      "skilldistance":2000,2473      "skilldisplay":1,2474      "bulletnum":1,2475      "bulletspeed":1000,2476      "skillfrequency":1,2477      "skilltime":-1,2478      "targettype":3,2479      "gettargettype":0,2480      "target_area":4,2481      "target_num":2,2482      "damagevalue":34800,2483      "extra_type":4,2484      "extra_data":4000,2485      "extra_result":[1,10000]2486    },2487    "GZ116":{2488      "skillid":"GZ116",2489      "hero":"èèéªå
µï¼æ¹2ï¼",2490      "skillcd":4,2491      "describe":"å¯¹ç®æ é ææ»å»348%ç伤害ï¼å¹¶æååæ¹30%æ»å»ï¼æç»5ç§ï¼ä¼å
å¦å
ï¼",2492      "lev":1,2493      "skillname":"å²éé·éµII",2494      "skilltype":1,2495      "skilldistance":2000,2496      "skilldisplay":1,2497      "bulletnum":1,2498      "bulletspeed":1000,2499      "skillfrequency":1,2500      "skilltime":-1,2501      "targettype":3,2502      "gettargettype":7,2503      "target_area":1,2504      "target_num":1,2505      "damagevalue":34800,2506      "buff":[[10000,3,3,5,1,3000]],2507      "extra_type":0,2508      "extra_data":0,2509      "extra_result":02510    },2511    "GZ117":{2512      "skillid":"GZ117",2513      "hero":"SU152éå¦ï¼æ¹2ï¼",2514      "skillcd":4,2515      "describe":"å¯¹éæº3ä¸ªææ¹åä½é ææ»å»312%ç伤害ï¼å¹¶æ60%å çé¢å¤è§¦å1次",2516      "lev":1,2517      "skillname":"152mmè¶
éåç ´ç²å¼¹II",2518      "skilltype":1,2519      "skilldistance":2000,2520      "skilldisplay":1,2521      "bulletnum":1,2522      "bulletspeed":1000,2523      "skillfrequency":1,2524      "skilltime":-1,2525      "targettype":3,2526      "gettargettype":0,2527      "target_area":4,2528      "target_num":3,2529      "damagevalue":31200,2530      "extra_type":4,2531      "extra_data":6000,2532      "extra_result":[1,10000]2533    },2534    "GZ118":{2535      "skillid":"GZ118",2536      "hero":"æ¼å»è½¦ï¼æ¹2ï¼",2537      "skillcd":4,2538      "describe":"å¯¹ææ¹éæº2ä¸ªç®æ é ææ»å»348%ç伤害ï¼å¹¶ä½¿èªèº«æ»å»é度æé«30%ï¼æç»3ç§",2539      "lev":1,2540      "skillname":"å¿«éå¶å¯¼88ç®II",2541      "skilltype":1,2542      "skilldistance":2000,2543      "skilldisplay":1,2544      "bulletnum":1,2545      "bulletspeed":1000,2546      "skillfrequency":1,2547      "skilltime":-1,2548      "targettype":3,2549      "gettargettype":0,2550      "target_area":4,2551      "target_num":2,2552      "damagevalue":34800,2553      "buff":[[10000,1,0,3,1,3000]],2554      "extra_type":0,2555      "extra_data":0,2556      "extra_result":02557    },2558    "GZ119":{2559      "skillid":"GZ119",2560      "hero":"è¤ç«è«å¦å
ï¼æ¹2ï¼",2561      "skillcd":4,2562      "describe":"å¯¹ææ¹éæº2ä¸ªç®æ é ææ»å»348%ç伤害ï¼å¹¶é带15%å¸è¡ææ",2563      "lev":1,2564      "skillname":"MKVIIåå¦å
ç®II",2565      "skilltype":1,2566      "skilldistance":2000,2567      "skilldisplay":1,2568      "bulletnum":1,2569      "bulletspeed":1000,2570      "skillfrequency":1,2571      "skilltime":-1,2572      "targettype":3,2573      "gettargettype":0,2574      "target_area":4,2575      "target_num":2,2576      "damagevalue":34800,2577      "buff":[[10000,20,1,3,1,3000]],2578      "extra_type":3,2579      "extra_data":0,2580      "extra_result":[2,1500]2581    },2582    "GZ120":{2583      "skillid":"GZ120",2584      "hero":"å°ç±ç«ï¼æ¹2ï¼",2585      "skillcd":4,2586      "describe":"å¯¹ææ¹éæº2ä¸ªç®æ é ææ»å»330%ç伤害ï¼å¹¶éä½ç®æ æ»å»å40%ï¼æç»3ç§",2587      "lev":1,2588      "skillname":"M1é伤æå»76ç®II",2589      "skilltype":1,2590      "skilldistance":2000,2591      "skilldisplay":1,2592      "bulletnum":1,2593      "bulletspeed":1000,2594      "skillfrequency":1,2595      "skilltime":-1,2596      "targettype":3,2597      "gettargettype":0,2598      "target_area":4,2599      "target_num":2,2600      "damagevalue":33000,2601      "buff":[[10000,20,1,3,1,4000]],2602      "extra_type":0,2603      "extra_data":0,2604      "extra_result":02605    },2606    "GZ121":{2607      "skillid":"GZ121",2608      "hero":"åå¦å
æ¥å
µï¼æ¹2ï¼",2609      "skillcd":4,2610      "describe":"å¯¹ç®æ é ææ»å»470%ç伤害ï¼å¹¶æ90%å çé¢å¤é æ1次æè½ä¼¤å®³",2611      "lev":1,2612      "skillname":"ç²¾åæå»II",2613      "skilltype":1,2614      "skilldistance":2000,2615      "skilldisplay":1,2616      "bulletnum":1,2617      "bulletspeed":1000,2618      "skillfrequency":1,2619      "skilltime":-1,2620      "targettype":3,2621      "gettargettype":0,2622      "target_area":1,2623      "target_num":1,2624      "damagevalue":47000,2625      "extra_type":4,2626      "extra_data":9000,2627      "extra_result":[1,10000]2628    },2629    "GZ122":{2630      "skillid":"GZ122",2631      "hero":"çå®¶è¿å«ï¼æ¹2ï¼",2632      "skillcd":4,2633      "describe":"å¯¹éæº3ä¸ªææ¹åä½é ææ»å»358%ç伤害ï¼å¹¶ä½¿èªèº«éªé¿æé«50%ï¼æç»1.5ç§ï¼è§¦åâ士æ°çåâï¼å
¨éæ»å»ååé²å¾¡åæå25%ï¼æç»3ç§",2634      "lev":1,2635      "skillname":"çå®¶è£èII",2636      "skilltype":1,2637      "skilldistance":2000,2638      "skilldisplay":1,2639      "bulletnum":1,2640      "bulletspeed":1000,2641      "skillfrequency":1,2642      "skilltime":-1,2643      "targettype":3,2644      "gettargettype":0,2645      "target_area":4,2646      "target_num":3,2647      "damagevalue":35800,2648      "buff":[[10000,6,0,1.5,1,5000],[10000,3,3,3,1,2500],[10000,4,3,3,1,2500]],2649      "extra_type":0,2650      "extra_data":0,2651      "extra_result":02652    },2653    "GZ123":{2654      "skillid":"GZ123",2655      "hero":"èèè¿å«åï¼æ¹2ï¼",2656      "skillcd":4,2657      "describe":"å¯¹éæº2ä¸ªææ¹åä½é ææ»å»400%ç伤害ï¼åæ¶ä½¿ç®æ åå°ä¼¤å®³æé«40%ï¼æç»1.5ç§ï¼è§¦åâ士æ°çåâï¼å
¨éæ»å»ååé²å¾¡åæå25%ï¼æç»3ç§",2658      "lev":1,2659      "skillname":"éå¢åæ
II",2660      "skilltype":1,2661      "skilldistance":2000,2662      "skilldisplay":1,2663      "bulletnum":1,2664      "bulletspeed":1000,2665      "skillfrequency":1,2666      "skilltime":-1,2667      "targettype":3,2668      "gettargettype":0,2669      "target_area":4,2670      "target_num":2,2671      "damagevalue":40000,2672      "buff":[[10000,5,1,1.5,1,4000],[10000,3,3,3,1,2500],[10000,4,3,3,1,2500]],2673      "extra_type":0,2674      "extra_data":0,2675      "extra_result":02676    },2677    "GZ124":{2678      "skillid":"GZ124",2679      "hero":"çç§è
ï¼æ¹2ï¼",2680      "skillcd":4,2681      "describe":"å¯¹ææ¹ææåä½é ææ»å»300%ç伤害ï¼å¹¶ç©æç®æ 1.5ç§ï¼è§¦åâ士æ°çåâï¼å
¨éæ»å»ååé²å¾¡åæå25%ï¼æç»3ç§",2682      "lev":1,2683      "skillname":"çç°å·å°II",2684      "skilltype":1,2685      "skilldistance":2000,2686      "skilldisplay":1,2687      "bulletnum":1,2688      "bulletspeed":1000,2689      "skillfrequency":1,2690      "skilltime":-1,2691      "targettype":3,2692      "gettargettype":0,2693      "target_area":5,2694      "target_num":-1,2695      "damagevalue":30000,2696      "buff":[[10000,2,1,1.5,1,0],[10000,3,3,3,1,2500],[10000,4,3,3,1,2500]],2697      "extra_type":0,2698      "extra_data":0,2699      "extra_result":02700    },2701    "GZ125":{2702      "skillid":"GZ125",2703      "hero":"Mattressç«ç®ç®ï¼æ¹2ï¼",2704      "skillcd":4,2705      "describe":"å¯¹ææ¹è¡éæå°ç3ä¸ªç®æ é ææ»å»316%ç伤害ï¼è¥ç®æ çå½å¼ä½äº35%å伤害æé«100%ï¼è§¦åâ士æ°çåâï¼å
¨éæ»å»ååé²å¾¡åæå25%ï¼æç»3ç§",2706      "lev":1,2707      "skillname":"ç«åå°éII",2708      "skilltype":1,2709      "skilldistance":2000,2710      "skilldisplay":1,2711      "bulletnum":1,2712      "bulletspeed":1000,2713      "skillfrequency":1,2714      "skilltime":-1,2715      "targettype":3,2716      "gettargettype":2,2717      "target_area":-1,2718      "target_num":3,2719      "damagevalue":31600,2720      "buff":[[10000,3,3,3,1,2500],[10000,4,3,3,1,2500]],2721      "extra_type":2,2722      "extra_data":3500,2723      "extra_result":[1,10000]2724    },2725    "GZ126":{2726      "skillid":"GZ126",2727      "hero":"èèBM13ï¼æ¹2ï¼",2728      "skillcd":4,2729      "describe":"å¯¹ææ¹éæº3ä¸ªç®æ é ææ»å»358%ç伤害ï¼ä½¿åæ¹éæº3人è·å¾æ æææï¼æç»1.5ç§ï¼å¹¶è§¦åâ士æ°çåâï¼å
¨éæ»å»ååé²å¾¡åæå25%ï¼æç»3ç§",2730      "lev":1,2731      "skillname":"åç§èçç¬å®¹II",2732      "skilltype":1,2733      "skilldistance":2000,2734      "skilldisplay":1,2735      "bulletnum":1,2736      "bulletspeed":1000,2737      "skillfrequency":1,2738      "skilltime":-1,2739      "targettype":3,2740      "gettargettype":0,2741      "target_area":4,2742      "target_num":3,2743      "damagevalue":35800,2744      "buff":[[10000,19,6,1.5,1,0],[10000,3,3,3,1,2500],[10000,4,3,3,1,2500]],2745      "extra_type":0,2746      "extra_data":0,2747      "extra_result":02748    },2749    "GZ127":{2750      "skillid":"GZ127",2751      "hero":"T34ç«ç®ç®ï¼æ¹2ï¼",2752      "skillcd":4,2753      "describe":"å¯¹ææ¹éæº3ä¸ªç®æ é ææ»å»358%ç伤害ï¼å¹¶æ²é»ç®æ 4ç§ï¼è§¦åâ士æ°çåâï¼å
¨éæ»å»ååé²å¾¡åæå25%ï¼æç»3ç§",2754      "lev":1,2755      "skillname":"4.5è±å¯¸å¸ç¥å¤ç®¡ç«ç®ç®II",2756      "skilltype":1,2757      "skilldistance":2000,2758      "skilldisplay":1,2759      "bulletnum":1,2760      "bulletspeed":1000,2761      "skillfrequency":1,2762      "skilltime":-1,2763      "targettype":3,2764      "gettargettype":0,2765      "target_area":4,2766      "target_num":3,2767      "damagevalue":35800,2768      "buff":[[10000,21,1,4,1,0],[10000,3,3,3,1,2500],[10000,4,3,3,1,2500]],2769      "extra_type":0,2770      "extra_data":0,2771      "extra_result":02772    }...util.js
Source:util.js  
...94        var preValue = this[i]95        if (preValue == DEL_FLAG) {96            continue;97        }98        var preType = getTargetType(preValue)99        for (var j = i + 1; j < len; j++) {100            var nextValue = this[j]101            var nextType = getTargetType(nextValue)102            if (preType != nextType) {103                continue;104            } else {105                switch (preType) {106                    case "[object Object]":107                        // è°ç¨æ·±åº¦æ¯è¾å¯¹è±¡æ¹æ³108                        if (!(compareObjDeepEqual(preValue, nextValue).flag)) {109                            continue;110                        }111                        break;112                    case "[object Array]":113                        // å©ç¨æ·±åº¦æ¯è¾å¯¹è±¡æ¹æ³114                        var preObj = {115                            "obj": preValue.delRepeat()  //å¤ç»´æ°ç»å»é116                        }117                        var nextObj = {118                            "obj": nextValue.delRepeat()  //å¤ç»´æ°ç»å»é119                        }120                        if (!(compareObjDeepEqual(preObj, nextObj).flag)) {121                            continue;122                        }123                        break;124                    default:125                        if (preValue !== nextValue) {126                            continue;127                        }128                }129            }130            this.splice(j, 1, DEL_FLAG)131        }132    }133    for (var i = 0; i < len; i++) {134        if (this[i] == DEL_FLAG) {135            this.splice(i, 1)136        }137    }138    return this;139}140/**141 * ç¨é:ç»å
ç´ ç»å®äºä»¶(æ¯æä»»æç»å鮿¹å¼)142 * dom:domèç¹143 * event_name:äºä»¶åç§°144 * keyCodeArr:æé®çkeyCode,坿¯æä»»æç»å145 * callback:触åçåè°å½æ°146 * flg:æ å¿æè·è¿æ¯å泡147 * */148function bindEvent(dom, event_name, keyCodeArr, callback, flg) {149    if (!flg) {150        flg = false;151    }152    if (!keyCodeArr) {153        dom.addEventListener(event_name, callback, flg)154    } else {155        var keyCodeControl = {}156        function keyCodeControlInit() {157            for (var i = 0; i < keyCodeArr.length; i++) {158                keyCodeControl[keyCodeArr[i]] = false;159            }160        }161        function keyCodeControlTrue() {162            var keyCodeControlKeys = Object.keys(keyCodeControl);163            for (var i = 0; i < keyCodeControlKeys.length; i++) {164                if (!keyCodeControl[keyCodeControlKeys[i]]) {165                    return false;166                }167            }168            return true169        }170        keyCodeControlInit()171        // æ è¯æä¸172        document.onkeydown = function (e) {173            for (var i = 0; i < keyCodeArr.length; i++) {174                if (e.keyCode == keyCodeArr[i]) {175                    keyCodeControl[e.keyCode] = true;176                }177            }178            var keyCodeControlFlg = keyCodeControlTrue()179            if (keyCodeControlFlg) {180                dom.addEventListener(event_name, callback(e, keyCodeControl), flg)181            }182        }183        // æ å¿æ¬èµ·184        document.onkeyup = function (e) {185            for (var i = 0; i < keyCodeArr.length; i++) {186                if (e.keyCode == keyCodeArr[i]) {187                    keyCodeControl[e.keyCode] = false;188                    dom.removeEventListener(event_name, callback, flg)189                }190            }191        }192    }193}194/**195 * ç¨é:è·åç®æ ç±»å196 * target:ä¼ å
¥çç®æ 197 * è¿åï¼å符串ï¼ç®æ ç±»åï¼198 * */199function getTargetType(target) {200    // [object String] [object Number]201    // [object Boolean] [object Symbol]202    // [object Undefined]  [object Null]203    // [object Function] [object Date]204    // [object Array] [object RegExp] 205    // [object Error] [object HTMLDocument] 206    // [object Object] [object global] window æ¯å
¨å±å¯¹è±¡ global çå¼ç¨207    return Object.prototype.toString.call(target);208}209/**210 * ç¨é:æ£åå¹é
å
¨é¨æ´æ¹211 * s1:æ£å表达å¼212 * s2:æ¿æ¢çå符串213 * è¿åï¼æ¿æ¢åçå符串214 * */215String.prototype.replaceAll = function (s1, s2) {216    return this.replace(new RegExp(s1, "gmi"), s2);217}218/**219 * ç¨é:深度æ¯è¾å¯¹è±¡  åå¯¹è±¡å±æ§å屿§å¼å¨å对象ä¸å«æå¹¶ç¸å220 * original:å对象221 * target:ç®æ å¯¹è±¡222 * è¿åï¼{flag:æ¯å¦å¹é
æ£ç¡®,msg:ä¿¡æ¯}223 * */224function compareObjDeep(original, target) {225    function returnFun(flag, data) {226        return {227            flag: flag,228            msg: {229                info: data.info,230                org: data.org,231                target: data.target232            }233        }234    }235    function arrayRecursion(a, b) {236        if (a.length != b.length) {237            return {238                flag: false,239                msg: "æ°ç»é¿åº¦ä¸å"240            };241        }242        for (var j = 0; j < a.length; j++) {243            var aType = getTargetType(a[j]);244            var bType = getTargetType(b[j]);245            if (aType != bType) {246                return returnFun(false, {247                    info: "ç®æ å¯¹è±¡ä¸å对象çå¼ç±»åä¸å",248                    org: a[j],249                    target: b[j]250                })251            } else if (nextOrginType == "[object Object]") {252                var next = compareObjDeep(a[j], b[j]);253                if (!(next.flag)) {254                    return returnFun(false, {255                        info: next.msg.info,256                        org: next.msg.org,257                        target: next.msg.target258                    })259                }260            } else if (a[j] == "[object Array]") {261                return arrayRecursion(originValue[j], targetValue[j])262            } else {263                if (a[j] != b[j]) {264                    return returnFun(false, {265                        info: "æ°æ®ä¸ç¸ç",266                        org: a[j],267                        target: b[j]268                    })269                }270            }271        }272        return returnFun(true, {273            info: "åæ°æ®å¨ç®æ æ°æ®ä¸é½å
å«",274            org: original,275            target: target276        })277    }278    if (getTargetType(target) != "[object Object]" || getTargetType(original) != "[object Object]") {279        return false;280    }281    var originalKeys = Object.keys(original);282    for (var i = 0; i < originalKeys.length; i++) {283        if (target[originalKeys[i]] != undefined) {284            var originValue = original[originalKeys[i]];285            var targetValue = target[originalKeys[i]];286            var originValueType = getTargetType(originValue);287            var targetValueType = getTargetType(targetValue);288            if (originValueType != targetValueType) {289                return returnFun(false, {290                    info: "ç®æ å¯¹è±¡ä¸å对象çå¼ç±»åä¸å",291                    org: originValue,292                    target: targetValue293                })294            }295            switch (targetValueType) {296                case "[object Object]":297                    var next = compareObjDeep(originValue, targetValue)298                    if (!(next.flag)) {299                        return returnFun(false, {300                            info: next.msg.info,301                            org: next.msg.org,302                            target: next.msg.target303                        })304                    }305                    break;306                case "[object Array]":307                    if (originValue.length != targetValue.length) {308                        return returnFun(false, {309                            info: "ç®æ å¯¹è±¡ä¸å对象ç弿°ç»é¿åº¦ä¸å",310                            org: originValue.length,311                            target: targetValue.length312                        })313                    }314                    for (var j = 0; j < originValue.length; j++) {315                        var nextOrginType = getTargetType(originValue[j]);316                        var targetOrginType = getTargetType(targetValue[j]);317                        if (nextOrginType != targetOrginType) {318                            return returnFun(false, {319                                info: "ç®æ å¯¹è±¡ä¸å对象çå¼ç±»åä¸å",320                                org: originValue[j],321                                target: targetValue[j]322                            })323                        } else if (nextOrginType == "[object Object]") {324                            var next = compareObjDeep(originValue[j], targetValue[j]);325                            if (!(next.flag)) {326                                return returnFun(false, {327                                    info: next.msg.info,328                                    org: next.msg.org,329                                    target: next.msg.target330                                })331                            }332                        } else if (nextOrginType == "[object Array]") {333                            var next = arrayRecursion(originValue[j], targetValue[j])334                            if (!(next.flag)) {335                                return returnFun(false, {336                                    info: next.msg.info,337                                    org: next.msg.org,338                                    target: next.msg.target339                                })340                            }341                        } else {342                            if (originValue[j] != targetValue[j]) {343                                return returnFun(false, {344                                    info: "æ°æ®ä¸ç¸ç",345                                    org: originValue[j],346                                    target: targetValue[j]347                                })348                            }349                        }350                    }351                    break;352                default:353                    if (originValue != targetValue) {354                        return returnFun(false, {355                            info: "æ°æ®ä¸ç¸ç",356                            org: originValue,357                            target: targetValue358                        })359                    }360            }361        } else {362            return returnFun(false, {363                info: "ç®æ å¯¹è±¡ä¸åå¨" + originalKeys[i] + "屿§",364                org: originalKeys[i],365                target: originalKeys[i]366            })367        }368    }369    return returnFun(true, {370        info: "åæ°æ®å¨ç®æ æ°æ®ä¸é½å
å«",371        org: original,372        target: target373    })374}375/**376 * ç¨é:深度æ¯è¾å¯¹è±¡æ¯å¦å®å
¨ç¸å377 * original:å对象378 * target:ç®æ å¯¹è±¡379 * è¿åï¼{flag:æ¯å¦å¹é
æ£ç¡®,msg:ä¿¡æ¯}380 * */381function compareObjDeepEqual(original, target) {382    function returnFun(flag, data) {383        return {384            flag: flag,385            msg: {386                info: data.info,387                org: data.org,388                target: data.target389            }390        }391    }392    function arrayRecursion(a, b) {393        if (a.length != b.length) {394            return {395                flag: false,396                msg: "æ°ç»é¿åº¦ä¸å"397            };398        }399        for (var j = 0; j < a.length; j++) {400            var aType = getTargetType(a[j]);401            var bType = getTargetType(b[j]);402            if (aType != bType) {403                return returnFun(false, {404                    info: "ç®æ å¯¹è±¡ä¸å对象çå¼ç±»åä¸å",405                    org: a[j],406                    target: b[j]407                })408            } else if (nextOrginType == "[object Object]") {409                var next = compareObjDeepEqual(a[j], b[j]);410                if (!(next.flag)) {411                    return returnFun(false, {412                        info: next.msg.info,413                        org: next.msg.org,414                        target: next.msg.target415                    })416                }417            } else if (a[j] == "[object Array]") {418                return arrayRecursion(originValue[j], targetValue[j])419            } else {420                if (a[j] != b[j]) {421                    return returnFun(false, {422                        info: "æ°æ®ä¸ç¸ç",423                        org: a[j],424                        target: b[j]425                    })426                }427            }428        }429        return returnFun(true, {430            info: "åæ°æ®å¨ç®æ æ°æ®ä¸é½å
å«",431            org: original,432            target: target433        })434    }435    if (getTargetType(target) != "[object Object]" || getTargetType(original) != "[object Object]") {436        return false;437    }438    var originalKeys = Object.keys(original);439    var targetKeys = Object.keys(target);440    if (originalKeys.length != targetKeys.length) {441        return returnFun(false, {442            info: "ç®æ å¯¹è±¡ä¸å对象ç屿§æ»æ°ä¸å",443            org: original,444            target: target445        })446    }447    for (var i = 0; i < originalKeys.length; i++) {448        if (target[originalKeys[i]] != undefined) {449            var originValue = original[originalKeys[i]];450            var targetValue = target[originalKeys[i]];451            var originValueType = getTargetType(originValue);452            var targetValueType = getTargetType(targetValue);453            if (originValueType != targetValueType) {454                return returnFun(false, {455                    info: "ç®æ å¯¹è±¡ä¸å对象çå¼ç±»åä¸å",456                    org: originValue,457                    target: targetValue458                })459            }460            switch (targetValueType) {461                case "[object Object]":462                    var next = compareObjDeepEqual(originValue, targetValue)463                    if (!(next.flag)) {464                        return returnFun(false, {465                            info: next.msg.info,466                            org: next.msg.org,467                            target: next.msg.target468                        })469                    }470                    break;471                case "[object Array]":472                    if (originValue.length != targetValue.length) {473                        return returnFun(false, {474                            info: "ç®æ å¯¹è±¡ä¸å对象ç弿°ç»é¿åº¦ä¸å",475                            org: originValue.length,476                            target: targetValue.length477                        })478                    }479                    for (var j = 0; j < originValue.length; j++) {480                        var nextOrginType = getTargetType(originValue[j]);481                        var targetOrginType = getTargetType(targetValue[j]);482                        if (nextOrginType != targetOrginType) {483                            return returnFun(false, {484                                info: "ç®æ å¯¹è±¡ä¸å对象çå¼ç±»åä¸å",485                                org: originValue[j],486                                target: targetValue[j]487                            })488                        } else if (nextOrginType == "[object Object]") {489                            var next = compareObjDeepEqual(originValue[j], targetValue[j]);490                            if (!(next.flag)) {491                                return returnFun(false, {492                                    info: next.msg.info,493                                    org: next.msg.org,494                                    target: next.msg.target495                                })496                            }497                        } else if (nextOrginType == "[object Array]") {498                            var next = arrayRecursion(originValue[j], targetValue[j])499                            if (!(next.flag)) {500                                return returnFun(false, {501                                    info: next.msg.info,502                                    org: next.msg.org,503                                    target: next.msg.target504                                })505                            }506                        } else {507                            if (originValue[j] != targetValue[j]) {508                                return returnFun(false, {509                                    info: "æ°æ®ä¸ç¸ç",510                                    org: originValue[j],511                                    target: targetValue[j]512                                })513                            }514                        }515                    }516                    break;517                default:518                    if (originValue != targetValue) {519                        return returnFun(false, {520                            info: "æ°æ®ä¸ç¸ç",521                            org: originValue,522                            target: targetValue523                        })524                    }525            }526        } else {527            return returnFun(false, {528                info: "ç®æ å¯¹è±¡ä¸åå¨" + originalKeys[i] + "屿§",529                org: originalKeys[i],530                target: originalKeys[i]531            })532        }533    }534    return returnFun(true, {535        info: "两个对象å®å
¨ç¸å",536        org: original,537        target: target538    })539}540/**541 * ç¨é:è¿åæ ¼å¼ååçæ¥æ542 * format:yyyy/MM/dd543 * è¿åï¼æ ¼å¼ååçæ¥æå符串544 * */545// æ¥ææ ¼å¼å546Date.prototype.format = function (format) {547    var args = {548        "M+": this.getMonth() + 1,549        "d+": this.getDate(),550        "h+": this.getHours(),551        "m+": this.getMinutes(),552        "s+": this.getSeconds(),553        "q+": Math.floor((this.getMonth() + 3) / 3), //quarter554        "S": this.getMilliseconds()555    };556    if (/(y+)/.test(format)) format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));557    for (var i in args) {558        var n = args[i];559        if (new RegExp("(" + i + ")").test(format)) format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? n : ("00" + n).substr(("" + n).length));560    }561    return format;562};563/**564 * ç¨é:夿æ¯å¦æ¯æ°å565 * number:æ°åå符串566 * è¿åï¼æ¯å¦ä¸ºæ°ç»567 * */568// 夿æ¯å¦æ¯æ°å -- 夿åç¬¦ä¸²ä¸æ¯å¦æç§å¦è®¡æ°æ³ï¼e...569function isNumberByNaN(number) {570    var numberIs = Number(number);571    if (numberIs == "NaN") {572        return false;573    }574    if (!isNaN(numberIs)) {575        return true;576    }577    return false;578}579/**580 * ç¨é:夿æ¯å¦æ¯æ°å581 * number:æ°åå符串582 * è¿åï¼æ¯å¦ä¸ºæ°ç»583 * */584// 夿æ¯å¦æ¯æ°å -- åç¬¦ä¸²ä¸¥æ ¼å¤æ585function isNumberByRegex(number) {586    if (/^[0-9]*$/.test(number)) {587        return true;588    }589    return false;590}591/**592 * ç¨é:æ£åå¹é
ææçæ°æ®593 * pattern:æ£åè¡¨è¾¾å¼ å
ç» /trade\/(\d+)\.do/g594 * inputStr:å¹é
å符串595 * è¿åï¼å¹é
çæ°ç»596 * */597// æ£åå¹é
ææçæ°æ®598function getAllDataByRegex(pattern, inputStr) {599    var arr = [];600    var result;601    while ((result = pattern.exec(inputStr)) != null) {602        arr.push(result[1])603    }604    return arr;605}606/**607 * ç¨é:è·åæ°å大å608 * num:æ°å609 * è¿åï¼å¤§åéé¢å符串610 * */611function getChineseMoney(num) {612    // æ°åè½¬ä¸æéé¢å¤§å613    function transferNumberChineseCharacters(number) {614        if (/[0-9]/.test(number)) {615            switch (number) {616                case 0:617                    return "é¶";618                case 1:619                    return "壹";620                case 2:621                    return "è´°";622                case 3:623                    return "å";624                case 4:625                    return "è";626                case 5:627                    return "ä¼"628                case 6:629                    return "é"630                case 7:631                    return "æ"632                case 8:633                    return "æ"634                default:635                    return "ç"636            }637        } else {638            throw new Error("transferNumberChineseCharacters: " + number + " is not in [0-9]")639        }640    }641    // è·åå±çº§642    function getUnityByNumber(offset) {643        if (isNumberByRegex(offset)) {644            switch (offset) {645                case 0:646                    return "å
";647                case 1:648                    return "æ¾";649                case 2:650                    return "ä½°";651                case 3:652                    return "ä»"653                case 4:654                    return "ä¸"655                case 5:656                    return "æ¾"657                case 6:658                    return "ä½°"659                case 7:660                    return "ä»"661                case 8:662                    return "亿"663                case 9:664                    return "æ¾"665                case 10:666                    return "ä½°"667                case 11:668                    return "ä»"669                case 12:670                    return "ä¸"671                default:672                    throw new Error("it is too big")673            }674        } else {675            throw new Error("getUnityByNumber: " + offset + " is not Number")676        }677    }678    var money = "";679    var offset = 0;680    if (isNumberByRegex(num)) {681        if (num == 0) {682            return "é¶"683        }684        var numStr = (num + "");685        for (var i = numStr.length - 1; i >= 0; i--) {686            if (offset == 0 && numStr[i] == 0) {687                money = "å
"688            }689            if (numStr[i] != 0) {690                var unity = getUnityByNumber(offset)691                var chineseCharater = transferNumberChineseCharacters(parseInt(numStr[i]))692                money = chineseCharater + unity + money;693            }694            if (offset == 3 && numStr[i] == 0) {695                money = "é¶" + money;696            }697            if (offset == 4 && numStr[i] == 0) {698                money = "ä¸" + money;699            }700            if (offset == 7 && numStr[i] == 0) {701                money = "é¶" + money;702            }703            if (offset == 8 && numStr[i] == 0) {704                money = "亿" + money;705            }706            offset++707        }708    }709    return money + "æ´";710}711/*712 * formatMoney(s)713 * åè½ï¼é颿åä½éå·åå²714 * åæ°ï¼sï¼éè¦æ ¼å¼åçé颿°å¼.715 * è¿åï¼è¿åæ ¼å¼ååçæ°å¼å符串.716 */717function formatMoney(s) {718    let s_ = ""719    // è¡¨ç¤ºä¸ºè´æ°720    if (s.includes("-")) {721        s_ = "-"722        s = s.replace(/\-/g, "")723    }724    if (/[^0-9\.]/.test(s))725        return s;726    if (s == null || s == "")727        return s;728    s = s.toString().replace(/^(\d*)$/, "$1.");729    s = (s + "00").replace(/(\d*\.\d\d)\d*/, "$1");730    s = s.replace(".", ",");731    var re = /(\d)(\d{3},)/;732    while (re.test(s))733        s = s.replace(re, "$1,$2");734    s = s.replace(/,(\d\d)$/, ".$1");735    return s_ + s;736}737/**738 * åè½: è·åå
ç´ å±æ§å¼739 * åæ°: prop 屿§740 * 741*/742HTMLElement.prototype.getStyle = function (prop) {743    if (!prop) {744        return window.getComputedStyle(this, null) || this.currentStyle745    }746    if (window.getComputedStyle) {747        return window.getComputedStyle(this, null)[prop]748    } else {749        return this.currentStyle[prop];750    }751}752/**753 * åè½: 以ä¸å½æ°è¿å minï¼å
å«ï¼ï½ maxï¼å
å«ï¼ä¹é´çæ°åï¼754 * min  èµ·å§755 * max  ç»æ¢756 * [min,max]757*/758function getRndInteger(min, max) {759    return (Math.random() * (max - min + 1) | 0) + min;760}761/**762 * åè½ï¼å¨pivotä¹åæå
¥èç¹ newNpde763 * newNode: æ°èç¹764 * pivot: æ æèç¹765 */766Element.prototype.insertAfter = function (newNode, pivot) {767    var nextElement = pivot.nextElementSibling768    if (nextElement) {769        this.insertBefore(newNode, nextElement)770    } else {771        this.appendChild(newNode)772    }773}774/**775 **åè½ï¼å¤æä¼ å
¥çæ¯ä¸æ¯ç©ºå¯¹è±¡ï¼ç©ºæ°ç»ï¼ç©ºä¸²ããã776 * */777function isNotEmpty(params) {778    switch (getTargetType(params)) {779        case "[object Object]":780            return Object.keys(params).length;781        case "[object Array] ":782            return params.length783        case "[object String]":784            return params.length !== 0785        case "[object Undefined]":786            return false787        case "[object Null]":788            return false789        case "[object Boolean]":790            return params791        default:792            return true...semanticObjectPaneTestGenerator.js
Source:semanticObjectPaneTestGenerator.js  
...19                             /*String?*/ propertyName,20                             /*Object?*/ newPropertyValue,21                             /*String?*/ pathToPropertyField) {22      var tests = [23        // TODO doh.is(TargetType, pane.getTargetType()); fails24        /*25           In a debugger you can see easily that TargetType and pane.getTargetType() are 2 different instances26           of SemanticObject!27           The loader messes up!28           Needs investigation.29         */30        function testInitialState() {31          doh.invars(pane);32          // doh.is(TargetType, pane.getTargetType());33          doh.is(pane.VIEW, pane.get("presentationMode"));34          doh.is(null, pane.get("target"));35          doh.is(pane.NOTARGET, pane.get("stylePresentationMode"));36          doh.f(pane.isInEditMode());37        },38        {39          name: "set and remove target",40          setUp: function() {41            this.targetInstance = createTargetInstance();42          },43          runTest: function() {44            pane.set("target", this.targetInstance);45            doh.invars(pane);46            // doh.is(TargetType, pane.getTargetType());47            doh.is(pane.VIEW, pane.get("presentationMode"));48            doh.is(this.targetInstance, pane.get("target"));49            doh.is(pane.VIEW, pane.get("stylePresentationMode"));50            doh.f(pane.isInEditMode());51            pane.set("target", null);52            doh.invars(pane);53            // doh.is(TargetType, pane.getTargetType());54            doh.is(pane.VIEW, pane.get("presentationMode"));55            doh.is(null, pane.get("target"));56            doh.is(pane.NOTARGET, pane.get("stylePresentationMode"));57            doh.f(pane.isInEditMode());58          }59        },60        {61          name: "edit mode with a target",62          setUp: function() {63            this.targetInstance = createTargetInstance();64            pane.set("target", this.targetInstance);65            pane.set("presentationMode", pane.VIEW);66          },67          runTest: function() {68            pane.set("presentationMode", pane.EDIT);69            doh.invars(pane);70            // doh.is(TargetType, pane.getTargetType());71            doh.is(pane.EDIT, pane.get("presentationMode"));72            doh.is(this.targetInstance, pane.get("target"));73            doh.is(pane.EDIT, pane.get("stylePresentationMode"));74            doh.t(pane.isInEditMode());75          },76          tearDown: function() {77            pane.set("target", null);78            pane.set("presentationMode", pane.VIEW);79          }80        },81        {82          name: "busy mode with a target",83          setUp: function() {84            this.targetInstance = createTargetInstance();85            pane.set("target", this.targetInstance);86            pane.set("presentationMode", pane.EDIT);87          },88          runTest: function() {89            pane.set("presentationMode", pane.BUSY);90            doh.invars(pane);91            // doh.is(TargetType, pane.getTargetType());92            doh.is(pane.BUSY, pane.get("presentationMode"));93            doh.is(this.targetInstance, pane.get("target"));94            doh.is(pane.BUSY, pane.get("stylePresentationMode"));95            doh.t(pane.isInEditMode());96          },97          tearDown: function() {98            pane.set("target", null);99            pane.set("presentationMode", pane.VIEW);100          }101        },102        {103          name: "wild mode with a target",104          setUp: function() {105            this.targetInstance = createTargetInstance();106            pane.set("target", this.targetInstance);107            pane.set("presentationMode", pane.BUSY);108          },109          runTest: function() {110            pane.set("presentationMode", pane.WILD);111            doh.invars(pane);112            // doh.is(TargetType, pane.getTargetType());113            doh.is(pane.WILD, pane.get("presentationMode"));114            doh.is(this.targetInstance, pane.get("target"));115            doh.is(pane.WILD, pane.get("stylePresentationMode"));116            doh.t(pane.isInEditMode());117          },118          tearDown: function() {119            pane.set("target", null);120            pane.set("presentationMode", pane.VIEW);121          }122        },123        {124          name: "error mode with a target",125          setUp: function() {126            this.targetInstance = createTargetInstance();127            pane.set("target", this.targetInstance);128            pane.set("presentationMode", pane.BUSY);129          },130          runTest: function() {131            pane.set("presentationMode", pane.ERROR);132            doh.invars(pane);133            // doh.is(TargetType, pane.getTargetType());134            doh.is(pane.ERROR, pane.get("presentationMode"));135            doh.is(this.targetInstance, pane.get("target"));136            doh.is(pane.ERROR, pane.get("stylePresentationMode"));137            doh.f(pane.isInEditMode());138          },139          tearDown: function() {140            pane.set("target", null);141            pane.set("presentationMode", pane.VIEW);142          }143        },144        {145          name: "edit mode without a target",146          setUp: function() {147            pane.set("target", null);148            pane.set("presentationMode", pane.VIEW);149          },150          runTest: function() {151            pane.set("presentationMode", pane.EDIT);152            doh.invars(pane);153            // doh.is(TargetType, pane.getTargetType());154            doh.is(pane.EDIT, pane.get("presentationMode"));155            doh.is(null, pane.get("target"));156            doh.is(pane.NOTARGET, pane.get("stylePresentationMode"));157            doh.f(pane.isInEditMode());158          },159          tearDown: function() {160            pane.set("target", null);161            pane.set("presentationMode", pane.VIEW);162          }163        },164        {165          name: "busy mode without a target",166          setUp: function() {167            pane.set("target", null);168            pane.set("presentationMode", pane.EDIT);169          },170          runTest: function() {171            pane.set("presentationMode", pane.BUSY);172            doh.invars(pane);173            // doh.is(TargetType, pane.getTargetType());174            doh.is(pane.BUSY, pane.get("presentationMode"));175            doh.is(null, pane.get("target"));176            doh.is(pane.NOTARGET, pane.get("stylePresentationMode"));177            doh.f(pane.isInEditMode());178          },179          tearDown: function() {180            pane.set("target", null);181            pane.set("presentationMode", pane.VIEW);182          }183        },184        {185          name: "wild mode without a target",186          setUp: function() {187            pane.set("target", null);188            pane.set("presentationMode", pane.BUSY);189          },190          runTest: function() {191            pane.set("presentationMode", pane.WILD);192            doh.invars(pane);193            // doh.is(TargetType, pane.getTargetType());194            doh.is(pane.WILD, pane.get("presentationMode"));195            doh.is(null, pane.get("target"));196            doh.is(pane.NOTARGET, pane.get("stylePresentationMode"));197            doh.f(pane.isInEditMode());198          },199          tearDown: function() {200            pane.set("target", null);201            pane.set("presentationMode", pane.VIEW);202          }203        },204        {205          name: "error mode without a target",206          setUp: function() {207            pane.set("target", null);208            pane.set("presentationMode", pane.BUSY);209          },210          runTest: function() {211            pane.set("presentationMode", pane.ERROR);212            doh.invars(pane);213            // doh.is(TargetType, pane.getTargetType());214            doh.is(pane.ERROR, pane.get("presentationMode"));215            doh.is(null, pane.get("target"));216            doh.is(pane.NOTARGET, pane.get("stylePresentationMode"));217            doh.f(pane.isInEditMode());218          },219          tearDown: function() {220            pane.set("target", null);221            pane.set("presentationMode", pane.VIEW);222          }223        }224      ];225      if (propertyName && (newPropertyValue !== undefined) && pathToPropertyField) {226        tests = tests.concat([227          {228            name: "change property on target",229            setUp: function() {230              //noinspection JSPotentiallyInvalidUsageOfThis231              this.targetInstance = createTargetInstance();232              //noinspection JSPotentiallyInvalidUsageOfThis233              pane.set("target", this.targetInstance);234            },235            runTest: function() {236              if (propertyName) {237                //noinspection JSPotentiallyInvalidUsageOfThis238                this.targetInstance.set(propertyName, newPropertyValue);239                doh.invars(pane);240                // doh.is(TargetType, pane.getTargetType());241                doh.is(pane.VIEW, pane.get("presentationMode"));242                //noinspection JSPotentiallyInvalidUsageOfThis243                doh.is(this.targetInstance, pane.get("target"));244                doh.is(pane.VIEW, pane.get("stylePresentationMode"));245                doh.f(pane.isInEditMode());246                if (pathToPropertyField) {247                  var field = lang.getObject(pathToPropertyField, false, pane);248                  //noinspection JSPotentiallyInvalidUsageOfThis249                  doh.is(this.targetInstance.get(propertyName), field.get("value"));250                }251              }252            },253            tearDown: function() {254              pane.set("target", null);255            }256          },257          {258            name: "change property on widget",259            setUp: function() {260            //noinspection JSPotentiallyInvalidUsageOfThis261            this.targetInstance = createTargetInstance();262              //noinspection JSPotentiallyInvalidUsageOfThis263              pane.set("target", this.targetInstance);264            },265            runTest: function() {266              if (propertyName && pathToPropertyField) {267                var field = lang.getObject(pathToPropertyField, false, pane);268                field.set("value", newPropertyValue);269                doh.invars(pane);270                // doh.is(TargetType, pane.getTargetType());271                doh.is(pane.VIEW, pane.get("presentationMode"));272                //noinspection JSPotentiallyInvalidUsageOfThis273                doh.is(this.targetInstance, pane.get("target"));274                doh.is(pane.VIEW, pane.get("stylePresentationMode"));275                doh.f(pane.isInEditMode());276                //noinspection JSPotentiallyInvalidUsageOfThis277                doh.is(field.get("value"), this.targetInstance.get(propertyName));278              }279            },280            tearDown: function() {281              pane.set("target", null);282            }283          }284        ]);...sr_commands.js
Source:sr_commands.js  
...4  switch (command) {5    case "FLEET_MOVE":6    case "FLEET_DEFEND":7    case "FLEET_ATTACK":8      fleetFunction = "move('"+getTargetType()+"')";9    break;10    case "FLEET_INVADE":11      fleetFunction = "invade('"+getTargetType()+"')";12    break;13    case "FLEET_BOMB":14      fleetFunction = "bomb('"+getTargetType()+"')";15    break;16    case "FLEET_COLONIZE":17      fleetFunction = "colonize('"+getTargetType()+"')";18    break;19  }20  sr_finalize_fleets(fleetFunction);21}22//---------------------------------------------------------------------------------23function sr_change_tactic(evt,tactic_flag)24{25  if (masta.selectedUnits[0].itemClass.fleet.tactic & tactic_flag)26    operation="masta.selectedUnits[i].itemClass.fleet.tactic&=(masta.selectedUnits[i].itemClass.fleet.tactic^tactic_flag)";27  else28    operation="masta.selectedUnits[i].itemClass.fleet.tactic|=tactic_flag";29  for (i = 0; i < masta.selectedUnits.length; i++)30  {31    eval(operation);32  }33  sr_finalize_fleets("change_tactic(\"masta.updateTacticPanel()\")");34}35function sr_finalize_fleets(fleetFunction)36{37  for (i = 0; i < masta.selectedUnits.length; i++) {38    eval("masta.selectedUnits["+i+"].itemClass.fleet."+fleetFunction);39  }40  masta.selectedUnits[0].itemClass.fleet.say("CONFIRM");41  masta.removeSelected("all");42  sr_resume_animation();43  masta.freeCommands();44}45function getTargetType() {46  var targetType = false;47  try {48    switch (masta.currentTarget.getAttribute("id").substring(0,1)) {49      case "p":50        targetType = "planet";51        break;52      case "s":53        targetType = "system";54        break;55    }56  }57  catch (e) {58    alert("Coud not find target type :(");59  }...generateTagCategoryDescriptors.js
Source:generateTagCategoryDescriptors.js  
...26            ),27            image: background && imagesPath ? path.resolve(source_dir, imagesPath, background) : undefined28        };29        const hash = generateHash(templateFullPath, Object.values(images), data);30        const targetType = getTargetType(background);31        return {32            fileName: path.join(manifestKey, hash.substr(0, 8), generateTargetName(name, hash, targetType)),33            origin: name,34            data,35            images,36            hash,37            manifestKey,38            rootPath: base_dir,39            template: templateFullPath,40            dimensions: templates.dimensions,41            outputType: targetType42        };43    });44};...TodoCommand.js
Source:TodoCommand.js  
...26  this.getCommandState = function() {27    var surface = this.getSurface();28    var sel = this.getSelection();29    var disabled = !surface.isEnabled() || sel.isNull() || !sel.isPropertySelection();30    var targetType = this.getTargetType();31    return {32      targetType: targetType,33      active: targetType !== 'todo',34      disabled: disabled35    };36  };37  // Execute command and trigger transformations38  this.execute = function() {39    var sel = this.getSelection();40    if (!sel.isPropertySelection()) return;41    var surface = this.getSurface();42    var targetType = this.getTargetType();43    if (targetType) {44      // A Surface transaction performs a sequence of document operations45      // and also considers the active selection.    46      surface.transaction(function(tx, args) {47        args.data = {48          type: targetType49        };50        return surface.switchType(tx, args);51      });52      return {status: 'ok'};53    }54  };55};56SurfaceCommand.extend(TodoCommand);...getDomainTarget.js
Source:getDomainTarget.js  
...4let type;5export default (element, { nodes }) => {6  // This will work for all bug g elements7  target = element;8  type = getTargetType(target);9  if (!type) {10    // This is for the case of svg g elements - they emit no pointer events11    // as they have no geometry. So we search the closest parent that has12    // [data-target], stopping at the svg itself.13    target = element.closest('[data-target], svg');14    type = getTargetType(target);15  }16  switch (type) {17    case 'input':18    case 'output': {19      const [id, portId] = target.id.split('/');20      const node = nodes.find(idEqual(id));21      const ports = node[type === 'input' ? 'inputs' : 'outputs'];22      const port = ports.find(idEqual(portId));23      return {24        type,25        port,26        id,27      };28    }...all_8.js
Source:all_8.js  
1var searchData=2[3  ['glossary',['Glossary',['../aboutDocsGlossary.html',1,'concepts']]],4  ['gnss',['GNSS',['../c_gnss.html',1,'legatoServicesPositioning']]],5  ['gpio',['GPIO',['../c_gpio.html',1,'legatoServices']]],6  ['get_20started',['Get Started',['../getStarted.html',1,'buildAppsMain']]],7  ['gnss_20platform_20constraints',['GNSS platform constraints',['../platformConstraintsGnss.html',1,'platformConstraints']]],8  ['gpio_20for_20cf3',['GPIO for CF3',['../sampleApps_gpioCf3.html',1,'sampleApps']]],9  ['gettargettype',['gettargettype',['../toolsHost_gettargettype.html',1,'toolsTargetMgmt']]],10  ['gnss',['gnss',['../toolsTarget_gnss.html',1,'toolsTarget']]]...Using AI Code Generation
1const { getTargetType } = require('@playwright/test/lib/server/chromium/crBrowser');2const { chromium } = require('playwright');3(async () => {4  const browser = await chromium.launch();5  const page = await browser.newPage();6  const target = await page.context().newPage();7  const targetType = getTargetType(target);8  console.log(targetType);9  await browser.close();10})();Using AI Code Generation
1const playwright = require('playwright');2(async () => {3  const browser = await playwright.webkit.launch();4  const page = await browser.newPage();5  const target = await page.target();6  const targetType = await target._targetInfo.type();7  console.log(targetType);8  await browser.close();9})();Using AI Code Generation
1const { getTargetType } = require('playwright/lib/server/chromium/crTarget');2const { assert } = require('console');3const { chromium } = require('playwright');4(async () => {5  const browser = await chromium.launch();6  const context = await browser.newContext();7  const page = await context.newPage();8  const target = page._target;9  assert.strictEqual(await getTargetType(target), 'page');10  await browser.close();11})();12const { getTargetInfo } = require('playwright/lib/server/chromium/crTarget');13const { chromium } = require('playwright');14(async () => {15  const browser = await chromium.launch();16  const context = await browser.newContext();17  const page = await context.newPage();18  const target = page._target;19  const targetInfo = await getTargetInfo(target);20  console.log(targetInfo);21  await browser.close();22})();23{24  browserContextInfo: {Using AI Code Generation
1const { getTargetType } = require('@playwright/test/lib/server/chromium/crTarget');2const { chromium } = require('playwright');3(async () => {4const browser = await chromium.launch();5const page = await browser.newPage();6const target = await page._mainFrame._target;7const targetType = getTargetType(target);8console.log(targetType);9await browser.close();10})();Using AI Code Generation
1const { getTargetType } = require('@playwright/test/lib/server/channels');2const { Page } = require('@playwright/test/lib/server/page');3const { Frame } = require('@playwright/test/lib/server/frame');4const { Worker } = require('@playwright/test/lib/server/worker');5const page = new Page();6const frame = new Frame();7const worker = new Worker();Using AI Code Generation
1const { getTargetType } = require('playwright/lib/server/chromium/crTarget');2const target = {3  opener: {4    opener: {5    },6  },7};8console.log(getTargetType(target));9const { getTargetType } = require('playwright/lib/server/chromium/crTarget');10const target = {11  opener: {12    opener: {13    },14  },15};16console.log(getTargetType(target));17const { getTargetType } = require('playwright/lib/server/chromium/crTarget');18const target = {19  opener: {20    opener: {21    },22  },23};24console.log(getTargetType(target));Using AI Code Generation
1const { getTargetType } = require('playwright-core/lib/server/supplements/har/harTracer');2const page = await context.newPage();3const { getTargetType } = require('playwright-core/lib/server/supplements/har/harTracer');4const { getTargetType } = require('playwright-core/lib/server/supplements/har/harTracer');5const { getTargetType } = require('playwright-core/lib/server/supplements/har/harTracer');6const context = await browser.newContext();7const { getTargetType } = require('playwright-core/lib/server/supplements/har/harTracer');8const { getTargetType } = require('playwright-core/lib/server/supplements/har/harTracer');9const { getTargetType } = require('playwright-core/lib/server/supplements/har/harTracer');10const { getTargetType } = require('playwright-core/lib/server/supplements/har/harTracer');11const { getTargetType } = require('playwright-core/lib/server/supplements/har/harTracer');12const { getTargetType } = require('playwright-core/libLambdaTest’s Playwright tutorial will give you a broader idea about the Playwright automation framework, its unique features, and use cases with examples to exceed your understanding of Playwright testing. This tutorial will give A to Z guidance, from installing the Playwright framework to some best practices and advanced concepts.
Get 100 minutes of automation test minutes FREE!!
