This commit is contained in:
wh_zcy 2022-09-26 20:49:08 +08:00
commit 58c3de27c3
24 changed files with 1814 additions and 111 deletions

View File

@ -4,8 +4,8 @@
"var": [ "var": [
{ {
"a": "attr", "a": "attr",
"t": "gold", "t": "rmbmoney",
"n": 20000 "n": 20
} }
] ]
}, },
@ -14,7 +14,7 @@
"var": [ "var": [
{ {
"a": "attr", "a": "attr",
"t": "gold", "t": "rmbmoney",
"n": 20 "n": 20
} }
] ]

View File

@ -25,7 +25,7 @@
20 20
], ],
"addlibrary": 1001, "addlibrary": 1001,
"ico": "zc_icon_01", "ico": "zb_icon_01",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -62,7 +62,7 @@
20 20
], ],
"addlibrary": 1001, "addlibrary": 1001,
"ico": "zc_icon_02", "ico": "zb_icon_02",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -101,7 +101,7 @@
10 10
], ],
"addlibrary": 1001, "addlibrary": 1001,
"ico": "zc_icon_03", "ico": "zb_icon_03",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -138,7 +138,7 @@
20 20
], ],
"addlibrary": 1001, "addlibrary": 1001,
"ico": "zc_icon_04", "ico": "zb_icon_04",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -177,7 +177,7 @@
10 10
], ],
"addlibrary": 1001, "addlibrary": 1001,
"ico": "zc_icon_05", "ico": "zb_icon_05",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -214,7 +214,7 @@
5 5
], ],
"addlibrary": 1001, "addlibrary": 1001,
"ico": "zc_icon_06", "ico": "zb_icon_06",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -251,7 +251,7 @@
20 20
], ],
"addlibrary": 1001, "addlibrary": 1001,
"ico": "zc_icon_01", "ico": "zb_icon_01",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -288,7 +288,7 @@
20 20
], ],
"addlibrary": 1001, "addlibrary": 1001,
"ico": "zc_icon_02", "ico": "zb_icon_02",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -327,7 +327,7 @@
10 10
], ],
"addlibrary": 1001, "addlibrary": 1001,
"ico": "zc_icon_03", "ico": "zb_icon_03",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -364,7 +364,7 @@
20 20
], ],
"addlibrary": 1001, "addlibrary": 1001,
"ico": "zc_icon_04", "ico": "zb_icon_04",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -403,7 +403,7 @@
10 10
], ],
"addlibrary": 1001, "addlibrary": 1001,
"ico": "zc_icon_05", "ico": "zb_icon_05",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -440,7 +440,7 @@
5 5
], ],
"addlibrary": 1001, "addlibrary": 1001,
"ico": "zc_icon_06", "ico": "zb_icon_06",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -477,7 +477,7 @@
20 20
], ],
"addlibrary": 1001, "addlibrary": 1001,
"ico": "zc_icon_01", "ico": "zb_icon_01",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -514,7 +514,7 @@
20 20
], ],
"addlibrary": 1001, "addlibrary": 1001,
"ico": "zc_icon_02", "ico": "zb_icon_02",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -553,7 +553,7 @@
10 10
], ],
"addlibrary": 1001, "addlibrary": 1001,
"ico": "zc_icon_03", "ico": "zb_icon_03",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -590,7 +590,7 @@
20 20
], ],
"addlibrary": 1001, "addlibrary": 1001,
"ico": "zc_icon_04", "ico": "zb_icon_04",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -629,7 +629,7 @@
10 10
], ],
"addlibrary": 1001, "addlibrary": 1001,
"ico": "zc_icon_05", "ico": "zb_icon_05",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -666,7 +666,7 @@
5 5
], ],
"addlibrary": 1001, "addlibrary": 1001,
"ico": "zc_icon_06", "ico": "zb_icon_06",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -703,7 +703,7 @@
20 20
], ],
"addlibrary": 1001, "addlibrary": 1001,
"ico": "zc_icon_01", "ico": "zb_icon_01",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -740,7 +740,7 @@
20 20
], ],
"addlibrary": 1001, "addlibrary": 1001,
"ico": "zc_icon_02", "ico": "zb_icon_02",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -779,7 +779,7 @@
10 10
], ],
"addlibrary": 1001, "addlibrary": 1001,
"ico": "zc_icon_03", "ico": "zb_icon_03",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -816,7 +816,7 @@
20 20
], ],
"addlibrary": 1001, "addlibrary": 1001,
"ico": "zc_icon_04", "ico": "zb_icon_04",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -855,7 +855,7 @@
10 10
], ],
"addlibrary": 1001, "addlibrary": 1001,
"ico": "zc_icon_05", "ico": "zb_icon_05",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -892,7 +892,7 @@
5 5
], ],
"addlibrary": 1001, "addlibrary": 1001,
"ico": "zc_icon_06", "ico": "zb_icon_06",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -929,7 +929,7 @@
20 20
], ],
"addlibrary": 1001, "addlibrary": 1001,
"ico": "zc_icon_01", "ico": "zb_icon_01",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -966,7 +966,7 @@
20 20
], ],
"addlibrary": 1001, "addlibrary": 1001,
"ico": "zc_icon_02", "ico": "zb_icon_02",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -1005,7 +1005,7 @@
10 10
], ],
"addlibrary": 1001, "addlibrary": 1001,
"ico": "zc_icon_03", "ico": "zb_icon_03",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -1042,7 +1042,7 @@
20 20
], ],
"addlibrary": 1001, "addlibrary": 1001,
"ico": "zc_icon_04", "ico": "zb_icon_04",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -1081,7 +1081,7 @@
10 10
], ],
"addlibrary": 1001, "addlibrary": 1001,
"ico": "zc_icon_05", "ico": "zb_icon_05",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -1118,7 +1118,7 @@
5 5
], ],
"addlibrary": 1001, "addlibrary": 1001,
"ico": "zc_icon_06", "ico": "zb_icon_06",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -1155,7 +1155,7 @@
20 20
], ],
"addlibrary": 1001, "addlibrary": 1001,
"ico": "zc_icon_01", "ico": "zb_icon_01",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -1192,7 +1192,7 @@
20 20
], ],
"addlibrary": 1001, "addlibrary": 1001,
"ico": "zc_icon_02", "ico": "zb_icon_02",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -1231,7 +1231,7 @@
10 10
], ],
"addlibrary": 1001, "addlibrary": 1001,
"ico": "zc_icon_03", "ico": "zb_icon_03",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -1268,7 +1268,7 @@
20 20
], ],
"addlibrary": 1001, "addlibrary": 1001,
"ico": "zc_icon_04", "ico": "zb_icon_04",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -1307,7 +1307,7 @@
10 10
], ],
"addlibrary": 1001, "addlibrary": 1001,
"ico": "zc_icon_05", "ico": "zb_icon_05",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -1344,7 +1344,7 @@
5 5
], ],
"addlibrary": 1001, "addlibrary": 1001,
"ico": "zc_icon_06", "ico": "zb_icon_06",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -1381,7 +1381,7 @@
20 20
], ],
"addlibrary": 1101, "addlibrary": 1101,
"ico": "zc_icon_01", "ico": "zb_icon_01",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -1418,7 +1418,7 @@
20 20
], ],
"addlibrary": 1101, "addlibrary": 1101,
"ico": "zc_icon_02", "ico": "zb_icon_02",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -1457,7 +1457,7 @@
10 10
], ],
"addlibrary": 1101, "addlibrary": 1101,
"ico": "zc_icon_03", "ico": "zb_icon_03",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -1494,7 +1494,7 @@
20 20
], ],
"addlibrary": 1101, "addlibrary": 1101,
"ico": "zc_icon_04", "ico": "zb_icon_04",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -1533,7 +1533,7 @@
10 10
], ],
"addlibrary": 1101, "addlibrary": 1101,
"ico": "zc_icon_05", "ico": "zb_icon_05",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -1570,7 +1570,7 @@
5 5
], ],
"addlibrary": 1101, "addlibrary": 1101,
"ico": "zc_icon_06", "ico": "zb_icon_06",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -1607,7 +1607,7 @@
20 20
], ],
"addlibrary": 1101, "addlibrary": 1101,
"ico": "zc_icon_01", "ico": "zb_icon_01",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -1644,7 +1644,7 @@
20 20
], ],
"addlibrary": 1101, "addlibrary": 1101,
"ico": "zc_icon_02", "ico": "zb_icon_02",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -1683,7 +1683,7 @@
10 10
], ],
"addlibrary": 1101, "addlibrary": 1101,
"ico": "zc_icon_03", "ico": "zb_icon_03",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -1720,7 +1720,7 @@
20 20
], ],
"addlibrary": 1101, "addlibrary": 1101,
"ico": "zc_icon_04", "ico": "zb_icon_04",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -1759,7 +1759,7 @@
10 10
], ],
"addlibrary": 1101, "addlibrary": 1101,
"ico": "zc_icon_05", "ico": "zb_icon_05",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -1796,7 +1796,7 @@
5 5
], ],
"addlibrary": 1101, "addlibrary": 1101,
"ico": "zc_icon_06", "ico": "zb_icon_06",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -1833,7 +1833,7 @@
20 20
], ],
"addlibrary": 1101, "addlibrary": 1101,
"ico": "zc_icon_01", "ico": "zb_icon_01",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -1870,7 +1870,7 @@
20 20
], ],
"addlibrary": 1101, "addlibrary": 1101,
"ico": "zc_icon_02", "ico": "zb_icon_02",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -1909,7 +1909,7 @@
10 10
], ],
"addlibrary": 1101, "addlibrary": 1101,
"ico": "zc_icon_03", "ico": "zb_icon_03",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -1946,7 +1946,7 @@
20 20
], ],
"addlibrary": 1101, "addlibrary": 1101,
"ico": "zc_icon_04", "ico": "zb_icon_04",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -1985,7 +1985,7 @@
10 10
], ],
"addlibrary": 1101, "addlibrary": 1101,
"ico": "zc_icon_05", "ico": "zb_icon_05",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -2022,7 +2022,7 @@
5 5
], ],
"addlibrary": 1101, "addlibrary": 1101,
"ico": "zc_icon_06", "ico": "zb_icon_06",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -2059,7 +2059,7 @@
20 20
], ],
"addlibrary": 1101, "addlibrary": 1101,
"ico": "zc_icon_01", "ico": "zb_icon_01",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -2096,7 +2096,7 @@
20 20
], ],
"addlibrary": 1101, "addlibrary": 1101,
"ico": "zc_icon_02", "ico": "zb_icon_02",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -2135,7 +2135,7 @@
10 10
], ],
"addlibrary": 1101, "addlibrary": 1101,
"ico": "zc_icon_03", "ico": "zb_icon_03",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -2172,7 +2172,7 @@
20 20
], ],
"addlibrary": 1101, "addlibrary": 1101,
"ico": "zc_icon_04", "ico": "zb_icon_04",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -2211,7 +2211,7 @@
10 10
], ],
"addlibrary": 1101, "addlibrary": 1101,
"ico": "zc_icon_05", "ico": "zb_icon_05",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -2248,7 +2248,7 @@
5 5
], ],
"addlibrary": 1101, "addlibrary": 1101,
"ico": "zc_icon_06", "ico": "zb_icon_06",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -2285,7 +2285,7 @@
20 20
], ],
"addlibrary": 1101, "addlibrary": 1101,
"ico": "zc_icon_01", "ico": "zb_icon_01",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -2322,7 +2322,7 @@
20 20
], ],
"addlibrary": 1101, "addlibrary": 1101,
"ico": "zc_icon_02", "ico": "zb_icon_02",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -2361,7 +2361,7 @@
10 10
], ],
"addlibrary": 1101, "addlibrary": 1101,
"ico": "zc_icon_03", "ico": "zb_icon_03",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -2398,7 +2398,7 @@
20 20
], ],
"addlibrary": 1101, "addlibrary": 1101,
"ico": "zc_icon_04", "ico": "zb_icon_04",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -2437,7 +2437,7 @@
10 10
], ],
"addlibrary": 1101, "addlibrary": 1101,
"ico": "zc_icon_05", "ico": "zb_icon_05",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -2474,7 +2474,7 @@
5 5
], ],
"addlibrary": 1101, "addlibrary": 1101,
"ico": "zc_icon_06", "ico": "zb_icon_06",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -2511,7 +2511,7 @@
20 20
], ],
"addlibrary": 1101, "addlibrary": 1101,
"ico": "zc_icon_01", "ico": "zb_icon_01",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -2548,7 +2548,7 @@
20 20
], ],
"addlibrary": 1101, "addlibrary": 1101,
"ico": "zc_icon_02", "ico": "zb_icon_02",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -2587,7 +2587,7 @@
10 10
], ],
"addlibrary": 1101, "addlibrary": 1101,
"ico": "zc_icon_03", "ico": "zb_icon_03",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -2624,7 +2624,7 @@
20 20
], ],
"addlibrary": 1101, "addlibrary": 1101,
"ico": "zc_icon_04", "ico": "zb_icon_04",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -2663,7 +2663,7 @@
10 10
], ],
"addlibrary": 1101, "addlibrary": 1101,
"ico": "zc_icon_05", "ico": "zb_icon_05",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {
@ -2700,7 +2700,7 @@
5 5
], ],
"addlibrary": 1101, "addlibrary": 1101,
"ico": "zc_icon_06", "ico": "zb_icon_06",
"use_skip": 102, "use_skip": 102,
"sale": [ "sale": [
{ {

View File

@ -1,4 +1,14 @@
[ [
{
"index": "1",
"var": [
{
"a": "hero",
"t": "25001",
"n": 5
}
]
},
{ {
"index": "2", "index": "2",
"var": [ "var": [
@ -9,6 +19,106 @@
} }
] ]
}, },
{
"index": "3",
"var": [
{
"a": "hero",
"t": "25004",
"n": 5
}
]
},
{
"index": "13",
"var": [
{
"a": "equi",
"t": "10051",
"n": 100
}
]
},
{
"index": "14",
"var": [
{
"a": "equi",
"t": "10052",
"n": 100
}
]
},
{
"index": "15",
"var": [
{
"a": "equi",
"t": "10053",
"n": 100
}
]
},
{
"index": "16",
"var": [
{
"a": "equi",
"t": "10054",
"n": 100
}
]
},
{
"index": "17",
"var": [
{
"a": "equi",
"t": "10055",
"n": 100
}
]
},
{
"index": "18",
"var": [
{
"a": "equi",
"t": "10056",
"n": 100
}
]
},
{
"index": "19",
"var": [
{
"a": "hero",
"t": "42911",
"n": 100
}
]
},
{
"index": "20",
"var": [
{
"a": "hero",
"t": "43911",
"n": 100
}
]
},
{
"index": "21",
"var": [
{
"a": "hero",
"t": "44911",
"n": 100
}
]
},
{ {
"index": "23", "index": "23",
"var": [ "var": [
@ -19,6 +129,356 @@
} }
] ]
}, },
{
"index": "24",
"var": [
{
"a": "item",
"t": "10006",
"n": 5
}
]
},
{
"index": "25",
"var": [
{
"a": "item",
"t": "10009",
"n": 1
}
]
},
{
"index": "26",
"var": [
{
"a": "item",
"t": "10010",
"n": 45
}
]
},
{
"index": "27",
"var": [
{
"a": "item",
"t": "10011",
"n": 1
}
]
},
{
"index": "28",
"var": [
{
"a": "item",
"t": "10012",
"n": 1250
}
]
},
{
"index": "29",
"var": [
{
"a": "item",
"t": "10013",
"n": 1000
}
]
},
{
"index": "30",
"var": [
{
"a": "item",
"t": "10014",
"n": 1
}
]
},
{
"index": "31",
"var": [
{
"a": "item",
"t": "10015",
"n": 1
}
]
},
{
"index": "32",
"var": [
{
"a": "item",
"t": "10016",
"n": 1
}
]
},
{
"index": "33",
"var": [
{
"a": "item",
"t": "50001",
"n": 200
}
]
},
{
"index": "34",
"var": [
{
"a": "item",
"t": "50002",
"n": 200
}
]
},
{
"index": "35",
"var": [
{
"a": "item",
"t": "50003",
"n": 200
}
]
},
{
"index": "36",
"var": [
{
"a": "item",
"t": "50004",
"n": 200
}
]
},
{
"index": "37",
"var": [
{
"a": "item",
"t": "50005",
"n": 200
}
]
},
{
"index": "38",
"var": [
{
"a": "item",
"t": "50006",
"n": 200
}
]
},
{
"index": "39",
"var": [
{
"a": "item",
"t": "50007",
"n": 200
}
]
},
{
"index": "40",
"var": [
{
"a": "item",
"t": "50008",
"n": 200
}
]
},
{
"index": "41",
"var": [
{
"a": "item",
"t": "50009",
"n": 200
}
]
},
{
"index": "42",
"var": [
{
"a": "item",
"t": "50010",
"n": 200
}
]
},
{
"index": "43",
"var": [
{
"a": "item",
"t": "50011",
"n": 200
}
]
},
{
"index": "44",
"var": [
{
"a": "item",
"t": "50012",
"n": 200
}
]
},
{
"index": "45",
"var": [
{
"a": "item",
"t": "30001",
"n": 999
}
]
},
{
"index": "46",
"var": [
{
"a": "item",
"t": "30002",
"n": 999
}
]
},
{
"index": "47",
"var": [
{
"a": "item",
"t": "30003",
"n": 999
}
]
},
{
"index": "48",
"var": [
{
"a": "item",
"t": "30004",
"n": 999
}
]
},
{
"index": "49",
"var": [
{
"a": "item",
"t": "30005",
"n": 999
}
]
},
{
"index": "50",
"var": [
{
"a": "item",
"t": "10002",
"n": 1000
}
]
},
{
"index": "51",
"var": [
{
"a": "hero",
"t": "43921",
"n": 50
}
]
},
{
"index": "52",
"var": [
{
"a": "hero",
"t": "44921",
"n": 50
}
]
},
{
"index": "53",
"var": [
{
"a": "hero",
"t": "45921",
"n": 50
}
]
},
{
"index": "54",
"var": [
{
"a": "hero",
"t": "44006",
"n": 5
}
]
},
{
"index": "55",
"var": [
{
"a": "hero",
"t": "35001",
"n": 5
}
]
},
{
"index": "56",
"var": [
{
"a": "hero",
"t": "44005",
"n": 5
}
]
},
{
"index": "57",
"var": [
{
"a": "hero",
"t": "15004",
"n": 5
}
]
},
{
"index": "59",
"var": [
{
"a": "hero",
"t": "14007",
"n": 5
}
]
},
{ {
"index": "60", "index": "60",
"var": [ "var": [
@ -28,5 +488,475 @@
"n": 5 "n": 5
} }
] ]
},
{
"index": "61",
"var": [
{
"a": "hero",
"t": "24004",
"n": 5
}
]
},
{
"index": "65",
"var": [
{
"a": "hero",
"t": "34006",
"n": 5
}
]
},
{
"index": "66",
"var": [
{
"a": "hero",
"t": "24003",
"n": 5
}
]
},
{
"index": "67",
"var": [
{
"a": "item",
"t": "10004",
"n": 5
}
]
},
{
"index": "68",
"var": [
{
"a": "hero",
"t": "43901",
"n": 5
}
]
},
{
"index": "69",
"var": [
{
"a": "hero",
"t": "43902",
"n": 5
}
]
},
{
"index": "70",
"var": [
{
"a": "hero",
"t": "43903",
"n": 5
}
]
},
{
"index": "71",
"var": [
{
"a": "hero",
"t": "14003",
"n": 5
}
]
},
{
"index": "72",
"var": [
{
"a": "hero",
"t": "24002",
"n": 5
}
]
},
{
"index": "73",
"var": [
{
"a": "hero",
"t": "15005",
"n": 5
}
]
},
{
"index": "74",
"var": [
{
"a": "hero",
"t": "35003",
"n": 5
}
]
},
{
"index": "75",
"var": [
{
"a": "equi",
"t": "10001",
"n": 1
}
]
},
{
"index": "76",
"var": [
{
"a": "equi",
"t": "10002",
"n": 1
}
]
},
{
"index": "77",
"var": [
{
"a": "equi",
"t": "10003",
"n": 1
}
]
},
{
"index": "78",
"var": [
{
"a": "equi",
"t": "10004",
"n": 1
}
]
},
{
"index": "79",
"var": [
{
"a": "equi",
"t": "10005",
"n": 1
}
]
},
{
"index": "80",
"var": [
{
"a": "equi",
"t": "10006",
"n": 1
}
]
},
{
"index": "81",
"var": [
{
"a": "equi",
"t": "10011",
"n": 1
}
]
},
{
"index": "82",
"var": [
{
"a": "equi",
"t": "10012",
"n": 1
}
]
},
{
"index": "83",
"var": [
{
"a": "equi",
"t": "10013",
"n": 1
}
]
},
{
"index": "84",
"var": [
{
"a": "equi",
"t": "10014",
"n": 1
}
]
},
{
"index": "85",
"var": [
{
"a": "equi",
"t": "10015",
"n": 1
}
]
},
{
"index": "86",
"var": [
{
"a": "equi",
"t": "10016",
"n": 1
}
]
},
{
"index": "87",
"var": [
{
"a": "equi",
"t": "10021",
"n": 1
}
]
},
{
"index": "88",
"var": [
{
"a": "equi",
"t": "10022",
"n": 1
}
]
},
{
"index": "89",
"var": [
{
"a": "equi",
"t": "10023",
"n": 1
}
]
},
{
"index": "90",
"var": [
{
"a": "equi",
"t": "10024",
"n": 1
}
]
},
{
"index": "91",
"var": [
{
"a": "equi",
"t": "10025",
"n": 1
}
]
},
{
"index": "92",
"var": [
{
"a": "equi",
"t": "10026",
"n": 1
}
]
},
{
"index": "93",
"var": [
{
"a": "equi",
"t": "10031",
"n": 1
}
]
},
{
"index": "94",
"var": [
{
"a": "equi",
"t": "10032",
"n": 1
}
]
},
{
"index": "95",
"var": [
{
"a": "equi",
"t": "10033",
"n": 1
}
]
},
{
"index": "96",
"var": [
{
"a": "equi",
"t": "10034",
"n": 1
}
]
},
{
"index": "97",
"var": [
{
"a": "equi",
"t": "10035",
"n": 1
}
]
},
{
"index": "98",
"var": [
{
"a": "equi",
"t": "10036",
"n": 1
}
]
},
{
"index": "99",
"var": [
{
"a": "equi",
"t": "10041",
"n": 1
}
]
},
{
"index": "100",
"var": [
{
"a": "equi",
"t": "10042",
"n": 1
}
]
},
{
"index": "101",
"var": [
{
"a": "equi",
"t": "10043",
"n": 1
}
]
},
{
"index": "102",
"var": [
{
"a": "equi",
"t": "10044",
"n": 1
}
]
},
{
"index": "103",
"var": [
{
"a": "equi",
"t": "10045",
"n": 1
}
]
},
{
"index": "104",
"var": [
{
"a": "equi",
"t": "10046",
"n": 1
}
]
},
{
"index": "105",
"var": [
{
"a": "equi",
"t": "10051",
"n": 1
}
]
},
{
"index": "106",
"var": [
{
"a": "equi",
"t": "10052",
"n": 1
}
]
},
{
"index": "107",
"var": [
{
"a": "equi",
"t": "10053",
"n": 1
}
]
},
{
"index": "108",
"var": [
{
"a": "equi",
"t": "10054",
"n": 1
}
]
},
{
"index": "109",
"var": [
{
"a": "equi",
"t": "10055",
"n": 1
}
]
},
{
"index": "110",
"var": [
{
"a": "equi",
"t": "10056",
"n": 1
}
]
} }
] ]

View File

@ -797,7 +797,7 @@
"isani": 0, "isani": 0,
"star": 0, "star": 0,
"race": 0, "race": 0,
"img": "wp_icon_10009", "img": "wp_icon_10019",
"ico": "wp_icon_10019", "ico": "wp_icon_10019",
"intr": { "intr": {
"key": "itemdesc_30001", "key": "itemdesc_30001",
@ -834,7 +834,7 @@
"isani": 0, "isani": 0,
"star": 0, "star": 0,
"race": 0, "race": 0,
"img": "wp_icon_10010", "img": "wp_icon_10020",
"ico": "wp_icon_10020", "ico": "wp_icon_10020",
"intr": { "intr": {
"key": "itemdesc_30002", "key": "itemdesc_30002",
@ -871,7 +871,7 @@
"isani": 0, "isani": 0,
"star": 0, "star": 0,
"race": 0, "race": 0,
"img": "wp_icon_10011", "img": "wp_icon_10021",
"ico": "wp_icon_10021", "ico": "wp_icon_10021",
"intr": { "intr": {
"key": "itemdesc_30003", "key": "itemdesc_30003",
@ -908,7 +908,7 @@
"isani": 0, "isani": 0,
"star": 0, "star": 0,
"race": 0, "race": 0,
"img": "wp_icon_10012", "img": "wp_icon_10022",
"ico": "wp_icon_10022", "ico": "wp_icon_10022",
"intr": { "intr": {
"key": "itemdesc_30004", "key": "itemdesc_30004",
@ -945,7 +945,7 @@
"isani": 0, "isani": 0,
"star": 0, "star": 0,
"race": 0, "race": 0,
"img": "wp_icon_10013", "img": "wp_icon_10023",
"ico": "wp_icon_10023", "ico": "wp_icon_10023",
"intr": { "intr": {
"key": "itemdesc_30005", "key": "itemdesc_30005",

View File

@ -44,12 +44,95 @@ func (this *AttributeNumeric) Value() float32 {
return this.fixedValue.Scalar() return this.fixedValue.Scalar()
} }
///基础数值
func (this *AttributeNumeric) SetBase(value float32) float32 { func (this *AttributeNumeric) SetBase(value float32) float32 {
this.BaseValue.SetFloat(value) this.BaseValue.SetFloat(value)
this.onChange() this.onChange()
return this.BaseValue.Value() return this.BaseValue.Value()
} }
func (this *AttributeNumeric) onChange() { func (this *AttributeNumeric) AddBase(value float32) float32 {
// this.fixedValue = (this.BaseValue.Fixed()*(1+this.ProValue.Fixed())+this.AppendValue.Fixed())*(1+this.BuffProValue.Fixed()) + this.BuffValue.Fixed() this.BaseValue.Add(value)
this.onChange()
return this.BaseValue.Value()
}
func (this *AttributeNumeric) MinusBase(value float32) float32 {
this.BaseValue.Minus(value)
this.onChange()
return this.BaseValue.Value()
}
///附加数值
func (this *AttributeNumeric) SetAppend(value float32) float32 {
this.AppendValue.SetFloat(value)
this.onChange()
return this.AppendValue.Value()
}
func (this *AttributeNumeric) AddAppend(value float32) float32 {
this.AppendValue.Add(value)
this.onChange()
return this.AppendValue.Value()
}
func (this *AttributeNumeric) MinusAppend(value float32) float32 {
this.AppendValue.Minus(value)
this.onChange()
return this.AppendValue.Value()
}
///附加百分比数值
func (this *AttributeNumeric) SetPro(value float32) float32 {
this.ProValue.SetFloat(value)
this.onChange()
return this.ProValue.Value()
}
func (this *AttributeNumeric) AddPro(value float32) float32 {
this.ProValue.Add(value)
this.onChange()
return this.ProValue.Value()
}
func (this *AttributeNumeric) MinusPro(value float32) float32 {
this.ProValue.Minus(value)
this.onChange()
return this.ProValue.Value()
}
/// Buff附加数值
func (this *AttributeNumeric) SetBuff(value float32) float32 {
this.BuffValue.SetFloat(value)
this.onChange()
return this.BuffValue.Value()
}
func (this *AttributeNumeric) AddBuff(value float32) float32 {
this.BuffValue.Add(value)
this.onChange()
return this.BuffValue.Value()
}
func (this *AttributeNumeric) MinusBuff(value float32) float32 {
this.BuffValue.Minus(value)
this.onChange()
return this.BuffValue.Value()
}
/// Buff附加百分比数值
func (this *AttributeNumeric) SetBuffPro(value float32) float32 {
this.BuffProValue.SetFloat(value)
this.onChange()
return this.BuffProValue.Value()
}
func (this *AttributeNumeric) AddBuffPro(value float32) float32 {
this.BuffProValue.Add(value)
this.onChange()
return this.BuffProValue.Value()
}
func (this *AttributeNumeric) MinusBuffPro(value float32) float32 {
this.BuffProValue.Minus(value)
this.onChange()
return this.BuffProValue.Value()
}
func (this *AttributeNumeric) onChange() {
this.fixedValue = (FixedPoint_Multiply(this.BaseValue.Fixed(), (NewFixedPoint(1)+this.ProValue.Fixed())) + FixedPoint_Multiply(this.AppendValue.Fixed(), (NewFixedPoint(1)+this.BuffProValue.Fixed())) + this.BuffValue.Fixed())
} }

View File

@ -29,6 +29,7 @@ func (this FixedNumeric) SetFloat(value float32) float32 {
this.baseValue = NewFixedPoint(value) this.baseValue = NewFixedPoint(value)
return this.baseValue.Scalar() return this.baseValue.Scalar()
} }
func (this FixedNumeric) Set(value FixedPoint) float32 { func (this FixedNumeric) Set(value FixedPoint) float32 {
this.baseValue = value this.baseValue = value
return this.baseValue.Scalar() return this.baseValue.Scalar()

View File

@ -9,25 +9,21 @@ import (
const CARDINAL_NUMBER int = 10000 const CARDINAL_NUMBER int = 10000
func NewFixedPoint(value float32) FixedPoint { func NewFixedPoint(value float32) FixedPoint {
return FixedPoint{ return FixedPoint(math.Round(float64(value * float32(CARDINAL_NUMBER))))
rawValue: int(math.Round(float64(value * float32(CARDINAL_NUMBER)))),
}
} }
type FixedPoint struct { type FixedPoint int
rawValue int
}
func (this FixedPoint) SetInt(v int) { func (this FixedPoint) SetInt(v int) {
this.rawValue = v this = FixedPoint(v)
} }
func (this FixedPoint) Scalar() float32 { func (this FixedPoint) Scalar() float32 {
return float32(this.rawValue) * 0.0001 return float32(this) * 0.0001
} }
func (this FixedPoint) ToInt() int { func (this FixedPoint) ToInt() int {
return this.rawValue / CARDINAL_NUMBER return int(this) / CARDINAL_NUMBER
} }
func (this FixedPoint) ToFloat() float32 { func (this FixedPoint) ToFloat() float32 {
return this.Scalar() return this.Scalar()
@ -39,39 +35,31 @@ func (this FixedPoint) ToString() string {
/// - /// -
func (this FixedPoint) Add(v float32) { func (this FixedPoint) Add(v float32) {
y := NewFixedPoint(v) y := NewFixedPoint(v)
this.rawValue = this.rawValue + y.rawValue this = FixedPoint(int(this) + int(y))
} }
/// - /// -
func (this FixedPoint) Reduce(v float32) { func (this FixedPoint) Reduce(v float32) {
y := NewFixedPoint(v) y := NewFixedPoint(v)
this.rawValue = this.rawValue - y.rawValue this = FixedPoint(int(this) - int(y))
} }
/// + /// +
func FixedPoint_Add(x, y FixedPoint) FixedPoint { func FixedPoint_Add(x, y FixedPoint) FixedPoint {
result := FixedPoint{} return FixedPoint(x + y)
result.rawValue = x.rawValue + y.rawValue
return result
} }
/// - /// -
func FixedPoint_Reduce(x, y FixedPoint) FixedPoint { func FixedPoint_Reduce(x, y FixedPoint) FixedPoint {
result := FixedPoint{} return FixedPoint(x - y)
result.rawValue = x.rawValue - y.rawValue
return result
} }
/// * /// *
func FixedPoint_Multiply(x, y FixedPoint) FixedPoint { func FixedPoint_Multiply(x, y FixedPoint) FixedPoint {
result := FixedPoint{} return FixedPoint((int(x) * int(y)) / CARDINAL_NUMBER)
result.rawValue = (x.rawValue * y.rawValue) / CARDINAL_NUMBER
return result
} }
/// / /// /
func FixedPoint_Divide(x, y FixedPoint) FixedPoint { func FixedPoint_Divide(x, y FixedPoint) FixedPoint {
result := FixedPoint{} return FixedPoint((int(x) * CARDINAL_NUMBER) / int(y))
result.rawValue = (x.rawValue * CARDINAL_NUMBER) / (y.rawValue)
return result
} }

View File

@ -49,6 +49,18 @@ func (this *HealthPoint) MaxValue() int32 {
return int32(this.CurrMaxHp.Value()) return int32(this.CurrMaxHp.Value())
} }
func (this *HealthPoint) OnChange() {
//先计算当前血量百分比
var per = this.Percent()
// 当前最大生命值 = 总生命 * 1 + 当前最大生命百分比加成 + 当前最大生命加成
//FightDebug.Log($"增加前属性{(MaxHp.Fixed)}----- {(1 + CurrMaxHpPro.Fixed)}----- {CurrMaxHpAppend.Fixed}");
this.CurrMaxHp.SetBase((FixedPoint_Multiply(this.MaxHp.Fixed(), (NewFixedPoint(1)+this.CurrMaxHpPro.Fixed())) + this.CurrMaxHpAppend.Fixed()).Scalar())
//计算变化之后的当前血量
var curHp = FixedPoint_Multiply(this.CurrMaxHp.Fixed(), NewFixedPoint(per))
this.Hp.Set(curHp)
//FightDebug.Log($"增加后属性{(MaxHp.Fixed)}----- {(1 + CurrMaxHpPro.Fixed)}----- {CurrMaxHpAppend.Fixed}");
}
/// <summary> /// <summary>
/// 扣血 /// 扣血
/// </summary> /// </summary>
@ -61,7 +73,7 @@ func (this *HealthPoint) Minus(value float32) {
/// 加血 /// 加血
/// </summary> /// </summary>
func (this *HealthPoint) Add(value float32) { func (this *HealthPoint) Add(value float32) {
if FixedPoint_Add(this.Hp.Fixed(), NewFixedPoint(value)).rawValue > this.CurrMaxHp.Fixed().rawValue { if FixedPoint_Add(this.Hp.Fixed(), NewFixedPoint(value)) > this.CurrMaxHp.Fixed() {
this.Reset() this.Reset()
} else { } else {
this.Hp.Add(value) this.Hp.Add(value)
@ -72,7 +84,7 @@ func (this *HealthPoint) Add(value float32) {
/// 获取治疗溢出值 /// 获取治疗溢出值
/// </summary> /// </summary>
func (this *HealthPoint) Overflow(value float32) float32 { func (this *HealthPoint) Overflow(value float32) float32 {
if FixedPoint_Add(this.Hp.Fixed(), NewFixedPoint(value)).rawValue > this.CurrMaxHp.Fixed().rawValue { if FixedPoint_Add(this.Hp.Fixed(), NewFixedPoint(value)) > this.CurrMaxHp.Fixed() {
return FixedPoint_Divide(FixedPoint_Add(this.Hp.Fixed(), NewFixedPoint(value)), this.CurrMaxHp.Fixed()).Scalar() return FixedPoint_Divide(FixedPoint_Add(this.Hp.Fixed(), NewFixedPoint(value)), this.CurrMaxHp.Fixed()).Scalar()
} }
return 0 return 0
@ -84,3 +96,31 @@ func (this *HealthPoint) Overflow(value float32) float32 {
func (this *HealthPoint) Percent() float32 { func (this *HealthPoint) Percent() float32 {
return FixedPoint_Divide(this.Hp.Fixed(), this.CurrMaxHp.Fixed()).Scalar() return FixedPoint_Divide(this.Hp.Fixed(), this.CurrMaxHp.Fixed()).Scalar()
} }
/// <summary>
/// 损失血量百分比
/// </summary>
func (this *HealthPoint) LostPercent() float32 {
return FixedPoint_Divide((this.CurrMaxHp.Fixed() - this.Hp.Fixed()), this.CurrMaxHp.Fixed()).Scalar()
}
/// <summary>
/// 指定百分比血量
/// </summary>
func (this *HealthPoint) PercentHealth(pct float32) float32 {
return FixedPoint_Multiply(this.CurrMaxHp.Fixed(), NewFixedPoint(pct)).Scalar()
}
/// <summary>
/// 扣除的血量
/// </summary>
func (this *HealthPoint) Deduct() float32 {
return FixedPoint(this.CurrMaxHp.Fixed() - this.Hp.Fixed()).Scalar()
}
/// <summary>
/// 是否满血
/// </summary>
func (this *HealthPoint) IsFull() bool {
return this.Hp.Fixed() == this.CurrMaxHp.Fixed()
}

View File

@ -0,0 +1,9 @@
package buff
func NewFightBuff() *FightBuff {
return &FightBuff{}
}
type FightBuff struct {
FightBuffBase
}

View File

@ -0,0 +1,41 @@
package buff
type FightBuffBase struct {
}
/// 激活Buff
func (this FightBuffBase) Activate() {
}
/// 结束Buff
func (this FightBuffBase) End() {
}
/// 增加CD回合数
func (this FightBuffBase) AddCD(pVal int32) int32 {
return 0
}
/// 减少CD回合数
func (this FightBuffBase) MinusCD(pVal int32) int32 {
return 0
}
/// 设置CD回合数为新的值
func (this FightBuffBase) SetCD(newVal int32) int32 {
return 0
}
/// <summary>
/// 是否存在指定Tag
/// </summary>
func (this FightBuffBase) HasTag(pTag string) bool {
return false
}
/// 战斗结束时的清理
func (this FightBuffBase) Clear() {
}

View File

@ -0,0 +1,9 @@
package buff
func NewFightPoisonBuff() *FightPoisonBuff {
return &FightPoisonBuff{}
}
type FightPoisonBuff struct {
FightBuff
}

View File

@ -0,0 +1,9 @@
package buff
func NewFightProPercentBuff(proType int, quaType bool) *FightProPercentBuff {
return &FightProPercentBuff{}
}
type FightProPercentBuff struct {
FightBuff
}

View File

@ -0,0 +1,9 @@
package buff
func NewFightShieldBuff() *FightShieldBuff {
return &FightShieldBuff{}
}
type FightShieldBuff struct {
FightBuff
}

View File

@ -1,8 +1,125 @@
package core package core
import "go_dreamfactory/modules/battle/fight/buff"
type BuffStore struct { type BuffStore struct {
/// <summary> /// <summary>
/// 已经添加的buff类型 /// 已经添加的buff类型
/// </summary> /// </summary>
HasBuffTypes []int HasBuffTypes []int
/// <summary>
/// Buff列表 [BuffId, FightBuff]
/// </summary>
Buffs map[int][]IBuff
temp []int
}
func (this *BuffStore) CreateBuff(pType BuffType) IBuff {
switch pType {
case BuffType_NONE:
break
case BuffType_ATKUP:
return buff.NewFightProPercentBuff(PropertyType_Buff_Per_Atk, false)
case BuffType_DEFUP:
return buff.NewFightProPercentBuff(PropertyType_Buff_Per_Def, false)
case BuffType_SPDUP:
return buff.NewFightProPercentBuff(PropertyType_Buff_Per_Agi, false)
case BuffType_CRATEUP:
return buff.NewFightProPercentBuff(PropertyType_Add_Cri, false)
case BuffType_CRITRESIST:
break
case BuffType_ATKDOWN:
return buff.NewFightProPercentBuff(PropertyType_Buff_Per_Atk, true)
case BuffType_DEFDOWN:
return buff.NewFightProPercentBuff(PropertyType_Buff_Per_Def, true)
case BuffType_SPDDOWN:
return buff.NewFightProPercentBuff(PropertyType_Buff_Per_Agi, true)
case BuffType_CRATEDOWN:
return buff.NewFightProPercentBuff(PropertyType_Add_Cri, true)
case BuffType_MISSRATEUP:
return buff.NewFightProPercentBuff(PropertyType_LostHold_per, false)
case BuffType_SEAR:
break
case BuffType_INVINCIBILITY:
return buff.NewFightBuff()
case BuffType_STANDOFF:
break
case BuffType_STUN:
return buff.NewFightBuff()
case BuffType_FREEZE:
return buff.NewFightBuff()
case BuffType_DISEASED:
return buff.NewFightBuff()
case BuffType_PETRIFICATION:
return buff.NewFightBuff()
case BuffType_SILENCE:
return buff.NewFightBuff()
case BuffType_TAUNT:
break
case BuffType_IMMUNITY:
return buff.NewFightBuff()
case BuffType_SHIELD:
return buff.NewFightShieldBuff()
case BuffType_NOTSPEED:
return buff.NewFightBuff()
case BuffType_DAMREUP:
return buff.NewFightProPercentBuff(PropertyType_DamRe_Per, true)
case BuffType_HPUP:
return buff.NewFightProPercentBuff(PropertyType_Add_Per_Hp, false)
case BuffType_EFFHITUP:
return buff.NewFightProPercentBuff(PropertyType_Add_EffHit, false)
case BuffType_EFFREUP:
return buff.NewFightProPercentBuff(PropertyType_Add_EffRe, false)
case BuffType_HPDOWN:
break
case BuffType_EFFHITDOWN:
return buff.NewFightProPercentBuff(PropertyType_Add_EffHit, true)
case BuffType_EFFREDOWN:
return buff.NewFightProPercentBuff(PropertyType_Add_EffRe, true)
case BuffType_CAUSEDAMUP:
return buff.NewFightProPercentBuff(PropertyType_CauseDam_Per, false)
case BuffType_POISON:
return buff.NewFightPoisonBuff()
case BuffType_ATTRTRANS:
break
case BuffType_UNDEAD:
break
case BuffType_DEVOUR:
break
case BuffType_DONTMISS:
break
case BuffType_NOTGAIN:
break
case BuffType_NOTCONTROL:
break
case BuffType_SLEEP:
break
}
return buff.NewFightBuff()
}
func (this *BuffStore) ForEach(action func(IBuff)) {
this.temp = this.temp[:0]
for k, _ := range this.Buffs {
this.temp = append(this.temp, k)
}
for _, v := range this.temp {
list := this.Buffs[v]
for _, v1 := range list {
action(v1)
}
}
}
func (this *BuffStore) HasBuff(judge func(IBuff) bool) bool {
for _, v := range this.Buffs {
for _, buff := range v {
if judge(buff) {
return true
}
}
}
return false
}
func (this *BuffStore) Clear() {
this.Buffs = make(map[int][]IBuff)
} }

View File

@ -0,0 +1,162 @@
package core
type BuffType int
const (
/// <summary>
/// 无效类型
/// </summary>
BuffType_NONE = 0
/// <summary>
/// 攻击提升
/// </summary>
BuffType_ATKUP = 1
/// <summary>
/// 防御提升
/// </summary>
BuffType_DEFUP = 2
/// <summary>
/// 速度提升
/// </summary>
BuffType_SPDUP = 3
/// <summary>
/// 暴击提升
/// </summary>
BuffType_CRATEUP = 4
/// <summary>
/// 暴击抵抗
/// </summary>
BuffType_CRITRESIST = 5
/// <summary>
/// 攻击下降
/// </summary>
BuffType_ATKDOWN = 6
/// <summary>
/// 防御下降
/// </summary>
BuffType_DEFDOWN = 7
/// <summary>
/// 速度下降
/// </summary>
BuffType_SPDDOWN = 8
/// <summary>
/// 暴击下降
/// </summary>
BuffType_CRATEDOWN = 9
/// <summary>
/// 烙印
/// </summary>
BuffType_SEAR = 10
/// <summary>
/// 失手率提升
/// </summary>
BuffType_MISSRATEUP = 11
/// <summary>
/// 无敌
/// </summary>
BuffType_INVINCIBILITY = 12
/// <summary>
/// 对峙
/// </summary>
BuffType_STANDOFF = 13
/// <summary>
/// 眩晕
/// </summary>
BuffType_STUN = 14
/// <summary>
/// 冰冻
/// </summary>
BuffType_FREEZE = 15
/// <summary>
/// 禁疗
/// </summary>
BuffType_DISEASED = 16
/// <summary>
/// 石化
/// </summary>
BuffType_PETRIFICATION = 17
/// <summary>
/// 沉默
/// </summary>
BuffType_SILENCE = 18
/// <summary>
/// 挑衅
/// </summary>
BuffType_TAUNT = 19
/// <summary>
/// 免疫
/// </summary>
BuffType_IMMUNITY = 20
/// <summary>
/// 护盾
/// </summary>
BuffType_SHIELD = 21
/// <summary>
/// 不可移动
/// </summary>
BuffType_NOTSPEED = 22
/// <summary>
/// 受到伤害降低
/// </summary>
BuffType_DAMREUP = 23
/// <summary>
/// 血量提升
/// </summary>
BuffType_HPUP = 24
/// <summary>
/// 效果命中提升
/// </summary>
BuffType_EFFHITUP = 25
/// <summary>
/// 效果抵抗提升
/// </summary>
BuffType_EFFREUP = 26
/// <summary>
/// 血量下降
/// </summary>
BuffType_HPDOWN = 27
/// <summary>
/// 效果命中下降
/// </summary>
BuffType_EFFHITDOWN = 28
/// <summary>
/// 效果抵抗下降
/// </summary>
BuffType_EFFREDOWN = 29
/// <summary>
/// 伤害提升增加
/// </summary>
BuffType_CAUSEDAMUP = 30
/// <summary>
/// 中毒
/// </summary>
BuffType_POISON = 31
/// <summary>
/// 属性转换
/// </summary>
BuffType_ATTRTRANS = 32
/// <summary>
/// 不死
/// </summary>
BuffType_UNDEAD = 33
/// <summary>
/// 吞噬
/// </summary>
BuffType_DEVOUR = 34
/// <summary>
/// 不会失手
/// </summary>
BuffType_DONTMISS = 35
/// <summary>
/// 不能获得增益buff
/// </summary>
BuffType_NOTGAIN = 36
/// <summary>
/// 免疫控制
/// </summary>
BuffType_NOTCONTROL = 37
/// <summary>
/// 睡眠
/// </summary>
BuffType_SLEEP = 38
)

View File

@ -48,7 +48,7 @@ type (
/// </summary> /// </summary>
/// <param name="skillId">技能id</param> /// <param name="skillId">技能id</param>
/// <param name="skillLv">技能等级</param> /// <param name="skillLv">技能等级</param>
AddSkill(skillId int32, skillLv int32) ISkil AddSkill(skillId int32, skillLv int32) ISkill
/// 获取行动令牌 /// 获取行动令牌
StartAction() StartAction()
/// 结束行动令牌 /// 结束行动令牌
@ -71,7 +71,7 @@ type (
/// 获取下一个技能id /// 获取下一个技能id
GetNextSkillId() int32 GetNextSkillId() int32
/// 获取后续子技能 /// 获取后续子技能
GetAfterAtk(skillId int) ISkil GetAfterAtk(skillId int) ISkill
/// 触发SkillId技能选择的目标是TargetRid /// 触发SkillId技能选择的目标是TargetRid
EmitSkill(skillId int32, targetRid []int32) EmitSkill(skillId int32, targetRid []int32)
/// 自身的 Buff 和 被动 是否有指定标签 /// 自身的 Buff 和 被动 是否有指定标签
@ -85,7 +85,7 @@ type (
AutoEmitSkill(pFightRole IFightRole) AutoEmitSkill(pFightRole IFightRole)
} }
//技能对象 //技能对象
ISkil interface { ISkill interface {
/// <summary> /// <summary>
/// 获取技能配置信息 /// 获取技能配置信息
/// </summary> /// </summary>
@ -120,6 +120,12 @@ type (
///</summary> ///</summary>
SendSkillLog() SendSkillLog()
} }
IAfterSkill interface {
/// <summary>
/// 战斗结束时的清理
/// </summary>
Clear()
}
//Buff对象 //Buff对象
IBuff interface { IBuff interface {
/// 激活Buff /// 激活Buff

View File

@ -104,6 +104,10 @@ type FightRoleData struct {
///region 技能相关----------------------------------------------------------------------- ///region 技能相关-----------------------------------------------------------------------
/// <summary> /// <summary>
/// 技能信息 id:lv
/// </summary>
SkillsInfo []ISkill
/// <summary>
/// 最后一次选择的skillAtk类技能 /// 最后一次选择的skillAtk类技能
/// </summary> /// </summary>
LastSkillId int32 LastSkillId int32
@ -117,10 +121,19 @@ type FightRoleData struct {
/// <remarks> /// <remarks>
/// 在角色初始化时会根据SkillsInfo实例化对应的技能保存于此 /// 在角色初始化时会根据SkillsInfo实例化对应的技能保存于此
/// </remarks> /// </remarks>
Skills map[int32]ISkil Skills map[int32]ISkill
/// <summary>
/// AfterAtk集合
/// </summary>
AfterSkills map[int]IAfterSkill
/// <summary> /// <summary>
/// BUFF集合 /// BUFF集合
/// </summary> /// </summary>
BuffStore *BuffStore BuffStore *BuffStore
/// <summary>
/// 被动技能集合
/// </summary>
PassiveStore PassiveStore
} }

View File

@ -0,0 +1,31 @@
package core
import "go_dreamfactory/modules/battle/fight/passive"
type PassiveStore struct {
Passives map[int]passive.IFightPassive
temp []int
}
func (this *PassiveStore) CreatePassive(pType string) passive.IFightPassive {
switch pType {
case "CallSkillPas":
return passive.NewFightCallSkillPas()
}
return nil
}
func (this *PassiveStore) ForEach(action func(fp passive.IFightPassive)) {
this.temp = make([]int, 0)
for k, _ := range this.Passives {
this.temp = append(this.temp, k)
}
for _, v := range this.temp {
action(this.Passives[v])
}
}
func (this *PassiveStore) RemovePassive(id int) {
}
func (this *PassiveStore) Clear() {
this.Passives = make(map[int]passive.IFightPassive)
}

View File

@ -0,0 +1,174 @@
package core
type PropertyType int
const (
/// <summary>
/// 总生命
/// </summary>
PropertyType_Total_Hp = 1
/// <summary>
/// 当前总生命
/// </summary>
PropertyType_NowTotal_Hp = 2
/// <summary>
/// 当前生命
/// </summary>
PropertyType_NowHp = 3
/// <summary>
/// 总攻击
/// </summary>
PropertyType_Total_Atk = 4
/// <summary>
/// 总防御
/// </summary>
PropertyType_Total_Def = 5
/// <summary>
/// 总速度
/// </summary>
PropertyType_Total_Agi = 6
/// <summary>
/// 总暴击率
/// </summary>
PropertyType_Total_Cri = 7
/// <summary>
/// 总暴击伤害
/// </summary>
PropertyType_Total_CriDam = 8
/// <summary>
/// 总效果命中
/// </summary>
PropertyType_Total_EffHit = 9
/// <summary>
/// 总效果抵抗
/// </summary>
PropertyType_Total_EffRe = 10
/// <summary>
/// 已损失生命值
/// </summary>
PropertyType_LostHp = 11
/// <summary>
/// 已损失生命值百分比
/// </summary>
PropertyType_LostPerHp = 12
/// <summary>
/// 当前生命百分比
/// </summary>
PropertyType_NowHp_Per = 13
/// <summary>
/// 附加生命(修改属性类型从这里开始)
/// </summary>
PropertyType_Add_Hp = 14
/// <summary>
/// 附加百分比生命
/// </summary>
PropertyType_Add_Per_Hp = 15
/// <summary>
/// BUFF附加生命
/// </summary>
PropertyType_Buff_Hp = 16
/// <summary>
/// BUFF附加百分比生命
/// </summary>
PropertyType_Buff_Per_Hp = 17
/// <summary>
/// 附加攻击
/// </summary>
PropertyType_Add_Atk = 18
/// <summary>
/// 附加百分比攻击
/// </summary>
PropertyType_Add_Per_Atk = 19
/// <summary>
/// BUFF附加攻击
/// </summary>
PropertyType_Buff_Atk = 20
/// <summary>
/// BUFF附加百分比攻击
/// </summary>
PropertyType_Buff_Per_Atk = 21
/// <summary>
/// 附加防御
/// </summary>
PropertyType_Add_Def = 22
/// <summary>
/// 附加百分比防御
/// </summary>
PropertyType_Add_Per_Def = 23
/// <summary>
/// BUFF附加防御
/// </summary>
PropertyType_Buff_Def = 24
/// <summary>
/// BUFF附加百分比防御
/// </summary>
PropertyType_Buff_Per_Def = 25
/// <summary>
/// 附加速度
/// </summary>
PropertyType_Add_Agi = 26
/// <summary>
/// 附加百分比速度
/// </summary>
PropertyType_Add_Per_Agi = 27
/// <summary>
/// BUFF附加速度
/// </summary>
PropertyType_Buff_Agi = 28
/// <summary>
/// BUFF附加百分比速度
/// </summary>
PropertyType_Buff_Per_Agi = 29
/// <summary>
/// 附加暴击率
/// </summary>
PropertyType_Add_Cri = 30
/// <summary>
/// 附加暴击伤害
/// </summary>
PropertyType_Add_CriDam = 31
/// <summary>
/// 附加效果命中
/// </summary>
PropertyType_Add_EffHit = 32
/// <summary>
/// 附加效果抵抗
/// </summary>
PropertyType_Add_EffRe = 33
/// <summary>
/// 行动值
/// </summary>
PropertyType_ActValue = 34
/// <summary>
/// 伤害减免(buff附加百分比)
/// </summary>
PropertyType_DamRe_Per = 35
/// <summary>
/// 伤害提升(buff附加百分比)
/// </summary>
PropertyType_CauseDam_Per = 36
/// <summary>
/// 伤害减免(固定值)
/// </summary>
PropertyType_DamRe = 37
/// <summary>
/// 伤害提升(固定值)
/// </summary>
PropertyType_CauseDam = 38
/// <summary>
/// 失手率buff增加百分比
/// </summary>
PropertyType_LostHold_per = 39
/// <summary>
/// 会心率buff增加百分比
/// </summary>
PropertyType_UnderStand_per = 40
/// <summary>
/// 治疗加成
/// </summary>
PropertyType_TreAdd = 41
/// <summary>
/// 受疗加成
/// </summary>
PropertyType_BeTreAdd = 42
)

View File

@ -1,8 +1,10 @@
package fight package fight
import ( import (
"fmt"
"go_dreamfactory/modules/battle/fight/attribute" "go_dreamfactory/modules/battle/fight/attribute"
"go_dreamfactory/modules/battle/fight/core" "go_dreamfactory/modules/battle/fight/core"
"go_dreamfactory/modules/battle/fight/passive"
cfg "go_dreamfactory/sys/configure/structs" cfg "go_dreamfactory/sys/configure/structs"
) )
@ -52,3 +54,36 @@ func (this *FightRole) IsDead() bool {
func (this *FightRole) Dead() { func (this *FightRole) Dead() {
this.data.ALive = false this.data.ALive = false
} }
/// <summary>
/// 战斗结束时的清理
/// </summary>
func (this *FightRole) Clear() {
//清理所有技能
for _, v := range this.data.Skills {
v.Clear()
}
//清理所有攻击后技能
for _, v := range this.data.AfterSkills {
v.Clear()
}
//清理所有buff
this.data.BuffStore.ForEach(func(buff core.IBuff) {
buff.Clear()
})
// //清理所有被动就能
this.data.PassiveStore.ForEach(func(fp passive.IFightPassive) {
fp.Clear()
})
//清空
this.data.Skills = make(map[int32]core.ISkill)
this.data.AfterSkills = make(map[int]core.IAfterSkill)
this.data.BuffStore.Clear()
this.data.PassiveStore.Clear()
}
func (this *FightRole) ToString() string {
return fmt.Sprintf("[%s]", this.data.Name)
}

View File

@ -0,0 +1,12 @@
package passive
func NewFightCallSkillPas() IFightPassive {
return &FightCallSkillPas{}
}
/// <summary>
/// 通用调用技能和子技能
/// </summary>
type FightCallSkillPas struct {
FightPassive
}

View File

@ -0,0 +1,12 @@
package passive
type IFightPassive interface {
Clear()
}
type FightPassive struct {
}
func (this *FightPassive) Clear() {
}

View File

@ -0,0 +1,15 @@
package skill
type FightAfterSkill struct {
/// <summary>
/// 技能效果是否生效
/// </summary>
TakeEffect bool
}
/// <summary>
/// 战斗结束时的清理
/// </summary>
func (this *FightAfterSkill) Clear() {
this.TakeEffect = false
}

View File

@ -83,6 +83,13 @@ func (this *apiComp) Resonance(session comm.IUserSession, req *pb.HeroResonanceR
if code != pb.ErrorCode_Success { if code != pb.ErrorCode_Success {
return return
} }
for k, _ := range szCostHero {
if k == _hero.Id {
_hero.SameCount = _costMaphero[k].SameCount
break
}
}
if _hero.SameCount > 1 { if _hero.SameCount > 1 {
_hero.SameCount -= 1 _hero.SameCount -= 1
newHero := this.module.modelHero.CloneNewHero(_hero) newHero := this.module.modelHero.CloneNewHero(_hero)