From 89c7b550f0dbafa0f8cf41b7439c273486b3d549 Mon Sep 17 00:00:00 2001 From: VDH Date: Fri, 12 Dec 2025 18:06:48 +0700 Subject: [PATCH] convert all skill in stub1 --- .../Scripts/Managers/CECManager.cs | 2 + .../Scripts/ModelFiles/CECTaoistRank.cs | 8 + .../Scripts/Skills/SkillStubs1.cs | 482 +++++++++--------- Assets/PerfectWorld/Scripts/Skills/skill.cs | 3 +- Assets/PerfectWorld/Scripts/Skills/skill1.cs | 241 ++------- Assets/PerfectWorld/Scripts/Skills/skill10.cs | 169 ++++++ .../Scripts/Skills/skill10.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill100.cs | 161 ++++++ .../Scripts/Skills/skill100.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill101.cs | 100 ++++ .../Scripts/Skills/skill101.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill1195.cs | 162 ++++++ .../Scripts/Skills/skill1195.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill176.cs | 107 ++++ .../Scripts/Skills/skill176.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill177.cs | 176 +------ .../PerfectWorld/Scripts/Skills/skill178.cs | 176 +------ .../PerfectWorld/Scripts/Skills/skill179.cs | 120 +++++ .../Scripts/Skills/skill179.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill180.cs | 165 ++++++ .../Scripts/Skills/skill180.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill1805.cs | 150 ++++++ .../Scripts/Skills/skill1805.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill1806.cs | 149 ++++++ .../Scripts/Skills/skill1806.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill1807.cs | 152 ++++++ .../Scripts/Skills/skill1807.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill1808.cs | 150 ++++++ .../Scripts/Skills/skill1808.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill1809.cs | 150 ++++++ .../Scripts/Skills/skill1809.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill181.cs | 165 ++++++ .../Scripts/Skills/skill181.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill1815.cs | 154 ++++++ .../Scripts/Skills/skill1815.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill1816.cs | 156 ++++++ .../Scripts/Skills/skill1816.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill1817.cs | 156 ++++++ .../Scripts/Skills/skill1817.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill1818.cs | 156 ++++++ .../Scripts/Skills/skill1818.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill1819.cs | 154 ++++++ .../Scripts/Skills/skill1819.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill182.cs | 169 ++++++ .../Scripts/Skills/skill182.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill183.cs | 110 ++++ .../Scripts/Skills/skill183.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill184.cs | 166 ++++++ .../Scripts/Skills/skill184.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill1864.cs | 83 +++ .../Scripts/Skills/skill1864.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill1865.cs | 152 ++++++ .../Scripts/Skills/skill1865.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill1868.cs | 83 +++ .../Scripts/Skills/skill1868.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill187.cs | 89 ++++ .../Scripts/Skills/skill187.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill1871.cs | 155 ++++++ .../Scripts/Skills/skill1871.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill1872.cs | 83 +++ .../Scripts/Skills/skill1872.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill1873.cs | 152 ++++++ .../Scripts/Skills/skill1873.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill1874.cs | 152 ++++++ .../Scripts/Skills/skill1874.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill1951.cs | 140 +++++ .../Scripts/Skills/skill1951.cs.meta | 2 + Assets/PerfectWorld/Scripts/Skills/skill2.cs | 248 ++------- .../PerfectWorld/Scripts/Skills/skill2206.cs | 174 +++++++ .../Scripts/Skills/skill2206.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill2207.cs | 174 +++++++ .../Scripts/Skills/skill2207.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill2208.cs | 171 +++++++ .../Scripts/Skills/skill2208.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill2209.cs | 171 +++++++ .../Scripts/Skills/skill2209.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill2210.cs | 172 +++++++ .../Scripts/Skills/skill2210.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill2211.cs | 172 +++++++ .../Scripts/Skills/skill2211.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill2254.cs | 164 ++++++ .../Scripts/Skills/skill2254.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill2255.cs | 164 ++++++ .../Scripts/Skills/skill2255.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill2256.cs | 164 ++++++ .../Scripts/Skills/skill2256.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill2257.cs | 164 ++++++ .../Scripts/Skills/skill2257.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill2258.cs | 164 ++++++ .../Scripts/Skills/skill2258.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill2259.cs | 164 ++++++ .../Scripts/Skills/skill2259.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill226.cs | 140 +++++ .../Scripts/Skills/skill226.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill2260.cs | 166 ++++++ .../Scripts/Skills/skill2260.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill2261.cs | 166 ++++++ .../Scripts/Skills/skill2261.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill2262.cs | 164 ++++++ .../Scripts/Skills/skill2262.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill2263.cs | 164 ++++++ .../Scripts/Skills/skill2263.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill2264.cs | 170 ++++++ .../Scripts/Skills/skill2264.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill2265.cs | 170 ++++++ .../Scripts/Skills/skill2265.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill227.cs | 140 +++++ .../Scripts/Skills/skill227.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill228.cs | 150 ++++++ .../Scripts/Skills/skill228.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill229.cs | 150 ++++++ .../Scripts/Skills/skill229.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill2352.cs | 154 ++++++ .../Scripts/Skills/skill2352.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill2367.cs | 154 ++++++ .../Scripts/Skills/skill2367.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill2368.cs | 153 ++++++ .../Scripts/Skills/skill2368.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill2369.cs | 153 ++++++ .../Scripts/Skills/skill2369.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill2370.cs | 158 ++++++ .../Scripts/Skills/skill2370.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill2371.cs | 158 ++++++ .../Scripts/Skills/skill2371.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill2372.cs | 170 ++++++ .../Scripts/Skills/skill2372.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill2373.cs | 169 ++++++ .../Scripts/Skills/skill2373.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill2374.cs | 161 ++++++ .../Scripts/Skills/skill2374.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill2375.cs | 160 ++++++ .../Scripts/Skills/skill2375.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill2452.cs | 209 ++++++++ .../Scripts/Skills/skill2452.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill2453.cs | 209 ++++++++ .../Scripts/Skills/skill2453.cs.meta | 2 + Assets/PerfectWorld/Scripts/Skills/skill3.cs | 246 ++------- .../PerfectWorld/Scripts/Skills/skill362.cs | 140 +++++ .../Scripts/Skills/skill362.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill363.cs | 140 +++++ .../Scripts/Skills/skill363.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill364.cs | 150 ++++++ .../Scripts/Skills/skill364.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill365.cs | 150 ++++++ .../Scripts/Skills/skill365.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill374.cs | 162 ++++++ .../Scripts/Skills/skill374.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill375.cs | 158 ++++++ .../Scripts/Skills/skill375.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill376.cs | 165 ++++++ .../Scripts/Skills/skill376.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill377.cs | 165 ++++++ .../Scripts/Skills/skill377.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill378.cs | 158 ++++++ .../Scripts/Skills/skill378.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill379.cs | 162 ++++++ .../Scripts/Skills/skill379.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill380.cs | 162 ++++++ .../Scripts/Skills/skill380.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill381.cs | 162 ++++++ .../Scripts/Skills/skill381.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill382.cs | 158 ++++++ .../Scripts/Skills/skill382.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill383.cs | 158 ++++++ .../Scripts/Skills/skill383.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill384.cs | 162 ++++++ .../Scripts/Skills/skill384.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill385.cs | 162 ++++++ .../Scripts/Skills/skill385.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill386.cs | 158 ++++++ .../Scripts/Skills/skill386.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill387.cs | 158 ++++++ .../Scripts/Skills/skill387.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill388.cs | 158 ++++++ .../Scripts/Skills/skill388.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill389.cs | 162 ++++++ .../Scripts/Skills/skill389.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill390.cs | 167 ++++++ .../Scripts/Skills/skill390.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill391.cs | 166 ++++++ .../Scripts/Skills/skill391.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill392.cs | 166 ++++++ .../Scripts/Skills/skill392.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill393.cs | 166 ++++++ .../Scripts/Skills/skill393.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill394.cs | 166 ++++++ .../Scripts/Skills/skill394.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill395.cs | 166 ++++++ .../Scripts/Skills/skill395.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill396.cs | 167 ++++++ .../Scripts/Skills/skill396.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill397.cs | 166 ++++++ .../Scripts/Skills/skill397.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill398.cs | 169 ++++++ .../Scripts/Skills/skill398.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill399.cs | 168 ++++++ .../Scripts/Skills/skill399.cs.meta | 2 + Assets/PerfectWorld/Scripts/Skills/skill4.cs | 246 ++------- .../PerfectWorld/Scripts/Skills/skill400.cs | 164 ++++++ .../Scripts/Skills/skill400.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill401.cs | 164 ++++++ .../Scripts/Skills/skill401.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill402.cs | 165 ++++++ .../Scripts/Skills/skill402.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill403.cs | 165 ++++++ .../Scripts/Skills/skill403.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill404.cs | 166 ++++++ .../Scripts/Skills/skill404.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill405.cs | 166 ++++++ .../Scripts/Skills/skill405.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill406.cs | 167 ++++++ .../Scripts/Skills/skill406.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill407.cs | 166 ++++++ .../Scripts/Skills/skill407.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill408.cs | 165 ++++++ .../Scripts/Skills/skill408.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill409.cs | 165 ++++++ .../Scripts/Skills/skill409.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill410.cs | 165 ++++++ .../Scripts/Skills/skill410.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill411.cs | 165 ++++++ .../Scripts/Skills/skill411.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill412.cs | 166 ++++++ .../Scripts/Skills/skill412.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill413.cs | 165 ++++++ .../Scripts/Skills/skill413.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill414.cs | 167 ++++++ .../Scripts/Skills/skill414.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill415.cs | 166 ++++++ .../Scripts/Skills/skill415.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill416.cs | 165 ++++++ .../Scripts/Skills/skill416.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill417.cs | 166 ++++++ .../Scripts/Skills/skill417.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill418.cs | 166 ++++++ .../Scripts/Skills/skill418.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill419.cs | 165 ++++++ .../Scripts/Skills/skill419.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill420.cs | 167 ++++++ .../Scripts/Skills/skill420.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill421.cs | 166 ++++++ .../Scripts/Skills/skill421.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill422.cs | 167 ++++++ .../Scripts/Skills/skill422.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill423.cs | 167 ++++++ .../Scripts/Skills/skill423.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill424.cs | 168 ++++++ .../Scripts/Skills/skill424.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill425.cs | 167 ++++++ .../Scripts/Skills/skill425.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill426.cs | 117 +++++ .../Scripts/Skills/skill426.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill427.cs | 117 +++++ .../Scripts/Skills/skill427.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill428.cs | 117 +++++ .../Scripts/Skills/skill428.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill429.cs | 117 +++++ .../Scripts/Skills/skill429.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill430.cs | 130 +++++ .../Scripts/Skills/skill430.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill431.cs | 130 +++++ .../Scripts/Skills/skill431.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill432.cs | 104 ++++ .../Scripts/Skills/skill432.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill433.cs | 104 ++++ .../Scripts/Skills/skill433.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill434.cs | 104 ++++ .../Scripts/Skills/skill434.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill435.cs | 104 ++++ .../Scripts/Skills/skill435.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill436.cs | 104 ++++ .../Scripts/Skills/skill436.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill437.cs | 104 ++++ .../Scripts/Skills/skill437.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill438.cs | 104 ++++ .../Scripts/Skills/skill438.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill439.cs | 104 ++++ .../Scripts/Skills/skill439.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill440.cs | 166 ++++++ .../Scripts/Skills/skill440.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill441.cs | 165 ++++++ .../Scripts/Skills/skill441.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill442.cs | 163 ++++++ .../Scripts/Skills/skill442.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill443.cs | 163 ++++++ .../Scripts/Skills/skill443.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill444.cs | 169 ++++++ .../Scripts/Skills/skill444.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill445.cs | 169 ++++++ .../Scripts/Skills/skill445.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill446.cs | 166 ++++++ .../Scripts/Skills/skill446.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill447.cs | 165 ++++++ .../Scripts/Skills/skill447.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill448.cs | 184 +++++++ .../Scripts/Skills/skill448.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill449.cs | 184 +++++++ .../Scripts/Skills/skill449.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill450.cs | 166 ++++++ .../Scripts/Skills/skill450.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill451.cs | 166 ++++++ .../Scripts/Skills/skill451.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill452.cs | 166 ++++++ .../Scripts/Skills/skill452.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill453.cs | 167 ++++++ .../Scripts/Skills/skill453.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill454.cs | 169 ++++++ .../Scripts/Skills/skill454.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill455.cs | 169 ++++++ .../Scripts/Skills/skill455.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill456.cs | 166 ++++++ .../Scripts/Skills/skill456.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill457.cs | 166 ++++++ .../Scripts/Skills/skill457.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill458.cs | 163 ++++++ .../Scripts/Skills/skill458.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill459.cs | 163 ++++++ .../Scripts/Skills/skill459.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill460.cs | 167 ++++++ .../Scripts/Skills/skill460.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill461.cs | 167 ++++++ .../Scripts/Skills/skill461.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill462.cs | 163 ++++++ .../Scripts/Skills/skill462.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill463.cs | 163 ++++++ .../Scripts/Skills/skill463.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill464.cs | 127 +++++ .../Scripts/Skills/skill464.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill465.cs | 127 +++++ .../Scripts/Skills/skill465.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill466.cs | 163 ++++++ .../Scripts/Skills/skill466.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill467.cs | 163 ++++++ .../Scripts/Skills/skill467.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill468.cs | 166 ++++++ .../Scripts/Skills/skill468.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill469.cs | 166 ++++++ .../Scripts/Skills/skill469.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill470.cs | 167 ++++++ .../Scripts/Skills/skill470.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill471.cs | 167 ++++++ .../Scripts/Skills/skill471.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill472.cs | 165 ++++++ .../Scripts/Skills/skill472.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill473.cs | 166 ++++++ .../Scripts/Skills/skill473.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill474.cs | 163 ++++++ .../Scripts/Skills/skill474.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill475.cs | 163 ++++++ .../Scripts/Skills/skill475.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill476.cs | 166 ++++++ .../Scripts/Skills/skill476.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill477.cs | 166 ++++++ .../Scripts/Skills/skill477.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill478.cs | 162 ++++++ .../Scripts/Skills/skill478.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill479.cs | 162 ++++++ .../Scripts/Skills/skill479.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill480.cs | 166 ++++++ .../Scripts/Skills/skill480.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill481.cs | 166 ++++++ .../Scripts/Skills/skill481.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill482.cs | 163 ++++++ .../Scripts/Skills/skill482.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill483.cs | 163 ++++++ .../Scripts/Skills/skill483.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill484.cs | 167 ++++++ .../Scripts/Skills/skill484.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill485.cs | 166 ++++++ .../Scripts/Skills/skill485.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill486.cs | 104 ++++ .../Scripts/Skills/skill486.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill487.cs | 104 ++++ .../Scripts/Skills/skill487.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill488.cs | 104 ++++ .../Scripts/Skills/skill488.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill489.cs | 104 ++++ .../Scripts/Skills/skill489.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill490.cs | 104 ++++ .../Scripts/Skills/skill490.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill491.cs | 104 ++++ .../Scripts/Skills/skill491.cs.meta | 2 + Assets/PerfectWorld/Scripts/Skills/skill5.cs | 247 ++------- Assets/PerfectWorld/Scripts/Skills/skill53.cs | 100 ++++ .../Scripts/Skills/skill53.cs.meta | 2 + Assets/PerfectWorld/Scripts/Skills/skill54.cs | 273 ++-------- Assets/PerfectWorld/Scripts/Skills/skill55.cs | 156 ++++++ .../Scripts/Skills/skill55.cs.meta | 2 + Assets/PerfectWorld/Scripts/Skills/skill56.cs | 267 ++-------- Assets/PerfectWorld/Scripts/Skills/skill57.cs | 265 ++-------- Assets/PerfectWorld/Scripts/Skills/skill58.cs | 268 ++-------- Assets/PerfectWorld/Scripts/Skills/skill59.cs | 249 ++------- Assets/PerfectWorld/Scripts/Skills/skill6.cs | 101 ++-- Assets/PerfectWorld/Scripts/Skills/skill60.cs | 164 ++++++ .../Scripts/Skills/skill60.cs.meta | 2 + Assets/PerfectWorld/Scripts/Skills/skill61.cs | 160 ++++++ .../Scripts/Skills/skill61.cs.meta | 2 + Assets/PerfectWorld/Scripts/Skills/skill62.cs | 166 ++++++ .../Scripts/Skills/skill62.cs.meta | 2 + Assets/PerfectWorld/Scripts/Skills/skill63.cs | 166 ++++++ .../Scripts/Skills/skill63.cs.meta | 2 + Assets/PerfectWorld/Scripts/Skills/skill64.cs | 165 ++++++ .../Scripts/Skills/skill64.cs.meta | 2 + Assets/PerfectWorld/Scripts/Skills/skill65.cs | 161 ++++++ .../Scripts/Skills/skill65.cs.meta | 2 + Assets/PerfectWorld/Scripts/Skills/skill66.cs | 165 ++++++ .../Scripts/Skills/skill66.cs.meta | 2 + Assets/PerfectWorld/Scripts/Skills/skill67.cs | 165 ++++++ .../Scripts/Skills/skill67.cs.meta | 2 + Assets/PerfectWorld/Scripts/Skills/skill68.cs | 166 ++++++ .../Scripts/Skills/skill68.cs.meta | 2 + Assets/PerfectWorld/Scripts/Skills/skill69.cs | 165 ++++++ .../Scripts/Skills/skill69.cs.meta | 2 + Assets/PerfectWorld/Scripts/Skills/skill7.cs | 164 ++++++ .../Scripts/Skills/skill7.cs.meta | 2 + Assets/PerfectWorld/Scripts/Skills/skill70.cs | 160 ++++++ .../Scripts/Skills/skill70.cs.meta | 2 + Assets/PerfectWorld/Scripts/Skills/skill71.cs | 165 ++++++ .../Scripts/Skills/skill71.cs.meta | 2 + Assets/PerfectWorld/Scripts/Skills/skill72.cs | 164 ++++++ .../Scripts/Skills/skill72.cs.meta | 2 + Assets/PerfectWorld/Scripts/Skills/skill73.cs | 160 ++++++ .../Scripts/Skills/skill73.cs.meta | 2 + Assets/PerfectWorld/Scripts/Skills/skill74.cs | 165 ++++++ .../Scripts/Skills/skill74.cs.meta | 2 + Assets/PerfectWorld/Scripts/Skills/skill75.cs | 166 ++++++ .../Scripts/Skills/skill75.cs.meta | 2 + Assets/PerfectWorld/Scripts/Skills/skill76.cs | 182 ++----- Assets/PerfectWorld/Scripts/Skills/skill77.cs | 253 ++------- Assets/PerfectWorld/Scripts/Skills/skill78.cs | 102 ++++ .../Scripts/Skills/skill78.cs.meta | 2 + Assets/PerfectWorld/Scripts/Skills/skill79.cs | 102 ++++ .../Scripts/Skills/skill79.cs.meta | 2 + Assets/PerfectWorld/Scripts/Skills/skill8.cs | 162 ++++++ .../Scripts/Skills/skill8.cs.meta | 2 + Assets/PerfectWorld/Scripts/Skills/skill80.cs | 102 ++++ .../Scripts/Skills/skill80.cs.meta | 2 + Assets/PerfectWorld/Scripts/Skills/skill81.cs | 168 ++++++ .../Scripts/Skills/skill81.cs.meta | 2 + Assets/PerfectWorld/Scripts/Skills/skill84.cs | 170 ++++++ .../Scripts/Skills/skill84.cs.meta | 2 + Assets/PerfectWorld/Scripts/Skills/skill85.cs | 168 ++++++ .../Scripts/Skills/skill85.cs.meta | 2 + Assets/PerfectWorld/Scripts/Skills/skill86.cs | 185 +++++++ .../Scripts/Skills/skill86.cs.meta | 2 + Assets/PerfectWorld/Scripts/Skills/skill87.cs | 172 +++++++ .../Scripts/Skills/skill87.cs.meta | 2 + Assets/PerfectWorld/Scripts/Skills/skill88.cs | 171 +++++++ .../Scripts/Skills/skill88.cs.meta | 2 + Assets/PerfectWorld/Scripts/Skills/skill89.cs | 128 +++++ .../Scripts/Skills/skill89.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill896.cs | 131 +++++ .../Scripts/Skills/skill896.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill897.cs | 163 ++++++ .../Scripts/Skills/skill897.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill898.cs | 172 +++++++ .../Scripts/Skills/skill898.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill899.cs | 166 ++++++ .../Scripts/Skills/skill899.cs.meta | 2 + Assets/PerfectWorld/Scripts/Skills/skill9.cs | 101 ++++ .../Scripts/Skills/skill9.cs.meta | 2 + Assets/PerfectWorld/Scripts/Skills/skill90.cs | 166 ++++++ .../Scripts/Skills/skill90.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill900.cs | 167 ++++++ .../Scripts/Skills/skill900.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill901.cs | 148 ++++++ .../Scripts/Skills/skill901.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill902.cs | 165 ++++++ .../Scripts/Skills/skill902.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill903.cs | 125 +++++ .../Scripts/Skills/skill903.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill904.cs | 113 ++++ .../Scripts/Skills/skill904.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill905.cs | 165 ++++++ .../Scripts/Skills/skill905.cs.meta | 2 + Assets/PerfectWorld/Scripts/Skills/skill91.cs | 165 ++++++ .../Scripts/Skills/skill91.cs.meta | 2 + Assets/PerfectWorld/Scripts/Skills/skill92.cs | 171 +++++++ .../Scripts/Skills/skill92.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill923.cs | 166 ++++++ .../Scripts/Skills/skill923.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill924.cs | 167 ++++++ .../Scripts/Skills/skill924.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill925.cs | 148 ++++++ .../Scripts/Skills/skill925.cs.meta | 2 + .../PerfectWorld/Scripts/Skills/skill926.cs | 165 ++++++ .../Scripts/Skills/skill926.cs.meta | 2 + Assets/PerfectWorld/Scripts/Skills/skill93.cs | 172 +++++++ .../Scripts/Skills/skill93.cs.meta | 2 + Assets/PerfectWorld/Scripts/Skills/skill94.cs | 158 ++++++ .../Scripts/Skills/skill94.cs.meta | 2 + Assets/PerfectWorld/Scripts/Skills/skill95.cs | 139 +++++ .../Scripts/Skills/skill95.cs.meta | 2 + Assets/PerfectWorld/Scripts/Skills/skill96.cs | 165 ++++++ .../Scripts/Skills/skill96.cs.meta | 2 + Assets/PerfectWorld/Scripts/Skills/skill97.cs | 168 ++++++ .../Scripts/Skills/skill97.cs.meta | 2 + Assets/PerfectWorld/Scripts/Skills/skill98.cs | 170 ++++++ .../Scripts/Skills/skill98.cs.meta | 2 + Assets/PerfectWorld/Scripts/Skills/skill99.cs | 171 +++++++ .../Scripts/Skills/skill99.cs.meta | 2 + .../Scripts/UI/Dialogs/CDlgSkillSubList.cs | 14 +- .../UI/GamePlay/SkillUI/AUISubDialog.cs | 2 + Assets/PerfectWorld/Scripts/World/CECWorld.cs | 1 + Assets/Scenes/a61.unity | 4 +- .../LiberationSans SDF - Fallback.asset | 247 +-------- 506 files changed, 38651 insertions(+), 3305 deletions(-) create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill10.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill10.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill100.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill100.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill101.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill101.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill1195.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill1195.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill176.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill176.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill179.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill179.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill180.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill180.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill1805.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill1805.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill1806.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill1806.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill1807.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill1807.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill1808.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill1808.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill1809.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill1809.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill181.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill181.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill1815.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill1815.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill1816.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill1816.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill1817.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill1817.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill1818.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill1818.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill1819.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill1819.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill182.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill182.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill183.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill183.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill184.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill184.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill1864.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill1864.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill1865.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill1865.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill1868.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill1868.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill187.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill187.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill1871.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill1871.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill1872.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill1872.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill1873.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill1873.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill1874.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill1874.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill1951.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill1951.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill2206.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill2206.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill2207.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill2207.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill2208.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill2208.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill2209.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill2209.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill2210.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill2210.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill2211.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill2211.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill2254.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill2254.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill2255.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill2255.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill2256.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill2256.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill2257.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill2257.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill2258.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill2258.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill2259.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill2259.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill226.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill226.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill2260.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill2260.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill2261.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill2261.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill2262.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill2262.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill2263.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill2263.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill2264.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill2264.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill2265.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill2265.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill227.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill227.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill228.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill228.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill229.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill229.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill2352.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill2352.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill2367.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill2367.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill2368.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill2368.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill2369.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill2369.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill2370.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill2370.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill2371.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill2371.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill2372.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill2372.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill2373.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill2373.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill2374.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill2374.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill2375.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill2375.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill2452.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill2452.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill2453.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill2453.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill362.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill362.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill363.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill363.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill364.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill364.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill365.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill365.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill374.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill374.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill375.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill375.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill376.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill376.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill377.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill377.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill378.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill378.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill379.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill379.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill380.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill380.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill381.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill381.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill382.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill382.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill383.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill383.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill384.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill384.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill385.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill385.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill386.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill386.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill387.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill387.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill388.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill388.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill389.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill389.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill390.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill390.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill391.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill391.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill392.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill392.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill393.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill393.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill394.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill394.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill395.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill395.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill396.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill396.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill397.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill397.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill398.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill398.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill399.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill399.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill400.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill400.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill401.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill401.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill402.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill402.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill403.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill403.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill404.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill404.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill405.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill405.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill406.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill406.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill407.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill407.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill408.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill408.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill409.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill409.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill410.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill410.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill411.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill411.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill412.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill412.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill413.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill413.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill414.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill414.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill415.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill415.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill416.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill416.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill417.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill417.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill418.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill418.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill419.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill419.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill420.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill420.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill421.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill421.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill422.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill422.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill423.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill423.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill424.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill424.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill425.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill425.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill426.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill426.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill427.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill427.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill428.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill428.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill429.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill429.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill430.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill430.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill431.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill431.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill432.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill432.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill433.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill433.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill434.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill434.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill435.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill435.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill436.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill436.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill437.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill437.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill438.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill438.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill439.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill439.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill440.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill440.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill441.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill441.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill442.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill442.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill443.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill443.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill444.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill444.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill445.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill445.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill446.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill446.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill447.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill447.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill448.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill448.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill449.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill449.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill450.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill450.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill451.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill451.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill452.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill452.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill453.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill453.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill454.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill454.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill455.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill455.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill456.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill456.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill457.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill457.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill458.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill458.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill459.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill459.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill460.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill460.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill461.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill461.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill462.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill462.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill463.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill463.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill464.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill464.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill465.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill465.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill466.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill466.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill467.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill467.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill468.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill468.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill469.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill469.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill470.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill470.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill471.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill471.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill472.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill472.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill473.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill473.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill474.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill474.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill475.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill475.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill476.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill476.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill477.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill477.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill478.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill478.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill479.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill479.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill480.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill480.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill481.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill481.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill482.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill482.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill483.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill483.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill484.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill484.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill485.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill485.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill486.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill486.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill487.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill487.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill488.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill488.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill489.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill489.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill490.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill490.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill491.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill491.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill53.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill53.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill55.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill55.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill60.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill60.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill61.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill61.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill62.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill62.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill63.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill63.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill64.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill64.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill65.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill65.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill66.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill66.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill67.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill67.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill68.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill68.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill69.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill69.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill7.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill7.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill70.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill70.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill71.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill71.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill72.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill72.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill73.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill73.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill74.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill74.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill75.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill75.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill78.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill78.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill79.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill79.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill8.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill8.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill80.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill80.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill81.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill81.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill84.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill84.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill85.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill85.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill86.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill86.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill87.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill87.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill88.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill88.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill89.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill89.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill896.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill896.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill897.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill897.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill898.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill898.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill899.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill899.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill9.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill9.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill90.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill90.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill900.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill900.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill901.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill901.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill902.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill902.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill903.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill903.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill904.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill904.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill905.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill905.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill91.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill91.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill92.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill92.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill923.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill923.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill924.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill924.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill925.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill925.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill926.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill926.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill93.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill93.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill94.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill94.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill95.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill95.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill96.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill96.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill97.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill97.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill98.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill98.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill99.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/skill99.cs.meta diff --git a/Assets/PerfectWorld/Scripts/Managers/CECManager.cs b/Assets/PerfectWorld/Scripts/Managers/CECManager.cs index df351edb39..aaf6a7d158 100644 --- a/Assets/PerfectWorld/Scripts/Managers/CECManager.cs +++ b/Assets/PerfectWorld/Scripts/Managers/CECManager.cs @@ -128,6 +128,8 @@ namespace BrewMonster.Managers + + diff --git a/Assets/PerfectWorld/Scripts/ModelFiles/CECTaoistRank.cs b/Assets/PerfectWorld/Scripts/ModelFiles/CECTaoistRank.cs index fbc715303f..93a73831bc 100644 --- a/Assets/PerfectWorld/Scripts/ModelFiles/CECTaoistRank.cs +++ b/Assets/PerfectWorld/Scripts/ModelFiles/CECTaoistRank.cs @@ -13,6 +13,14 @@ namespace BrewMonster public static CECTaoistRank[] s_allTaoistRanks = new CECTaoistRank[(int)ToaistRank.TotalRankCount]; public static readonly int[] TaoistRankIDs = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 20, 21, 22, 30, 31, 32 }; +#if UNITY_EDITOR + [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)] + private static void OnPlay() + { + initComplete = false; + CECTaoistRank[] s_allTaoistRanks = new CECTaoistRank[(int)ToaistRank.TotalRankCount]; + } +#endif public int GetID() { return m_id; diff --git a/Assets/PerfectWorld/Scripts/Skills/SkillStubs1.cs b/Assets/PerfectWorld/Scripts/Skills/SkillStubs1.cs index 6d431b3444..80f9dab211 100644 --- a/Assets/PerfectWorld/Scripts/Skills/SkillStubs1.cs +++ b/Assets/PerfectWorld/Scripts/Skills/SkillStubs1.cs @@ -14,255 +14,255 @@ namespace BrewMonster public static Skill5Stub __stub_Skill5Stub = new Skill5Stub(); public static Skill6Stub __stub_Skill6Stub = new Skill6Stub(); public static Skill54Stub __stub_Skill54Stub = new Skill54Stub(); - //public static Skill55Stub __stub_Skill55Stub = new Skill55Stub(); + public static Skill55Stub __stub_Skill55Stub = new Skill55Stub(); public static Skill56Stub __stub_Skill56Stub = new Skill56Stub(); public static Skill57Stub __stub_Skill57Stub = new Skill57Stub(); public static Skill58Stub __stub_Skill58Stub = new Skill58Stub(); public static Skill59Stub __stub_Skill59Stub = new Skill59Stub(); - //public static Skill60Stub __stub_Skill60Stub = new Skill60Stub(); - //public static Skill61Stub __stub_Skill61Stub = new Skill61Stub(); - //public static Skill62Stub __stub_Skill62Stub = new Skill62Stub(); - //public static Skill63Stub __stub_Skill63Stub = new Skill63Stub(); - //public static Skill64Stub __stub_Skill64Stub = new Skill64Stub(); - //public static Skill65Stub __stub_Skill65Stub = new Skill65Stub(); - //public static Skill66Stub __stub_Skill66Stub = new Skill66Stub(); - //public static Skill67Stub __stub_Skill67Stub = new Skill67Stub(); - //public static Skill68Stub __stub_Skill68Stub = new Skill68Stub(); - //public static Skill69Stub __stub_Skill69Stub = new Skill69Stub(); - //public static Skill70Stub __stub_Skill70Stub = new Skill70Stub(); - //public static Skill71Stub __stub_Skill71Stub = new Skill71Stub(); - //public static Skill72Stub __stub_Skill72Stub = new Skill72Stub(); - //public static Skill73Stub __stub_Skill73Stub = new Skill73Stub(); - //public static Skill74Stub __stub_Skill74Stub = new Skill74Stub(); - //public static Skill75Stub __stub_Skill75Stub = new Skill75Stub(); + public static Skill60Stub __stub_Skill60Stub = new Skill60Stub(); + public static Skill61Stub __stub_Skill61Stub = new Skill61Stub(); + public static Skill62Stub __stub_Skill62Stub = new Skill62Stub(); + public static Skill63Stub __stub_Skill63Stub = new Skill63Stub(); + public static Skill64Stub __stub_Skill64Stub = new Skill64Stub(); + public static Skill65Stub __stub_Skill65Stub = new Skill65Stub(); + public static Skill66Stub __stub_Skill66Stub = new Skill66Stub(); + public static Skill67Stub __stub_Skill67Stub = new Skill67Stub(); + public static Skill68Stub __stub_Skill68Stub = new Skill68Stub(); + public static Skill69Stub __stub_Skill69Stub = new Skill69Stub(); + public static Skill70Stub __stub_Skill70Stub = new Skill70Stub(); + public static Skill71Stub __stub_Skill71Stub = new Skill71Stub(); + public static Skill72Stub __stub_Skill72Stub = new Skill72Stub(); + public static Skill73Stub __stub_Skill73Stub = new Skill73Stub(); + public static Skill74Stub __stub_Skill74Stub = new Skill74Stub(); + public static Skill75Stub __stub_Skill75Stub = new Skill75Stub(); public static Skill76Stub __stub_Skill76Stub = new Skill76Stub(); public static Skill77Stub __stub_Skill77Stub = new Skill77Stub(); - //public static Skill78Stub __stub_Skill78Stub = new Skill78Stub(); - //public static Skill79Stub __stub_Skill79Stub = new Skill79Stub(); - //public static Skill80Stub __stub_Skill80Stub = new Skill80Stub(); - //public static Skill176Stub __stub_Skill176Stub = new Skill176Stub(); + public static Skill78Stub __stub_Skill78Stub = new Skill78Stub(); + public static Skill79Stub __stub_Skill79Stub = new Skill79Stub(); + public static Skill80Stub __stub_Skill80Stub = new Skill80Stub(); + public static Skill176Stub __stub_Skill176Stub = new Skill176Stub(); public static Skill177Stub __stub_Skill177Stub = new Skill177Stub(); public static Skill178Stub __stub_Skill178Stub = new Skill178Stub(); - //public static Skill179Stub __stub_Skill179Stub = new Skill179Stub(); - //public static Skill187Stub __stub_Skill187Stub = new Skill187Stub(); - //public static Skill226Stub __stub_Skill226Stub = new Skill226Stub(); - //public static Skill227Stub __stub_Skill227Stub = new Skill227Stub(); - //public static Skill362Stub __stub_Skill362Stub = new Skill362Stub(); - //public static Skill363Stub __stub_Skill363Stub = new Skill363Stub(); - //public static Skill374Stub __stub_Skill374Stub = new Skill374Stub(); - //public static Skill375Stub __stub_Skill375Stub = new Skill375Stub(); - //public static Skill376Stub __stub_Skill376Stub = new Skill376Stub(); - //public static Skill377Stub __stub_Skill377Stub = new Skill377Stub(); - //public static Skill378Stub __stub_Skill378Stub = new Skill378Stub(); - //public static Skill379Stub __stub_Skill379Stub = new Skill379Stub(); - //public static Skill380Stub __stub_Skill380Stub = new Skill380Stub(); - //public static Skill381Stub __stub_Skill381Stub = new Skill381Stub(); - //public static Skill382Stub __stub_Skill382Stub = new Skill382Stub(); - //public static Skill383Stub __stub_Skill383Stub = new Skill383Stub(); - //public static Skill384Stub __stub_Skill384Stub = new Skill384Stub(); - //public static Skill385Stub __stub_Skill385Stub = new Skill385Stub(); - //public static Skill386Stub __stub_Skill386Stub = new Skill386Stub(); - //public static Skill387Stub __stub_Skill387Stub = new Skill387Stub(); - //public static Skill388Stub __stub_Skill388Stub = new Skill388Stub(); - //public static Skill389Stub __stub_Skill389Stub = new Skill389Stub(); - //public static Skill390Stub __stub_Skill390Stub = new Skill390Stub(); - //public static Skill391Stub __stub_Skill391Stub = new Skill391Stub(); - //public static Skill392Stub __stub_Skill392Stub = new Skill392Stub(); - //public static Skill393Stub __stub_Skill393Stub = new Skill393Stub(); - //public static Skill394Stub __stub_Skill394Stub = new Skill394Stub(); - //public static Skill395Stub __stub_Skill395Stub = new Skill395Stub(); - //public static Skill396Stub __stub_Skill396Stub = new Skill396Stub(); - //public static Skill397Stub __stub_Skill397Stub = new Skill397Stub(); - //public static Skill398Stub __stub_Skill398Stub = new Skill398Stub(); - //public static Skill399Stub __stub_Skill399Stub = new Skill399Stub(); - //public static Skill400Stub __stub_Skill400Stub = new Skill400Stub(); - //public static Skill401Stub __stub_Skill401Stub = new Skill401Stub(); - //public static Skill402Stub __stub_Skill402Stub = new Skill402Stub(); - //public static Skill403Stub __stub_Skill403Stub = new Skill403Stub(); - //public static Skill404Stub __stub_Skill404Stub = new Skill404Stub(); - //public static Skill405Stub __stub_Skill405Stub = new Skill405Stub(); - //public static Skill406Stub __stub_Skill406Stub = new Skill406Stub(); - //public static Skill407Stub __stub_Skill407Stub = new Skill407Stub(); - //public static Skill408Stub __stub_Skill408Stub = new Skill408Stub(); - //public static Skill409Stub __stub_Skill409Stub = new Skill409Stub(); - //public static Skill410Stub __stub_Skill410Stub = new Skill410Stub(); - //public static Skill411Stub __stub_Skill411Stub = new Skill411Stub(); - //public static Skill412Stub __stub_Skill412Stub = new Skill412Stub(); - //public static Skill413Stub __stub_Skill413Stub = new Skill413Stub(); - //public static Skill414Stub __stub_Skill414Stub = new Skill414Stub(); - //public static Skill415Stub __stub_Skill415Stub = new Skill415Stub(); - //public static Skill416Stub __stub_Skill416Stub = new Skill416Stub(); - //public static Skill417Stub __stub_Skill417Stub = new Skill417Stub(); - //public static Skill418Stub __stub_Skill418Stub = new Skill418Stub(); - //public static Skill419Stub __stub_Skill419Stub = new Skill419Stub(); - //public static Skill420Stub __stub_Skill420Stub = new Skill420Stub(); - //public static Skill421Stub __stub_Skill421Stub = new Skill421Stub(); - //public static Skill422Stub __stub_Skill422Stub = new Skill422Stub(); - //public static Skill423Stub __stub_Skill423Stub = new Skill423Stub(); - //public static Skill424Stub __stub_Skill424Stub = new Skill424Stub(); - //public static Skill425Stub __stub_Skill425Stub = new Skill425Stub(); - //public static Skill426Stub __stub_Skill426Stub = new Skill426Stub(); - //public static Skill427Stub __stub_Skill427Stub = new Skill427Stub(); - //public static Skill428Stub __stub_Skill428Stub = new Skill428Stub(); - //public static Skill429Stub __stub_Skill429Stub = new Skill429Stub(); - //public static Skill430Stub __stub_Skill430Stub = new Skill430Stub(); - //public static Skill431Stub __stub_Skill431Stub = new Skill431Stub(); - //public static Skill432Stub __stub_Skill432Stub = new Skill432Stub(); - //public static Skill433Stub __stub_Skill433Stub = new Skill433Stub(); - //public static Skill434Stub __stub_Skill434Stub = new Skill434Stub(); - //public static Skill435Stub __stub_Skill435Stub = new Skill435Stub(); - //public static Skill436Stub __stub_Skill436Stub = new Skill436Stub(); - //public static Skill437Stub __stub_Skill437Stub = new Skill437Stub(); - //public static Skill438Stub __stub_Skill438Stub = new Skill438Stub(); - //public static Skill439Stub __stub_Skill439Stub = new Skill439Stub(); - //public static Skill896Stub __stub_Skill896Stub = new Skill896Stub(); - //public static Skill897Stub __stub_Skill897Stub = new Skill897Stub(); - //public static Skill898Stub __stub_Skill898Stub = new Skill898Stub(); - //public static Skill899Stub __stub_Skill899Stub = new Skill899Stub(); - //public static Skill900Stub __stub_Skill900Stub = new Skill900Stub(); - //public static Skill923Stub __stub_Skill923Stub = new Skill923Stub(); - //public static Skill924Stub __stub_Skill924Stub = new Skill924Stub(); - //public static Skill1195Stub __stub_Skill1195Stub = new Skill1195Stub(); - //public static Skill1815Stub __stub_Skill1815Stub = new Skill1815Stub(); - //public static Skill1816Stub __stub_Skill1816Stub = new Skill1816Stub(); - //public static Skill1817Stub __stub_Skill1817Stub = new Skill1817Stub(); - //public static Skill1818Stub __stub_Skill1818Stub = new Skill1818Stub(); - //public static Skill1819Stub __stub_Skill1819Stub = new Skill1819Stub(); - //public static Skill1868Stub __stub_Skill1868Stub = new Skill1868Stub(); - //public static Skill1871Stub __stub_Skill1871Stub = new Skill1871Stub(); - //public static Skill1872Stub __stub_Skill1872Stub = new Skill1872Stub(); - //public static Skill2206Stub __stub_Skill2206Stub = new Skill2206Stub(); - //public static Skill2207Stub __stub_Skill2207Stub = new Skill2207Stub(); - //public static Skill2208Stub __stub_Skill2208Stub = new Skill2208Stub(); - //public static Skill2209Stub __stub_Skill2209Stub = new Skill2209Stub(); - //public static Skill2210Stub __stub_Skill2210Stub = new Skill2210Stub(); - //public static Skill2211Stub __stub_Skill2211Stub = new Skill2211Stub(); - //public static Skill2352Stub __stub_Skill2352Stub = new Skill2352Stub(); - //public static Skill2367Stub __stub_Skill2367Stub = new Skill2367Stub(); - //public static Skill2368Stub __stub_Skill2368Stub = new Skill2368Stub(); - //public static Skill2369Stub __stub_Skill2369Stub = new Skill2369Stub(); - //public static Skill2370Stub __stub_Skill2370Stub = new Skill2370Stub(); - //public static Skill2371Stub __stub_Skill2371Stub = new Skill2371Stub(); - //public static Skill2372Stub __stub_Skill2372Stub = new Skill2372Stub(); - //public static Skill2373Stub __stub_Skill2373Stub = new Skill2373Stub(); - //public static Skill2374Stub __stub_Skill2374Stub = new Skill2374Stub(); - //public static Skill2375Stub __stub_Skill2375Stub = new Skill2375Stub(); - //public static Skill7Stub __stub_Skill7Stub = new Skill7Stub(); - //public static Skill8Stub __stub_Skill8Stub = new Skill8Stub(); - //public static Skill9Stub __stub_Skill9Stub = new Skill9Stub(); - //public static Skill10Stub __stub_Skill10Stub = new Skill10Stub(); - //public static Skill53Stub __stub_Skill53Stub = new Skill53Stub(); - //public static Skill81Stub __stub_Skill81Stub = new Skill81Stub(); - //public static Skill84Stub __stub_Skill84Stub = new Skill84Stub(); - //public static Skill85Stub __stub_Skill85Stub = new Skill85Stub(); - //public static Skill86Stub __stub_Skill86Stub = new Skill86Stub(); - //public static Skill87Stub __stub_Skill87Stub = new Skill87Stub(); - //public static Skill88Stub __stub_Skill88Stub = new Skill88Stub(); - //public static Skill89Stub __stub_Skill89Stub = new Skill89Stub(); - //public static Skill90Stub __stub_Skill90Stub = new Skill90Stub(); - //public static Skill91Stub __stub_Skill91Stub = new Skill91Stub(); - //public static Skill92Stub __stub_Skill92Stub = new Skill92Stub(); - //public static Skill93Stub __stub_Skill93Stub = new Skill93Stub(); - //public static Skill94Stub __stub_Skill94Stub = new Skill94Stub(); - //public static Skill95Stub __stub_Skill95Stub = new Skill95Stub(); - //public static Skill96Stub __stub_Skill96Stub = new Skill96Stub(); - //public static Skill97Stub __stub_Skill97Stub = new Skill97Stub(); - //public static Skill98Stub __stub_Skill98Stub = new Skill98Stub(); - //public static Skill99Stub __stub_Skill99Stub = new Skill99Stub(); - //public static Skill100Stub __stub_Skill100Stub = new Skill100Stub(); - //public static Skill101Stub __stub_Skill101Stub = new Skill101Stub(); - //public static Skill180Stub __stub_Skill180Stub = new Skill180Stub(); - //public static Skill181Stub __stub_Skill181Stub = new Skill181Stub(); - //public static Skill182Stub __stub_Skill182Stub = new Skill182Stub(); - //public static Skill183Stub __stub_Skill183Stub = new Skill183Stub(); - //public static Skill184Stub __stub_Skill184Stub = new Skill184Stub(); - //public static Skill228Stub __stub_Skill228Stub = new Skill228Stub(); - //public static Skill229Stub __stub_Skill229Stub = new Skill229Stub(); - //public static Skill364Stub __stub_Skill364Stub = new Skill364Stub(); - //public static Skill365Stub __stub_Skill365Stub = new Skill365Stub(); - //public static Skill440Stub __stub_Skill440Stub = new Skill440Stub(); - //public static Skill441Stub __stub_Skill441Stub = new Skill441Stub(); - //public static Skill442Stub __stub_Skill442Stub = new Skill442Stub(); - //public static Skill443Stub __stub_Skill443Stub = new Skill443Stub(); - //public static Skill444Stub __stub_Skill444Stub = new Skill444Stub(); - //public static Skill445Stub __stub_Skill445Stub = new Skill445Stub(); - //public static Skill446Stub __stub_Skill446Stub = new Skill446Stub(); - //public static Skill447Stub __stub_Skill447Stub = new Skill447Stub(); - //public static Skill448Stub __stub_Skill448Stub = new Skill448Stub(); - //public static Skill449Stub __stub_Skill449Stub = new Skill449Stub(); - //public static Skill450Stub __stub_Skill450Stub = new Skill450Stub(); - //public static Skill451Stub __stub_Skill451Stub = new Skill451Stub(); - //public static Skill452Stub __stub_Skill452Stub = new Skill452Stub(); - //public static Skill453Stub __stub_Skill453Stub = new Skill453Stub(); - //public static Skill454Stub __stub_Skill454Stub = new Skill454Stub(); - //public static Skill455Stub __stub_Skill455Stub = new Skill455Stub(); - //public static Skill456Stub __stub_Skill456Stub = new Skill456Stub(); - //public static Skill457Stub __stub_Skill457Stub = new Skill457Stub(); - //public static Skill458Stub __stub_Skill458Stub = new Skill458Stub(); - //public static Skill459Stub __stub_Skill459Stub = new Skill459Stub(); - //public static Skill460Stub __stub_Skill460Stub = new Skill460Stub(); - //public static Skill461Stub __stub_Skill461Stub = new Skill461Stub(); - //public static Skill462Stub __stub_Skill462Stub = new Skill462Stub(); - //public static Skill463Stub __stub_Skill463Stub = new Skill463Stub(); - //public static Skill464Stub __stub_Skill464Stub = new Skill464Stub(); - //public static Skill465Stub __stub_Skill465Stub = new Skill465Stub(); - //public static Skill466Stub __stub_Skill466Stub = new Skill466Stub(); - //public static Skill467Stub __stub_Skill467Stub = new Skill467Stub(); - //public static Skill468Stub __stub_Skill468Stub = new Skill468Stub(); - //public static Skill469Stub __stub_Skill469Stub = new Skill469Stub(); - //public static Skill470Stub __stub_Skill470Stub = new Skill470Stub(); - //public static Skill471Stub __stub_Skill471Stub = new Skill471Stub(); - //public static Skill472Stub __stub_Skill472Stub = new Skill472Stub(); - //public static Skill473Stub __stub_Skill473Stub = new Skill473Stub(); - //public static Skill474Stub __stub_Skill474Stub = new Skill474Stub(); - //public static Skill475Stub __stub_Skill475Stub = new Skill475Stub(); - //public static Skill476Stub __stub_Skill476Stub = new Skill476Stub(); - //public static Skill477Stub __stub_Skill477Stub = new Skill477Stub(); - //public static Skill478Stub __stub_Skill478Stub = new Skill478Stub(); - //public static Skill479Stub __stub_Skill479Stub = new Skill479Stub(); - //public static Skill480Stub __stub_Skill480Stub = new Skill480Stub(); - //public static Skill481Stub __stub_Skill481Stub = new Skill481Stub(); - //public static Skill482Stub __stub_Skill482Stub = new Skill482Stub(); - //public static Skill483Stub __stub_Skill483Stub = new Skill483Stub(); - //public static Skill484Stub __stub_Skill484Stub = new Skill484Stub(); - //public static Skill485Stub __stub_Skill485Stub = new Skill485Stub(); - //public static Skill486Stub __stub_Skill486Stub = new Skill486Stub(); - //public static Skill487Stub __stub_Skill487Stub = new Skill487Stub(); - //public static Skill488Stub __stub_Skill488Stub = new Skill488Stub(); - //public static Skill489Stub __stub_Skill489Stub = new Skill489Stub(); - //public static Skill490Stub __stub_Skill490Stub = new Skill490Stub(); - //public static Skill491Stub __stub_Skill491Stub = new Skill491Stub(); - //public static Skill901Stub __stub_Skill901Stub = new Skill901Stub(); - //public static Skill902Stub __stub_Skill902Stub = new Skill902Stub(); - //public static Skill903Stub __stub_Skill903Stub = new Skill903Stub(); - //public static Skill904Stub __stub_Skill904Stub = new Skill904Stub(); - //public static Skill905Stub __stub_Skill905Stub = new Skill905Stub(); - //public static Skill925Stub __stub_Skill925Stub = new Skill925Stub(); - //public static Skill926Stub __stub_Skill926Stub = new Skill926Stub(); - //public static Skill1805Stub __stub_Skill1805Stub = new Skill1805Stub(); - //public static Skill1806Stub __stub_Skill1806Stub = new Skill1806Stub(); - //public static Skill1807Stub __stub_Skill1807Stub = new Skill1807Stub(); - //public static Skill1808Stub __stub_Skill1808Stub = new Skill1808Stub(); - //public static Skill1809Stub __stub_Skill1809Stub = new Skill1809Stub(); - //public static Skill1864Stub __stub_Skill1864Stub = new Skill1864Stub(); - //public static Skill1865Stub __stub_Skill1865Stub = new Skill1865Stub(); - //public static Skill1873Stub __stub_Skill1873Stub = new Skill1873Stub(); - //public static Skill1874Stub __stub_Skill1874Stub = new Skill1874Stub(); - //public static Skill1951Stub __stub_Skill1951Stub = new Skill1951Stub(); - //public static Skill2254Stub __stub_Skill2254Stub = new Skill2254Stub(); - //public static Skill2255Stub __stub_Skill2255Stub = new Skill2255Stub(); - //public static Skill2256Stub __stub_Skill2256Stub = new Skill2256Stub(); - //public static Skill2257Stub __stub_Skill2257Stub = new Skill2257Stub(); - //public static Skill2258Stub __stub_Skill2258Stub = new Skill2258Stub(); - //public static Skill2259Stub __stub_Skill2259Stub = new Skill2259Stub(); - //public static Skill2260Stub __stub_Skill2260Stub = new Skill2260Stub(); - //public static Skill2261Stub __stub_Skill2261Stub = new Skill2261Stub(); - //public static Skill2262Stub __stub_Skill2262Stub = new Skill2262Stub(); - //public static Skill2263Stub __stub_Skill2263Stub = new Skill2263Stub(); - //public static Skill2264Stub __stub_Skill2264Stub = new Skill2264Stub(); - //public static Skill2265Stub __stub_Skill2265Stub = new Skill2265Stub(); - //public static Skill2452Stub __stub_Skill2452Stub = new Skill2452Stub(); - //public static Skill2453Stub __stub_Skill2453Stub = new Skill2453Stub(); + public static Skill179Stub __stub_Skill179Stub = new Skill179Stub(); + public static Skill187Stub __stub_Skill187Stub = new Skill187Stub(); + public static Skill226Stub __stub_Skill226Stub = new Skill226Stub(); + public static Skill227Stub __stub_Skill227Stub = new Skill227Stub(); + public static Skill362Stub __stub_Skill362Stub = new Skill362Stub(); + public static Skill363Stub __stub_Skill363Stub = new Skill363Stub(); + public static Skill374Stub __stub_Skill374Stub = new Skill374Stub(); + public static Skill375Stub __stub_Skill375Stub = new Skill375Stub(); + public static Skill376Stub __stub_Skill376Stub = new Skill376Stub(); + public static Skill377Stub __stub_Skill377Stub = new Skill377Stub(); + public static Skill378Stub __stub_Skill378Stub = new Skill378Stub(); + public static Skill379Stub __stub_Skill379Stub = new Skill379Stub(); + public static Skill380Stub __stub_Skill380Stub = new Skill380Stub(); + public static Skill381Stub __stub_Skill381Stub = new Skill381Stub(); + public static Skill382Stub __stub_Skill382Stub = new Skill382Stub(); + public static Skill383Stub __stub_Skill383Stub = new Skill383Stub(); + public static Skill384Stub __stub_Skill384Stub = new Skill384Stub(); + public static Skill385Stub __stub_Skill385Stub = new Skill385Stub(); + public static Skill386Stub __stub_Skill386Stub = new Skill386Stub(); + public static Skill387Stub __stub_Skill387Stub = new Skill387Stub(); + public static Skill388Stub __stub_Skill388Stub = new Skill388Stub(); + public static Skill389Stub __stub_Skill389Stub = new Skill389Stub(); + public static Skill390Stub __stub_Skill390Stub = new Skill390Stub(); + public static Skill391Stub __stub_Skill391Stub = new Skill391Stub(); + public static Skill392Stub __stub_Skill392Stub = new Skill392Stub(); + public static Skill393Stub __stub_Skill393Stub = new Skill393Stub(); + public static Skill394Stub __stub_Skill394Stub = new Skill394Stub(); + public static Skill395Stub __stub_Skill395Stub = new Skill395Stub(); + public static Skill396Stub __stub_Skill396Stub = new Skill396Stub(); + public static Skill397Stub __stub_Skill397Stub = new Skill397Stub(); + public static Skill398Stub __stub_Skill398Stub = new Skill398Stub(); + public static Skill399Stub __stub_Skill399Stub = new Skill399Stub(); + public static Skill400Stub __stub_Skill400Stub = new Skill400Stub(); + public static Skill401Stub __stub_Skill401Stub = new Skill401Stub(); + public static Skill402Stub __stub_Skill402Stub = new Skill402Stub(); + public static Skill403Stub __stub_Skill403Stub = new Skill403Stub(); + public static Skill404Stub __stub_Skill404Stub = new Skill404Stub(); + public static Skill405Stub __stub_Skill405Stub = new Skill405Stub(); + public static Skill406Stub __stub_Skill406Stub = new Skill406Stub(); + public static Skill407Stub __stub_Skill407Stub = new Skill407Stub(); + public static Skill408Stub __stub_Skill408Stub = new Skill408Stub(); + public static Skill409Stub __stub_Skill409Stub = new Skill409Stub(); + public static Skill410Stub __stub_Skill410Stub = new Skill410Stub(); + public static Skill411Stub __stub_Skill411Stub = new Skill411Stub(); + public static Skill412Stub __stub_Skill412Stub = new Skill412Stub(); + public static Skill413Stub __stub_Skill413Stub = new Skill413Stub(); + public static Skill414Stub __stub_Skill414Stub = new Skill414Stub(); + public static Skill415Stub __stub_Skill415Stub = new Skill415Stub(); + public static Skill416Stub __stub_Skill416Stub = new Skill416Stub(); + public static Skill417Stub __stub_Skill417Stub = new Skill417Stub(); + public static Skill418Stub __stub_Skill418Stub = new Skill418Stub(); + public static Skill419Stub __stub_Skill419Stub = new Skill419Stub(); + public static Skill420Stub __stub_Skill420Stub = new Skill420Stub(); + public static Skill421Stub __stub_Skill421Stub = new Skill421Stub(); + public static Skill422Stub __stub_Skill422Stub = new Skill422Stub(); + public static Skill423Stub __stub_Skill423Stub = new Skill423Stub(); + public static Skill424Stub __stub_Skill424Stub = new Skill424Stub(); + public static Skill425Stub __stub_Skill425Stub = new Skill425Stub(); + public static Skill426Stub __stub_Skill426Stub = new Skill426Stub(); + public static Skill427Stub __stub_Skill427Stub = new Skill427Stub(); + public static Skill428Stub __stub_Skill428Stub = new Skill428Stub(); + public static Skill429Stub __stub_Skill429Stub = new Skill429Stub(); + public static Skill430Stub __stub_Skill430Stub = new Skill430Stub(); + public static Skill431Stub __stub_Skill431Stub = new Skill431Stub(); + public static Skill432Stub __stub_Skill432Stub = new Skill432Stub(); + public static Skill433Stub __stub_Skill433Stub = new Skill433Stub(); + public static Skill434Stub __stub_Skill434Stub = new Skill434Stub(); + public static Skill435Stub __stub_Skill435Stub = new Skill435Stub(); + public static Skill436Stub __stub_Skill436Stub = new Skill436Stub(); + public static Skill437Stub __stub_Skill437Stub = new Skill437Stub(); + public static Skill438Stub __stub_Skill438Stub = new Skill438Stub(); + public static Skill439Stub __stub_Skill439Stub = new Skill439Stub(); + public static Skill896Stub __stub_Skill896Stub = new Skill896Stub(); + public static Skill897Stub __stub_Skill897Stub = new Skill897Stub(); + public static Skill898Stub __stub_Skill898Stub = new Skill898Stub(); + public static Skill899Stub __stub_Skill899Stub = new Skill899Stub(); + public static Skill900Stub __stub_Skill900Stub = new Skill900Stub(); + public static Skill923Stub __stub_Skill923Stub = new Skill923Stub(); + public static Skill924Stub __stub_Skill924Stub = new Skill924Stub(); + public static Skill1195Stub __stub_Skill1195Stub = new Skill1195Stub(); + public static Skill1815Stub __stub_Skill1815Stub = new Skill1815Stub(); + public static Skill1816Stub __stub_Skill1816Stub = new Skill1816Stub(); + public static Skill1817Stub __stub_Skill1817Stub = new Skill1817Stub(); + public static Skill1818Stub __stub_Skill1818Stub = new Skill1818Stub(); + public static Skill1819Stub __stub_Skill1819Stub = new Skill1819Stub(); + public static Skill1868Stub __stub_Skill1868Stub = new Skill1868Stub(); + public static Skill1871Stub __stub_Skill1871Stub = new Skill1871Stub(); + public static Skill1872Stub __stub_Skill1872Stub = new Skill1872Stub(); + public static Skill2206Stub __stub_Skill2206Stub = new Skill2206Stub(); + public static Skill2207Stub __stub_Skill2207Stub = new Skill2207Stub(); + public static Skill2208Stub __stub_Skill2208Stub = new Skill2208Stub(); + public static Skill2209Stub __stub_Skill2209Stub = new Skill2209Stub(); + public static Skill2210Stub __stub_Skill2210Stub = new Skill2210Stub(); + public static Skill2211Stub __stub_Skill2211Stub = new Skill2211Stub(); + public static Skill2352Stub __stub_Skill2352Stub = new Skill2352Stub(); + public static Skill2367Stub __stub_Skill2367Stub = new Skill2367Stub(); + public static Skill2368Stub __stub_Skill2368Stub = new Skill2368Stub(); + public static Skill2369Stub __stub_Skill2369Stub = new Skill2369Stub(); + public static Skill2370Stub __stub_Skill2370Stub = new Skill2370Stub(); + public static Skill2371Stub __stub_Skill2371Stub = new Skill2371Stub(); + public static Skill2372Stub __stub_Skill2372Stub = new Skill2372Stub(); + public static Skill2373Stub __stub_Skill2373Stub = new Skill2373Stub(); + public static Skill2374Stub __stub_Skill2374Stub = new Skill2374Stub(); + public static Skill2375Stub __stub_Skill2375Stub = new Skill2375Stub(); + public static Skill7Stub __stub_Skill7Stub = new Skill7Stub(); + public static Skill8Stub __stub_Skill8Stub = new Skill8Stub(); + public static Skill9Stub __stub_Skill9Stub = new Skill9Stub(); + public static Skill10Stub __stub_Skill10Stub = new Skill10Stub(); + public static Skill53Stub __stub_Skill53Stub = new Skill53Stub(); + public static Skill81Stub __stub_Skill81Stub = new Skill81Stub(); + public static Skill84Stub __stub_Skill84Stub = new Skill84Stub(); + public static Skill85Stub __stub_Skill85Stub = new Skill85Stub(); + public static Skill86Stub __stub_Skill86Stub = new Skill86Stub(); + public static Skill87Stub __stub_Skill87Stub = new Skill87Stub(); + public static Skill88Stub __stub_Skill88Stub = new Skill88Stub(); + public static Skill89Stub __stub_Skill89Stub = new Skill89Stub(); + public static Skill90Stub __stub_Skill90Stub = new Skill90Stub(); + public static Skill91Stub __stub_Skill91Stub = new Skill91Stub(); + public static Skill92Stub __stub_Skill92Stub = new Skill92Stub(); + public static Skill93Stub __stub_Skill93Stub = new Skill93Stub(); + public static Skill94Stub __stub_Skill94Stub = new Skill94Stub(); + public static Skill95Stub __stub_Skill95Stub = new Skill95Stub(); + public static Skill96Stub __stub_Skill96Stub = new Skill96Stub(); + public static Skill97Stub __stub_Skill97Stub = new Skill97Stub(); + public static Skill98Stub __stub_Skill98Stub = new Skill98Stub(); + public static Skill99Stub __stub_Skill99Stub = new Skill99Stub(); + public static Skill100Stub __stub_Skill100Stub = new Skill100Stub(); + public static Skill101Stub __stub_Skill101Stub = new Skill101Stub(); + public static Skill180Stub __stub_Skill180Stub = new Skill180Stub(); + public static Skill181Stub __stub_Skill181Stub = new Skill181Stub(); + public static Skill182Stub __stub_Skill182Stub = new Skill182Stub(); + public static Skill183Stub __stub_Skill183Stub = new Skill183Stub(); + public static Skill184Stub __stub_Skill184Stub = new Skill184Stub(); + public static Skill228Stub __stub_Skill228Stub = new Skill228Stub(); + public static Skill229Stub __stub_Skill229Stub = new Skill229Stub(); + public static Skill364Stub __stub_Skill364Stub = new Skill364Stub(); + public static Skill365Stub __stub_Skill365Stub = new Skill365Stub(); + public static Skill440Stub __stub_Skill440Stub = new Skill440Stub(); + public static Skill441Stub __stub_Skill441Stub = new Skill441Stub(); + public static Skill442Stub __stub_Skill442Stub = new Skill442Stub(); + public static Skill443Stub __stub_Skill443Stub = new Skill443Stub(); + public static Skill444Stub __stub_Skill444Stub = new Skill444Stub(); + public static Skill445Stub __stub_Skill445Stub = new Skill445Stub(); + public static Skill446Stub __stub_Skill446Stub = new Skill446Stub(); + public static Skill447Stub __stub_Skill447Stub = new Skill447Stub(); + public static Skill448Stub __stub_Skill448Stub = new Skill448Stub(); + public static Skill449Stub __stub_Skill449Stub = new Skill449Stub(); + public static Skill450Stub __stub_Skill450Stub = new Skill450Stub(); + public static Skill451Stub __stub_Skill451Stub = new Skill451Stub(); + public static Skill452Stub __stub_Skill452Stub = new Skill452Stub(); + public static Skill453Stub __stub_Skill453Stub = new Skill453Stub(); + public static Skill454Stub __stub_Skill454Stub = new Skill454Stub(); + public static Skill455Stub __stub_Skill455Stub = new Skill455Stub(); + public static Skill456Stub __stub_Skill456Stub = new Skill456Stub(); + public static Skill457Stub __stub_Skill457Stub = new Skill457Stub(); + public static Skill458Stub __stub_Skill458Stub = new Skill458Stub(); + public static Skill459Stub __stub_Skill459Stub = new Skill459Stub(); + public static Skill460Stub __stub_Skill460Stub = new Skill460Stub(); + public static Skill461Stub __stub_Skill461Stub = new Skill461Stub(); + public static Skill462Stub __stub_Skill462Stub = new Skill462Stub(); + public static Skill463Stub __stub_Skill463Stub = new Skill463Stub(); + public static Skill464Stub __stub_Skill464Stub = new Skill464Stub(); + public static Skill465Stub __stub_Skill465Stub = new Skill465Stub(); + public static Skill466Stub __stub_Skill466Stub = new Skill466Stub(); + public static Skill467Stub __stub_Skill467Stub = new Skill467Stub(); + public static Skill468Stub __stub_Skill468Stub = new Skill468Stub(); + public static Skill469Stub __stub_Skill469Stub = new Skill469Stub(); + public static Skill470Stub __stub_Skill470Stub = new Skill470Stub(); + public static Skill471Stub __stub_Skill471Stub = new Skill471Stub(); + public static Skill472Stub __stub_Skill472Stub = new Skill472Stub(); + public static Skill473Stub __stub_Skill473Stub = new Skill473Stub(); + public static Skill474Stub __stub_Skill474Stub = new Skill474Stub(); + public static Skill475Stub __stub_Skill475Stub = new Skill475Stub(); + public static Skill476Stub __stub_Skill476Stub = new Skill476Stub(); + public static Skill477Stub __stub_Skill477Stub = new Skill477Stub(); + public static Skill478Stub __stub_Skill478Stub = new Skill478Stub(); + public static Skill479Stub __stub_Skill479Stub = new Skill479Stub(); + public static Skill480Stub __stub_Skill480Stub = new Skill480Stub(); + public static Skill481Stub __stub_Skill481Stub = new Skill481Stub(); + public static Skill482Stub __stub_Skill482Stub = new Skill482Stub(); + public static Skill483Stub __stub_Skill483Stub = new Skill483Stub(); + public static Skill484Stub __stub_Skill484Stub = new Skill484Stub(); + public static Skill485Stub __stub_Skill485Stub = new Skill485Stub(); + public static Skill486Stub __stub_Skill486Stub = new Skill486Stub(); + public static Skill487Stub __stub_Skill487Stub = new Skill487Stub(); + public static Skill488Stub __stub_Skill488Stub = new Skill488Stub(); + public static Skill489Stub __stub_Skill489Stub = new Skill489Stub(); + public static Skill490Stub __stub_Skill490Stub = new Skill490Stub(); + public static Skill491Stub __stub_Skill491Stub = new Skill491Stub(); + public static Skill901Stub __stub_Skill901Stub = new Skill901Stub(); + public static Skill902Stub __stub_Skill902Stub = new Skill902Stub(); + public static Skill903Stub __stub_Skill903Stub = new Skill903Stub(); + public static Skill904Stub __stub_Skill904Stub = new Skill904Stub(); + public static Skill905Stub __stub_Skill905Stub = new Skill905Stub(); + public static Skill925Stub __stub_Skill925Stub = new Skill925Stub(); + public static Skill926Stub __stub_Skill926Stub = new Skill926Stub(); + public static Skill1805Stub __stub_Skill1805Stub = new Skill1805Stub(); + public static Skill1806Stub __stub_Skill1806Stub = new Skill1806Stub(); + public static Skill1807Stub __stub_Skill1807Stub = new Skill1807Stub(); + public static Skill1808Stub __stub_Skill1808Stub = new Skill1808Stub(); + public static Skill1809Stub __stub_Skill1809Stub = new Skill1809Stub(); + public static Skill1864Stub __stub_Skill1864Stub = new Skill1864Stub(); + public static Skill1865Stub __stub_Skill1865Stub = new Skill1865Stub(); + public static Skill1873Stub __stub_Skill1873Stub = new Skill1873Stub(); + public static Skill1874Stub __stub_Skill1874Stub = new Skill1874Stub(); + public static Skill1951Stub __stub_Skill1951Stub = new Skill1951Stub(); + public static Skill2254Stub __stub_Skill2254Stub = new Skill2254Stub(); + public static Skill2255Stub __stub_Skill2255Stub = new Skill2255Stub(); + public static Skill2256Stub __stub_Skill2256Stub = new Skill2256Stub(); + public static Skill2257Stub __stub_Skill2257Stub = new Skill2257Stub(); + public static Skill2258Stub __stub_Skill2258Stub = new Skill2258Stub(); + public static Skill2259Stub __stub_Skill2259Stub = new Skill2259Stub(); + public static Skill2260Stub __stub_Skill2260Stub = new Skill2260Stub(); + public static Skill2261Stub __stub_Skill2261Stub = new Skill2261Stub(); + public static Skill2262Stub __stub_Skill2262Stub = new Skill2262Stub(); + public static Skill2263Stub __stub_Skill2263Stub = new Skill2263Stub(); + public static Skill2264Stub __stub_Skill2264Stub = new Skill2264Stub(); + public static Skill2265Stub __stub_Skill2265Stub = new Skill2265Stub(); + public static Skill2452Stub __stub_Skill2452Stub = new Skill2452Stub(); + public static Skill2453Stub __stub_Skill2453Stub = new Skill2453Stub(); #if SKILL_SERVER public static Skill1 __stub_Skill1 = new Skill1(); diff --git a/Assets/PerfectWorld/Scripts/Skills/skill.cs b/Assets/PerfectWorld/Scripts/Skills/skill.cs index cd3fe114e8..7d8d9e2fa5 100644 --- a/Assets/PerfectWorld/Scripts/Skills/skill.cs +++ b/Assets/PerfectWorld/Scripts/Skills/skill.cs @@ -45,7 +45,7 @@ namespace BrewMonster.Scripts.Skills skill.SetLevel(n); return skill; } - public override int GetMaxLevel() { return stub.GetMaxLevel(); } + public override int GetMaxLevel() { return stub.GetMaxLevel(); } public override int SetLevel(int l) { uint tmp = level; @@ -59,6 +59,7 @@ namespace BrewMonster.Scripts.Skills { return player; } + public override int GetRank() { return stub.rank; } public override bool IsInstant() { return stub.time_type == 1; } public override int GetCls() diff --git a/Assets/PerfectWorld/Scripts/Skills/skill1.cs b/Assets/PerfectWorld/Scripts/Skills/skill1.cs index 9f3bbe5097..26e655dd09 100644 --- a/Assets/PerfectWorld/Scripts/Skills/skill1.cs +++ b/Assets/PerfectWorld/Scripts/Skills/skill1.cs @@ -1,5 +1,6 @@ -#define SKILL_CLIENT +#define SKILL_CLIENT using BrewMonster.Scripts.Skills; +using System.Collections.Generic; using System.Text; using UnityEngine; using static BrewMonster.PET_EVOLVE_CONFIG; @@ -20,149 +21,66 @@ namespace BrewMonster public class Skill1Stub : SkillStub { - // Static arrays for skill requirements private static readonly int[] RequiredLevelArray = { 0, 5, 10, 15, 20, 25, 30, 35, 40, 45 }; private static readonly int[] RequiredSpArray = { 0, 300, 1200, 2800, 5200, 8400, 12800, 18600, 26300, 36500 }; private static readonly int[] RequiredMoneyArray = { 0, 30, 130, 280, 480, 730, 1180, 1630, 2080, 2580 }; + #if SKILL_SERVER public class State1 : SkillStub.State { - public int GetTime(Skill skill) - { - return 400; - } - - public bool Quit(Skill skill) - { - return false; - } - - public bool Loop(Skill skill) - { - return false; - } - - public bool Bypass(Skill skill) - { - return false; - } - + public int GetTime(Skill skill) => 400; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; public void Calculate(Skill skill) { - skill.GetPlayer().SetDecmp(0.2f * (-5 + 7 * skill.GetLevel())); + skill.GetPlayer().SetDecmp(0.2f *(-5 + 7 * skill.GetLevel())); skill.GetPlayer().SetPray(1); } - - public bool Interrupt(Skill skill) - { - return false; - } - - public bool Cancel(Skill skill) - { - return true; - } - - public bool Skip(Skill skill) - { - return false; - } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; } #endif #if SKILL_SERVER public class State2 : SkillStub.State { - public int GetTime(Skill skill) - { - return 700; - } - - public bool Quit(Skill skill) - { - return false; - } - - public bool Loop(Skill skill) - { - return false; - } - - public bool Bypass(Skill skill) - { - return false; - } - + public int GetTime(Skill skill) => 700; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; public void Calculate(Skill skill) { - skill.GetPlayer().SetDecmp(0.8f * (-5 + 7 * skill.GetLevel())); + skill.GetPlayer().SetDecmp(0.8f *(-5 + 7 * skill.GetLevel())); skill.SetPlus(1.9f * skill.GetLevel() * skill.GetLevel() + 64 * skill.GetLevel() + 36.7f); skill.SetRatio(0); skill.SetDamage(skill.GetAttack()); skill.GetPlayer().SetPerform(1); } - - public bool Interrupt(Skill skill) - { - return false; - } - - public bool Cancel(Skill skill) - { - return false; - } - - public bool Skip(Skill skill) - { - return false; - } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; } #endif #if SKILL_SERVER public class State3 : SkillStub.State { - public int GetTime(Skill skill) - { - return 0; - } - - public bool Quit(Skill skill) - { - return false; - } - - public bool Loop(Skill skill) - { - return false; - } - - public bool Bypass(Skill skill) - { - return false; - } - + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; public void Calculate(Skill skill) - { - } - - public bool Interrupt(Skill skill) - { - return false; - } - - public bool Cancel(Skill skill) - { - return false; - } - - public bool Skip(Skill skill) - { - return false; + { } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; } #endif + public Skill1Stub() : base(1) { cls = 0; @@ -189,19 +107,19 @@ namespace BrewMonster long_range = 0; restrict_corpse = 0; allow_forms = 1; + effect = "虎击.sgc"; + doenchant = 0; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; restrict_weapons.Add(0); restrict_weapons.Add(1); restrict_weapons.Add(182); restrict_weapons.Add(5); restrict_weapons.Add(292); restrict_weapons.Add(9); - effect = "虎击.sgc"; range = new Range(); range.type = 0; - doenchant = 0; - dobless = 0; - commoncooldown = 0; - commoncooldowntime = 0; #if SKILL_SERVER statestub.Add(new State1()); statestub.Add(new State2()); @@ -209,59 +127,18 @@ namespace BrewMonster #endif } - ~Skill1Stub() - { - } + ~Skill1Stub() { } - public float GetMpcost(Skill skill) - { - return (float)(-5 + 7 * skill.GetLevel()); - } - - public int GetExecutetime(Skill skill) - { - return 700; - } - - public int GetCoolingtime(Skill skill) - { - return 3000; - } - - public int GetRequiredLevel(Skill skill) - { - return RequiredLevelArray[skill.GetLevel() - 1]; - } - - public int GetRequiredSp(Skill skill) - { - return RequiredSpArray[skill.GetLevel() - 1]; - } - - public int GetRequiredMoney(Skill skill) - { - return RequiredMoneyArray[skill.GetLevel() - 1]; - } - - public float GetRadius(Skill skill) - { - return 0f; - } - - public float GetAttackdistance(Skill skill) - { - return 0f; - } - - public float GetAngle(Skill skill) - { - return (float)(1 - 0.0111111 * 0); - } - - public float GetPraydistance(Skill skill) - { - return (float)skill.GetPlayer().GetRange(); - } + public float GetMpcost(Skill skill) => (float)(-5 + 7 * skill.GetLevel()); + public int GetExecutetime(Skill skill) => 700; + public int GetCoolingtime(Skill skill) => 3000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; #if SKILL_CLIENT public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) @@ -280,30 +157,12 @@ namespace BrewMonster #endif #if SKILL_SERVER - public int GetEnmity(Skill skill) - { - return 0; - } - - public bool TakeEffect(Skill skill) - { - return true; - } - - public float GetEffectdistance(Skill skill) - { - return 13.3f; - } - - public int GetAttackspeed(Skill skill) - { - return 3; - } - - public float GetHitrate(Skill skill) - { - return (float)(1.2 + 0.05 * skill.GetLevel()); - } + public int GetEnmity(Skill skill) => 0; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 13.3f; + public int GetAttackspeed(Skill skill) => 3; + public float GetHitrate(Skill skill) => 1.2f + 0.05f * skill.GetLevel(); #endif } } + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill10.cs b/Assets/PerfectWorld/Scripts/Skills/skill10.cs new file mode 100644 index 0000000000..d147146427 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill10.cs @@ -0,0 +1,169 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill10 : Skill + { + public const int SKILL_ID = 10; + + public Skill10() : base(SKILL_ID) + { + } + } +#endif + + public class Skill10Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 19, 24, 29, 34, 39, 44, 49, 54, 59, 64 }; + private static readonly int[] RequiredSpArray = { 4600, 7700, 11800, 17300, 24600, 34200, 47000, 64000, 87000, 118000 }; + private static readonly int[] RequiredMoneyArray = { 440, 680, 1090, 1540, 1990, 2480, 2980, 3480, 3980, 12980 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.2f *(50.4f + 18 * skill.GetLevel())); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.8f *(50.4f + 18 * skill.GetLevel())); + skill.SetPlus(0); + skill.SetRatio(0); + skill.SetEarthdamage(skill.GetMagicattack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill10Stub() : base(10) + { + cls = 1; + name = "沙陷"; + nativename = "沙陷"; + icon = "沙陷.dds"; + max_level = 10; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 10; + attr = 6; + rank = 2; + eventflag = 0; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1220; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "沙陷.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(292); + restrict_weapons.Add(0); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(181, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill10Stub() { } + + public float GetMpcost(Skill skill) => (float)(50.4 + 18 * skill.GetLevel()); + public int GetExecutetime(Skill skill) => 1000; + public int GetCoolingtime(Skill skill) => 8000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(19.5 + 0.9 * skill.GetLevel()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, + skill.GetLevel(), + 19.5 + 0.9 * skill.GetLevel(), + 50.4 + 18 * skill.GetLevel(), + 8 * skill.GetLevel() * skill.GetLevel() + 214.1 * skill.GetLevel() + 659.8, + 5 + skill.GetLevel()); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 25 + skill.GetLevel(); + public int GetAttackspeed(Skill skill) => 7; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill10.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill10.cs.meta new file mode 100644 index 0000000000..da6240f897 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill10.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 587af2794ea743c44a40c8d1963fc64b \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill100.cs b/Assets/PerfectWorld/Scripts/Skills/skill100.cs new file mode 100644 index 0000000000..2b0626c598 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill100.cs @@ -0,0 +1,161 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill100 : Skill + { + public const int SKILL_ID = 100; + + public Skill100() : base(SKILL_ID) + { + } + } +#endif + + public class Skill100Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 29, 34, 39, 44, 49, 54, 59, 64, 69, 74 }; + private static readonly int[] RequiredSpArray = { 8260, 12110, 17220, 23940, 32900, 44800, 60900, 82600, 112000, 167300 }; + private static readonly int[] RequiredMoneyArray = { 1090, 1540, 1990, 2480, 2980, 3480, 3980, 12980, 51980, 151980 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(50); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill100Stub() : base(100) + { + cls = 1; + name = "缩地术"; + nativename = "缩地术"; + icon = "缩地术.dds"; + max_level = 10; + type = 8; + apcost = 20; + arrowcost = 0; + apgain = 0; + attr = 0; + rank = 3; + eventflag = 0; + posdouble = 0; + time_type = 0; + showorder = 1221; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "缩地术.sgc"; + doenchant = 0; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(292); + range = new Range(); + range.type = 5; + pre_skills = new Dictionary(); + pre_skills.Add(0, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill100Stub() { } + + public float GetMpcost(Skill skill) => 50f; + public int GetExecutetime(Skill skill) => 1000; + public int GetCoolingtime(Skill skill) => 20000 - 1000 * skill.GetLevel(); + public float GetRadius(Skill skill) => (float)(2 + 0.3 * skill.GetLevel()); + public float GetAttackdistance(Skill skill) => (float)(4 + 0.4 * skill.GetLevel()); + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(15 + skill.GetLevel()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, + skill.GetLevel(), + 20 - skill.GetLevel(), + 15 + skill.GetLevel()); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 15f; + public int GetAttackspeed(Skill skill) => 0; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill100.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill100.cs.meta new file mode 100644 index 0000000000..23802e26e8 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill100.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: c7dcaf124d218a945be1e463e57c2960 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill101.cs b/Assets/PerfectWorld/Scripts/Skills/skill101.cs new file mode 100644 index 0000000000..e4bc30c93d --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill101.cs @@ -0,0 +1,100 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill101 : Skill + { + public const int SKILL_ID = 101; + + public Skill101() : base(SKILL_ID) + { + } + } +#endif + + public class Skill101Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 29, 34, 39, 44, 49, 54, 59, 64, 69, 74 }; + private static readonly int[] RequiredSpArray = { 11800, 17300, 24600, 34200, 47000, 64000, 87000, 118000, 160000, 217000 }; + private static readonly int[] RequiredMoneyArray = { 1090, 1540, 1990, 2480, 2980, 3480, 3980, 12980, 51980, 151980 }; + + + public Skill101Stub() : base(101) + { + cls = 1; + name = "土精通"; + nativename = "土精通"; + icon = "土精通.dds"; + max_level = 10; + type = 5; + apcost = 0; + arrowcost = 0; + apgain = 0; + attr = 0; + rank = 3; + eventflag = 1; + posdouble = 0; + time_type = 0; + showorder = 1227; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 0; + effect = ""; + doenchant = 0; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(0, 1); + + } + + ~Skill101Stub() { } + + public float GetMpcost(Skill skill) => 0f; + public int GetExecutetime(Skill skill) => 0; + public int GetCoolingtime(Skill skill) => 0; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, skill.GetLevel(), 2 * skill.GetLevel()); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 0f; + public float GetHitrate(Skill skill) => 1.0f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill101.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill101.cs.meta new file mode 100644 index 0000000000..b931c6df29 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill101.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: c6ecb5203dcfa4942bf9224cfc08b7fe \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill1195.cs b/Assets/PerfectWorld/Scripts/Skills/skill1195.cs new file mode 100644 index 0000000000..2db2d23116 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill1195.cs @@ -0,0 +1,162 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill1195 : Skill + { + public const int SKILL_ID = 1195; + + public Skill1195() : base(SKILL_ID) + { + } + } +#endif + + public class Skill1195Stub : SkillStub + { + private static readonly int[] RequiredMoneyArray = { 8600, 14000, 21000, 30000, 42000, 58000, 80000, 110000, 150000, 200000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 350; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.2f *(10 + 5 * skill.GetLevel())); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.8f *(10 + 5 * skill.GetLevel())); + skill.SetPlus(3.9f * skill.GetLevel() * skill.GetLevel() + 52.2f * skill.GetLevel() - 45.3f); + skill.SetRatio(0); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill1195Stub() : base(1195) + { + cls = 0; + name = "致盲(废弃)"; + nativename = "致盲(废弃)"; + icon = "致盲.dds"; + max_level = 10; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 5; + attr = 1; + rank = 2; + eventflag = 0; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 0; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "疾风霹雳.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(23749); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(0, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill1195Stub() { } + + public float GetMpcost(Skill skill) => (float)(10 + 5 * skill.GetLevel()); + public int GetExecutetime(Skill skill) => 1200; + public int GetCoolingtime(Skill skill) => 8000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, + skill.GetLevel(), + 10 + 5 * skill.GetLevel(), + 3.9 * skill.GetLevel() * skill.GetLevel() + 52.2 * skill.GetLevel() - 45.3); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 13.3f; + public int GetAttackspeed(Skill skill) => 4; + public float GetHitrate(Skill skill) => 1.5f + 0.1f * skill.GetLevel(); +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill1195.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill1195.cs.meta new file mode 100644 index 0000000000..d41d996ff1 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill1195.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 59c9afbff6c1d9d41acf0a46dd3cf942 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill176.cs b/Assets/PerfectWorld/Scripts/Skills/skill176.cs new file mode 100644 index 0000000000..a90f0a5133 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill176.cs @@ -0,0 +1,107 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill176 : Skill + { + public const int SKILL_ID = 176; + + public Skill176() : base(SKILL_ID) + { + } + } +#endif + + public class Skill176Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 59 }; + private static readonly int[] RequiredSpArray = { 60900 }; + private static readonly int[] RequiredMoneyArray = { 3980 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(100); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill176Stub() : base(176) + { + cls = 0; + name = "凌波微步"; + nativename = "凌波微步"; + icon = "凌波微步.dds"; + max_level = 1; + type = 2; + apcost = 100; + arrowcost = 0; + apgain = 0; + attr = 0; + rank = 6; + eventflag = 0; + posdouble = 0; + clslimit = 0; + time_type = 1; + showorder = 1128; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + restrict_weapons.Add(0); + effect = ""; + range = new Range(); + range.type = 0; +#if SKILL_SERVER + statestub.Add(new State1()); +#endif + } + + ~Skill176Stub() { } + + public float GetMpcost(Skill skill) => 100f; + public int GetExecutetime(Skill skill) => 0; + public int GetCoolingtime(Skill skill) => 60000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) + { + return true; + } + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 5f; + public float GetHitrate(Skill skill) => 0f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill176.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill176.cs.meta new file mode 100644 index 0000000000..ab619ac12f --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill176.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 97a0f2720af40e24e9af66de2a7a7e4a \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill177.cs b/Assets/PerfectWorld/Scripts/Skills/skill177.cs index 23846e581a..6d02351c53 100644 --- a/Assets/PerfectWorld/Scripts/Skills/skill177.cs +++ b/Assets/PerfectWorld/Scripts/Skills/skill177.cs @@ -1,4 +1,4 @@ -#define SKILL_CLIENT +#define SKILL_CLIENT using BrewMonster.Scripts.Skills; using System.Collections.Generic; using System.Text; @@ -21,56 +21,29 @@ namespace BrewMonster public class Skill177Stub : SkillStub { - // Static arrays for skill requirements private static readonly int[] RequiredLevelArray = { 16, 21, 26, 31, 36, 41, 46, 51, 56, 61 }; private static readonly int[] RequiredSpArray = { 2560, 4640, 7360, 11120, 16000, 22480, 31120, 42560, 57920, 78640 }; private static readonly int[] RequiredMoneyArray = { 320, 530, 820, 1270, 1720, 2180, 2680, 3180, 3680, 6980 }; + #if SKILL_SERVER public class State1 : SkillStub.State { - public int GetTime(Skill skill) - { - return 0; - } - - public bool Quit(Skill skill) - { - return false; - } - - public bool Loop(Skill skill) - { - return false; - } - - public bool Bypass(Skill skill) - { - return false; - } - + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; public void Calculate(Skill skill) { skill.GetPlayer().SetDecmp(20); skill.GetPlayer().SetPerform(1); } - - public bool Interrupt(Skill skill) - { - return false; - } - - public bool Cancel(Skill skill) - { - return true; - } - - public bool Skip(Skill skill) - { - return false; - } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; } #endif + public Skill177Stub() : base(177) { cls = 0; @@ -98,86 +71,31 @@ namespace BrewMonster restrict_corpse = 0; allow_forms = 1; restrict_weapons.Add(0); - restrict_weapons.Add(1); - restrict_weapons.Add(182); - restrict_weapons.Add(5); - restrict_weapons.Add(292); - restrict_weapons.Add(9); - effect = "易筋经.sgc"; + effect = ""; range = new Range(); - range.type = 5; - doenchant = 1; - dobless = 0; - commoncooldown = 0; - commoncooldowntime = 0; - pre_skills = new Dictionary(); - pre_skills.Add(0, 1); + range.type = 0; #if SKILL_SERVER statestub.Add(new State1()); #endif } - ~Skill177Stub() - { - } + ~Skill177Stub() { } - public float GetMpcost(Skill skill) - { - return 20f; - } - - public int GetExecutetime(Skill skill) - { - return 0; - } - - public int GetCoolingtime(Skill skill) - { - return 10000; - } - - public int GetRequiredLevel(Skill skill) - { - return RequiredLevelArray[skill.GetLevel() - 1]; - } - - public int GetRequiredSp(Skill skill) - { - return RequiredSpArray[skill.GetLevel() - 1]; - } - - public int GetRequiredMoney(Skill skill) - { - return RequiredMoneyArray[skill.GetLevel() - 1]; - } - - public float GetRadius(Skill skill) - { - return 0f; - } - - public float GetAttackdistance(Skill skill) - { - return 0f; - } - - public float GetAngle(Skill skill) - { - return (float)(1 - 0.0111111 * 0); - } - - public float GetPraydistance(Skill skill) - { - return 0f; - } + public float GetMpcost(Skill skill) => 20f; + public int GetExecutetime(Skill skill) => 0; + public int GetCoolingtime(Skill skill) => 10000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; #if SKILL_CLIENT public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) { - string result = string.Format(format, - skill.GetLevel(), - 20 + 10 * skill.GetLevel(), - 20 + 10 * skill.GetLevel()); + string result = string.Format(format, skill.GetLevel(), 20 + 10 * skill.GetLevel(), 20 + 10 * skill.GetLevel()); if (result.Length < length) { buffer.Append(result); @@ -188,53 +106,15 @@ namespace BrewMonster #endif #if SKILL_SERVER - public int GetEnmity(Skill skill) - { - return 0; - } - + public int GetEnmity(Skill skill) => 0; public bool StateAttack(Skill skill) { - skill.GetVictim().SetTime(30000); - skill.GetVictim().SetRatio(0.2f + 0.1f * skill.GetLevel()); - skill.GetVictim().SetAmount(0.2f + 0.1f * skill.GetLevel()); - skill.GetVictim().SetYijin(1); return true; } - - public bool TakeEffect(Skill skill) - { - return true; - } - - public float GetEffectdistance(Skill skill) - { - return 5f; - } - - public float GetHitrate(Skill skill) - { - return 0f; - } + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 5f; + public float GetHitrate(Skill skill) => 0f; #endif } } - - - - - - - - - - - - - - - - - - diff --git a/Assets/PerfectWorld/Scripts/Skills/skill178.cs b/Assets/PerfectWorld/Scripts/Skills/skill178.cs index c4d5679910..c8f1c668b8 100644 --- a/Assets/PerfectWorld/Scripts/Skills/skill178.cs +++ b/Assets/PerfectWorld/Scripts/Skills/skill178.cs @@ -1,4 +1,4 @@ -#define SKILL_CLIENT +#define SKILL_CLIENT using BrewMonster.Scripts.Skills; using System.Collections.Generic; using System.Text; @@ -21,56 +21,29 @@ namespace BrewMonster public class Skill178Stub : SkillStub { - // Static arrays for skill requirements private static readonly int[] RequiredLevelArray = { 23, 28, 33, 38, 43, 48, 53, 58, 63, 68 }; private static readonly int[] RequiredSpArray = { 5600, 8720, 12880, 18400, 25600, 35280, 48160, 65440, 88800, 120800 }; private static readonly int[] RequiredMoneyArray = { 630, 1000, 1450, 1900, 2380, 2880, 3380, 3880, 10980, 41980 }; + #if SKILL_SERVER public class State1 : SkillStub.State { - public int GetTime(Skill skill) - { - return 0; - } - - public bool Quit(Skill skill) - { - return false; - } - - public bool Loop(Skill skill) - { - return false; - } - - public bool Bypass(Skill skill) - { - return false; - } - + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; public void Calculate(Skill skill) { skill.GetPlayer().SetDecmp(20); skill.GetPlayer().SetPerform(1); } - - public bool Interrupt(Skill skill) - { - return false; - } - - public bool Cancel(Skill skill) - { - return true; - } - - public bool Skip(Skill skill) - { - return false; - } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; } #endif + public Skill178Stub() : base(178) { cls = 0; @@ -98,86 +71,31 @@ namespace BrewMonster restrict_corpse = 0; allow_forms = 1; restrict_weapons.Add(0); - restrict_weapons.Add(1); - restrict_weapons.Add(182); - restrict_weapons.Add(5); - restrict_weapons.Add(292); - restrict_weapons.Add(9); - effect = "易髓经.sgc"; + effect = ""; range = new Range(); - range.type = 5; - doenchant = 1; - dobless = 0; - commoncooldown = 0; - commoncooldowntime = 0; - pre_skills = new Dictionary(); - pre_skills.Add(177, 1); + range.type = 0; #if SKILL_SERVER statestub.Add(new State1()); #endif } - ~Skill178Stub() - { - } + ~Skill178Stub() { } - public float GetMpcost(Skill skill) - { - return 20f; - } - - public int GetExecutetime(Skill skill) - { - return 0; - } - - public int GetCoolingtime(Skill skill) - { - return 10000; - } - - public int GetRequiredLevel(Skill skill) - { - return RequiredLevelArray[skill.GetLevel() - 1]; - } - - public int GetRequiredSp(Skill skill) - { - return RequiredSpArray[skill.GetLevel() - 1]; - } - - public int GetRequiredMoney(Skill skill) - { - return RequiredMoneyArray[skill.GetLevel() - 1]; - } - - public float GetRadius(Skill skill) - { - return 0f; - } - - public float GetAttackdistance(Skill skill) - { - return 0f; - } - - public float GetAngle(Skill skill) - { - return (float)(1 - 0.0111111 * 0); - } - - public float GetPraydistance(Skill skill) - { - return 0f; - } + public float GetMpcost(Skill skill) => 20f; + public int GetExecutetime(Skill skill) => 0; + public int GetCoolingtime(Skill skill) => 10000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; #if SKILL_CLIENT public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) { - string result = string.Format(format, - skill.GetLevel(), - 20 + 10 * skill.GetLevel(), - 20 + 10 * skill.GetLevel()); + string result = string.Format(format, skill.GetLevel(), 20 + 10 * skill.GetLevel(), 20 + 10 * skill.GetLevel()); if (result.Length < length) { buffer.Append(result); @@ -188,53 +106,15 @@ namespace BrewMonster #endif #if SKILL_SERVER - public int GetEnmity(Skill skill) - { - return 0; - } - + public int GetEnmity(Skill skill) => 0; public bool StateAttack(Skill skill) { - skill.GetVictim().SetTime(30000); - skill.GetVictim().SetRatio(0.2f + 0.1f * skill.GetLevel()); - skill.GetVictim().SetAmount(0.2f + 0.1f * skill.GetLevel()); - skill.GetVictim().SetXisui(1); return true; } - - public bool TakeEffect(Skill skill) - { - return true; - } - - public float GetEffectdistance(Skill skill) - { - return 5f; - } - - public float GetHitrate(Skill skill) - { - return 0f; - } + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 5f; + public float GetHitrate(Skill skill) => 0f; #endif } } - - - - - - - - - - - - - - - - - - diff --git a/Assets/PerfectWorld/Scripts/Skills/skill179.cs b/Assets/PerfectWorld/Scripts/Skills/skill179.cs new file mode 100644 index 0000000000..933bc50113 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill179.cs @@ -0,0 +1,120 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill179 : Skill + { + public const int SKILL_ID = 179; + + public Skill179() : base(SKILL_ID) + { + } + } +#endif + + public class Skill179Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 29, 34, 39, 44, 49, 54, 59, 64, 69, 74 }; + private static readonly int[] RequiredSpArray = { 9440, 13840, 19680, 27360, 37600, 51200, 69600, 94400, 128000, 191200 }; + private static readonly int[] RequiredMoneyArray = { 1090, 1540, 1990, 2480, 2980, 3480, 3980, 12980, 51980, 151980 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(20 + 30 * skill.GetLevel()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill179Stub() : base(179) + { + cls = 0; + name = "金刚经"; + nativename = "金刚经"; + icon = "金刚经.dds"; + max_level = 10; + type = 2; + apcost = 100; + arrowcost = 0; + apgain = 0; + attr = 0; + rank = 3; + eventflag = 0; + posdouble = 0; + clslimit = 0; + time_type = 1; + showorder = 1133; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + restrict_weapons.Add(0); + effect = ""; + range = new Range(); + range.type = 0; +#if SKILL_SERVER + statestub.Add(new State1()); +#endif + } + + ~Skill179Stub() { } + + public float GetMpcost(Skill skill) => (float)(20 + 30 * skill.GetLevel()); + public int GetExecutetime(Skill skill) => 0; + public int GetCoolingtime(Skill skill) => 30000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, skill.GetLevel(), 20 + 30 * skill.GetLevel(), skill.GetLevel() * 150 + 100); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) + { + return true; + } + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 5f; + public float GetHitrate(Skill skill) => 0f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill179.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill179.cs.meta new file mode 100644 index 0000000000..7afc6a5c07 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill179.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 5f884da37f52c784990afc49f5b5c49e \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill180.cs b/Assets/PerfectWorld/Scripts/Skills/skill180.cs new file mode 100644 index 0000000000..472756781b --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill180.cs @@ -0,0 +1,165 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill180 : Skill + { + public const int SKILL_ID = 180; + + public Skill180() : base(SKILL_ID) + { + } + } +#endif + + public class Skill180Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 9, 14, 19, 24, 29, 34, 39, 44, 49, 54 }; + private static readonly int[] RequiredSpArray = { 800, 1920, 3680, 6160, 9440, 13840, 19680, 27360, 37600, 51200 }; + private static readonly int[] RequiredMoneyArray = { 110, 250, 440, 680, 1090, 1540, 1990, 2480, 2980, 3480 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.2f *(-6 + 15 * skill.GetLevel())); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.8f *(-6 + 15 * skill.GetLevel())); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill180Stub() : base(180) + { + cls = 1; + name = "寒冰护甲"; + nativename = "寒冰护甲"; + icon = "寒冰护甲.dds"; + max_level = 10; + type = 2; + apcost = 30; + arrowcost = 0; + apgain = 0; + attr = 0; + rank = 1; + eventflag = 0; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1210; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = ""; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(292); + range = new Range(); + range.type = 5; + pre_skills = new Dictionary(); + pre_skills.Add(88, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill180Stub() { } + + public float GetMpcost(Skill skill) => (float)(-6 + 15 * skill.GetLevel()); + public int GetExecutetime(Skill skill) => 1200; + public int GetCoolingtime(Skill skill) => 3000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, + skill.GetLevel(), + 12 + 15 * skill.GetLevel(), + 10 * skill.GetLevel(), + skill.GetLevel()); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 20f; + public int GetAttackspeed(Skill skill) => 4; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill180.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill180.cs.meta new file mode 100644 index 0000000000..22e93042ca --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill180.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: e79a99e9fcf6b7041b6ca371546f806c \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill1805.cs b/Assets/PerfectWorld/Scripts/Skills/skill1805.cs new file mode 100644 index 0000000000..640bdbe0f6 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill1805.cs @@ -0,0 +1,150 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill1805 : Skill + { + public const int SKILL_ID = 1805; + + public Skill1805() : base(SKILL_ID) + { + } + } +#endif + + public class Skill1805Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 100 }; + private static readonly int[] RequiredSpArray = { 3000000 }; + private static readonly int[] RequiredItemArray = { 33739 }; + private static readonly int[] RequiredMoneyArray = { 3000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 3500; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(273); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1500; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(1090); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill1805Stub() : base(1805) + { + cls = 1; + name = "秘法之光"; + nativename = "秘法之光"; + icon = "法之奥义.dds"; + max_level = 1; + type = 2; + apcost = 30; + arrowcost = 0; + apgain = 0; + attr = 0; + rank = 8; + eventflag = 0; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 2901; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "法师_法之奥义.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(292); + range = new Range(); + range.type = 5; + pre_skills = new Dictionary(); + pre_skills.Add(0, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill1805Stub() { } + + public float GetMpcost(Skill skill) => 1363f; + public int GetExecutetime(Skill skill) => 1500; + public int GetCoolingtime(Skill skill) => 60000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 100; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 20f; + public int GetAttackspeed(Skill skill) => 4; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill1805.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill1805.cs.meta new file mode 100644 index 0000000000..1242ca4b94 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill1805.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 48fbf4d583134bf45b4f43eef8445166 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill1806.cs b/Assets/PerfectWorld/Scripts/Skills/skill1806.cs new file mode 100644 index 0000000000..ef6f997037 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill1806.cs @@ -0,0 +1,149 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill1806 : Skill + { + public const int SKILL_ID = 1806; + + public Skill1806() : base(SKILL_ID) + { + } + } +#endif + + public class Skill1806Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 100 }; + private static readonly int[] RequiredSpArray = { 3000000 }; + private static readonly int[] RequiredItemArray = { 33736 }; + private static readonly int[] RequiredMoneyArray = { 3000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 2000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(364); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1300; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(1454); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill1806Stub() : base(1806) + { + cls = 1; + name = "冰晶世界"; + nativename = "冰晶世界"; + icon = "冰晶世界.dds"; + max_level = 1; + type = 2; + apcost = 200; + arrowcost = 0; + apgain = 0; + attr = 0; + rank = 8; + eventflag = 0; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 2902; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = ""; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(292); + restrict_weapons.Add(0); + range = new Range(); + range.type = 5; + pre_skills = new Dictionary(); + pre_skills.Add(0, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill1806Stub() { } + + public float GetMpcost(Skill skill) => 1818f; + public int GetExecutetime(Skill skill) => 1300; + public int GetCoolingtime(Skill skill) => 120000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 100; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 0f; + public float GetHitrate(Skill skill) => 1.0f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill1806.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill1806.cs.meta new file mode 100644 index 0000000000..b0e29f3dfe --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill1806.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: acbce8f77e3244b4e96b30e861f7082a \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill1807.cs b/Assets/PerfectWorld/Scripts/Skills/skill1807.cs new file mode 100644 index 0000000000..73cc6a5e68 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill1807.cs @@ -0,0 +1,152 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill1807 : Skill + { + public const int SKILL_ID = 1807; + + public Skill1807() : base(SKILL_ID) + { + } + } +#endif + + public class Skill1807Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 100 }; + private static readonly int[] RequiredSpArray = { 2500000 }; + private static readonly int[] RequiredItemArray = { 33742 }; + private static readonly int[] RequiredMoneyArray = { 2500000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(145); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 600; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(400); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill1807Stub() : base(1807) + { + cls = 1; + name = "太虚·逆空诀"; + nativename = "太虚·逆空诀"; + icon = "静谧之术.dds"; + max_level = 1; + type = 3; + apcost = 20; + arrowcost = 0; + apgain = 0; + attr = 5; + rank = 8; + eventflag = 1; + is_senior = 1; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 2905; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "法师_静谧之术.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(292); + restrict_weapons.Add(0); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(1873, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill1807Stub() { } + + public float GetMpcost(Skill skill) => 545f; + public int GetExecutetime(Skill skill) => 600; + public int GetCoolingtime(Skill skill) => 45000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 30f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 100; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 38f; + public int GetAttackspeed(Skill skill) => 0; + public float GetHitrate(Skill skill) => 1f; + public float GetTalent0(Skill skill) => player.GetSoulpower (; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill1807.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill1807.cs.meta new file mode 100644 index 0000000000..d037d3b23a --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill1807.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 9dbc35f122ba51a4f8129d48cf07ae7a \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill1808.cs b/Assets/PerfectWorld/Scripts/Skills/skill1808.cs new file mode 100644 index 0000000000..29f3270e8c --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill1808.cs @@ -0,0 +1,150 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill1808 : Skill + { + public const int SKILL_ID = 1808; + + public Skill1808() : base(SKILL_ID) + { + } + } +#endif + + public class Skill1808Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 100 }; + private static readonly int[] RequiredSpArray = { 3000000 }; + private static readonly int[] RequiredItemArray = { 33738 }; + private static readonly int[] RequiredMoneyArray = { 3000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 1300; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(182); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(727); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill1808Stub() : base(1808) + { + cls = 1; + name = "煌黑之焰"; + nativename = "煌黑之焰"; + icon = "炙焰.dds"; + max_level = 1; + type = 3; + apcost = 100; + arrowcost = 0; + apgain = 0; + attr = 5; + rank = 8; + eventflag = 0; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 2903; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "法师_灸焰.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(292); + restrict_weapons.Add(0); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(0, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill1808Stub() { } + + public float GetMpcost(Skill skill) => 909f; + public int GetExecutetime(Skill skill) => 1200; + public int GetCoolingtime(Skill skill) => 90000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 30f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 100; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 38f; + public int GetAttackspeed(Skill skill) => 9; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill1808.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill1808.cs.meta new file mode 100644 index 0000000000..b47af296a6 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill1808.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: ef841f4a9b08cbd47a242383439447f2 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill1809.cs b/Assets/PerfectWorld/Scripts/Skills/skill1809.cs new file mode 100644 index 0000000000..4caf33ca7c --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill1809.cs @@ -0,0 +1,150 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill1809 : Skill + { + public const int SKILL_ID = 1809; + + public Skill1809() : base(SKILL_ID) + { + } + } +#endif + + public class Skill1809Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 100 }; + private static readonly int[] RequiredSpArray = { 3000000 }; + private static readonly int[] RequiredItemArray = { 33737 }; + private static readonly int[] RequiredMoneyArray = { 3000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 1900; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(121); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1900; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(485); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill1809Stub() : base(1809) + { + cls = 1; + name = "沙之守护"; + nativename = "沙之守护"; + icon = "沙暴.dds"; + max_level = 1; + type = 2; + apcost = 0; + arrowcost = 0; + apgain = 0; + attr = 6; + rank = 8; + eventflag = 0; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 2904; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "法师_沙暴.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(292); + restrict_weapons.Add(0); + range = new Range(); + range.type = 5; + pre_skills = new Dictionary(); + pre_skills.Add(0, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill1809Stub() { } + + public float GetMpcost(Skill skill) => 606f; + public int GetExecutetime(Skill skill) => 1900; + public int GetCoolingtime(Skill skill) => 10000; + public float GetRadius(Skill skill) => 15f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 10f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 100; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 30f; + public int GetAttackspeed(Skill skill) => 7; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill1809.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill1809.cs.meta new file mode 100644 index 0000000000..04b0060029 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill1809.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 67a44a81663302747b52f47a45191389 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill181.cs b/Assets/PerfectWorld/Scripts/Skills/skill181.cs new file mode 100644 index 0000000000..cbef6bbdbb --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill181.cs @@ -0,0 +1,165 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill181 : Skill + { + public const int SKILL_ID = 181; + + public Skill181() : base(SKILL_ID) + { + } + } +#endif + + public class Skill181Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 9, 14, 19, 24, 29, 34, 39, 44, 49, 54 }; + private static readonly int[] RequiredSpArray = { 800, 1920, 3680, 6160, 9440, 13840, 19680, 27360, 37600, 51200 }; + private static readonly int[] RequiredMoneyArray = { 110, 250, 440, 680, 1090, 1540, 1990, 2480, 2980, 3480 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.2f *(12 + 15 * skill.GetLevel())); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.8f *(12 + 15 * skill.GetLevel())); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill181Stub() : base(181) + { + cls = 1; + name = "磐石护甲"; + nativename = "磐石护甲"; + icon = "奇门护甲.dds"; + max_level = 10; + type = 2; + apcost = 30; + arrowcost = 0; + apgain = 0; + attr = 0; + rank = 1; + eventflag = 0; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1219; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = ""; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(292); + range = new Range(); + range.type = 5; + pre_skills = new Dictionary(); + pre_skills.Add(97, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill181Stub() { } + + public float GetMpcost(Skill skill) => (float)(12 + 15 * skill.GetLevel()); + public int GetExecutetime(Skill skill) => 1200; + public int GetCoolingtime(Skill skill) => 3000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, + skill.GetLevel(), + 12 + 15 * skill.GetLevel(), + 10 * skill.GetLevel(), + 10 * skill.GetLevel()); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 20f; + public int GetAttackspeed(Skill skill) => 4; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill181.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill181.cs.meta new file mode 100644 index 0000000000..872e77f8b3 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill181.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 4023695df6bd708498470de3c8120816 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill1815.cs b/Assets/PerfectWorld/Scripts/Skills/skill1815.cs new file mode 100644 index 0000000000..3d9fe5cd90 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill1815.cs @@ -0,0 +1,154 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill1815 : Skill + { + public const int SKILL_ID = 1815; + + public Skill1815() : base(SKILL_ID) + { + } + } +#endif + + public class Skill1815Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 100 }; + private static readonly int[] RequiredSpArray = { 3000000 }; + private static readonly int[] RequiredItemArray = { 33712 }; + private static readonly int[] RequiredMoneyArray = { 3000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(28); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 600; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(113); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill1815Stub() : base(1815) + { + cls = 0; + name = "一骑紫尘"; + nativename = "一骑紫尘"; + icon = "霸气.dds"; + max_level = 1; + type = 8; + apcost = 50; + arrowcost = 0; + apgain = 0; + attr = 7; + rank = 8; + eventflag = 0; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 2901; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "巫师_复仇雷霆.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(1); + restrict_weapons.Add(5); + restrict_weapons.Add(9); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(0, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill1815Stub() { } + + public float GetMpcost(Skill skill) => 141f; + public int GetExecutetime(Skill skill) => 600; + public int GetCoolingtime(Skill skill) => 90000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 15f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 100; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 25f; + public int GetAttackspeed(Skill skill) => 0; + public float GetHitrate(Skill skill) => 1f; + public float GetTalent0(Skill skill) => 1.2 * player.GetPureattack (; + public float GetTalent1(Skill skill) => player.GetAttackdegree (; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill1815.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill1815.cs.meta new file mode 100644 index 0000000000..905e4df5c2 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill1815.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: f8d471a82d315364ca03f80de9495621 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill1816.cs b/Assets/PerfectWorld/Scripts/Skills/skill1816.cs new file mode 100644 index 0000000000..a14ebd5dd9 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill1816.cs @@ -0,0 +1,156 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill1816 : Skill + { + public const int SKILL_ID = 1816; + + public Skill1816() : base(SKILL_ID) + { + } + } +#endif + + public class Skill1816Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 100 }; + private static readonly int[] RequiredSpArray = { 5000000 }; + private static readonly int[] RequiredItemArray = { 33713 }; + private static readonly int[] RequiredMoneyArray = { 5000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 400; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(99); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1700; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(396); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill1816Stub() : base(1816) + { + cls = 0; + name = "太虚·诛神诀"; + nativename = "太虚·诛神诀"; + icon = "狂风.dds"; + max_level = 1; + type = 2; + apcost = 300; + arrowcost = 0; + apgain = 0; + attr = 1; + rank = 8; + eventflag = 0; + is_senior = 1; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 2905; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "武侠_狂风.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(1); + restrict_weapons.Add(5); + restrict_weapons.Add(9); + restrict_weapons.Add(182); + restrict_weapons.Add(0); + range = new Range(); + range.type = 5; + pre_skills = new Dictionary(); + pre_skills.Add(1871, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill1816Stub() { } + + public float GetMpcost(Skill skill) => 495f; + public int GetExecutetime(Skill skill) => 1700; + public int GetCoolingtime(Skill skill) => 180000; + public float GetRadius(Skill skill) => 10f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 100; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 20f; + public int GetAttackspeed(Skill skill) => 9; + public float GetHitrate(Skill skill) => 1f; + public float GetTalent0(Skill skill) => player.GetAttackdegree (; + public float GetTalent1(Skill skill) => (player.GetPureattack (; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill1816.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill1816.cs.meta new file mode 100644 index 0000000000..3f46849330 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill1816.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 14f6e369673df9542bf35e30e01379ee \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill1817.cs b/Assets/PerfectWorld/Scripts/Skills/skill1817.cs new file mode 100644 index 0000000000..097624308f --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill1817.cs @@ -0,0 +1,156 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill1817 : Skill + { + public const int SKILL_ID = 1817; + + public Skill1817() : base(SKILL_ID) + { + } + } +#endif + + public class Skill1817Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 100 }; + private static readonly int[] RequiredSpArray = { 3000000 }; + private static readonly int[] RequiredItemArray = { 33710 }; + private static readonly int[] RequiredMoneyArray = { 3000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 450; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 850; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0); + skill.SetPlus(7200); + skill.SetRatio(2); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill1817Stub() : base(1817) + { + cls = 0; + name = "天元逆转"; + nativename = "天元逆转"; + icon = "碎颅.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 0; + attr = 7; + rank = 8; + eventflag = 0; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 2903; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "武侠_碎颅.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(5); + restrict_weapons.Add(1); + restrict_weapons.Add(9); + restrict_weapons.Add(182); + restrict_weapons.Add(0); + range = new Range(); + range.type = 1; + pre_skills = new Dictionary(); + pre_skills.Add(0, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill1817Stub() { } + + public float GetMpcost(Skill skill) => 0f; + public int GetExecutetime(Skill skill) => 850; + public int GetCoolingtime(Skill skill) => 120000; + public float GetRadius(Skill skill) => 3f; + public float GetAttackdistance(Skill skill) => 12f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 10f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 100; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 20f; + public int GetAttackspeed(Skill skill) => 9; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill1817.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill1817.cs.meta new file mode 100644 index 0000000000..5e66bc002d --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill1817.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 515d5660c35a58548823a189a35a974a \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill1818.cs b/Assets/PerfectWorld/Scripts/Skills/skill1818.cs new file mode 100644 index 0000000000..a5fbffe346 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill1818.cs @@ -0,0 +1,156 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill1818 : Skill + { + public const int SKILL_ID = 1818; + + public Skill1818() : base(SKILL_ID) + { + } + } +#endif + + public class Skill1818Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 100 }; + private static readonly int[] RequiredSpArray = { 3000000 }; + private static readonly int[] RequiredItemArray = { 33711 }; + private static readonly int[] RequiredMoneyArray = { 3000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(70); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 900; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(283); + skill.SetPlus(3500); + skill.SetRatio(1); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill1818Stub() : base(1818) + { + cls = 0; + name = "一掷乾坤"; + nativename = "一掷乾坤"; + icon = "回旋击.dds"; + max_level = 1; + type = 1; + apcost = 35; + arrowcost = 0; + apgain = 0; + attr = 7; + rank = 8; + eventflag = 0; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 2904; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "武侠_回旋击.sgc"; + doenchant = 1; + dobless = 1; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(9); + restrict_weapons.Add(1); + restrict_weapons.Add(5); + restrict_weapons.Add(182); + range = new Range(); + range.type = 3; + pre_skills = new Dictionary(); + pre_skills.Add(0, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill1818Stub() { } + + public float GetMpcost(Skill skill) => 353f; + public int GetExecutetime(Skill skill) => 900; + public int GetCoolingtime(Skill skill) => 60000; + public float GetRadius(Skill skill) => 8f; + public float GetAttackdistance(Skill skill) => 15f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 25f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 100; + public bool StateAttack(Skill skill) => true; + public bool BlessMe(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 30f; + public int GetAttackspeed(Skill skill) => 9; + public float GetHitrate(Skill skill) => 3f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill1818.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill1818.cs.meta new file mode 100644 index 0000000000..d18fa7bc85 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill1818.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 20df611b7727dfe48bae66f90c9dc9dc \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill1819.cs b/Assets/PerfectWorld/Scripts/Skills/skill1819.cs new file mode 100644 index 0000000000..e7a5eb0b77 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill1819.cs @@ -0,0 +1,154 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill1819 : Skill + { + public const int SKILL_ID = 1819; + + public Skill1819() : base(SKILL_ID) + { + } + } +#endif + + public class Skill1819Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 100 }; + private static readonly int[] RequiredSpArray = { 3000000 }; + private static readonly int[] RequiredItemArray = { 33709 }; + private static readonly int[] RequiredMoneyArray = { 3000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(42); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 2000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(170); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill1819Stub() : base(1819) + { + cls = 0; + name = "赤龙索"; + nativename = "赤龙索"; + icon = "龙依.dds"; + max_level = 1; + type = 3; + apcost = 50; + arrowcost = 0; + apgain = 0; + attr = 1; + rank = 8; + eventflag = 0; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 2902; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "武侠_龙爪手.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(182); + restrict_weapons.Add(0); + restrict_weapons.Add(1); + restrict_weapons.Add(5); + restrict_weapons.Add(9); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(0, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill1819Stub() { } + + public float GetMpcost(Skill skill) => 212f; + public int GetExecutetime(Skill skill) => 2000; + public int GetCoolingtime(Skill skill) => 120000; + public float GetRadius(Skill skill) => 10f; + public float GetAttackdistance(Skill skill) => 15f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 25f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 100; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 35f; + public int GetAttackspeed(Skill skill) => 9; + public float GetHitrate(Skill skill) => 1f; + public float GetTalent0(Skill skill) => player.GetSoulpower (; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill1819.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill1819.cs.meta new file mode 100644 index 0000000000..da5ee5df28 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill1819.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 786a0ec08bf32664fa44221f4a12737d \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill182.cs b/Assets/PerfectWorld/Scripts/Skills/skill182.cs new file mode 100644 index 0000000000..a1b673b324 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill182.cs @@ -0,0 +1,169 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill182 : Skill + { + public const int SKILL_ID = 182; + + public Skill182() : base(SKILL_ID) + { + } + } +#endif + + public class Skill182Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 16, 21, 26, 31, 36, 41, 46, 51, 56, 61 }; + private static readonly int[] RequiredSpArray = { 3200, 5800, 9200, 13900, 20000, 28100, 38900, 53200, 72400, 98300 }; + private static readonly int[] RequiredMoneyArray = { 320, 530, 820, 1270, 1720, 2180, 2680, 3180, 3680, 6980 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 1800; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.2f *(39.6f + 18 * skill.GetLevel())); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.8f *(39.6f + 18 * skill.GetLevel())); + skill.SetPlus(3.2f * skill.GetLevel() * skill.GetLevel() + 114.6f * skill.GetLevel() + 328.9f); + skill.SetRatio(0); + skill.SetWaterdamage(skill.GetMagicattack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill182Stub() : base(182) + { + cls = 1; + name = "冰雹"; + nativename = "冰雹"; + icon = "冰雹.dds"; + max_level = 10; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 5; + attr = 4; + rank = 1; + eventflag = 0; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1211; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 3; + effect = "冰雹.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(292); + range = new Range(); + range.type = 3; + pre_skills = new Dictionary(); + pre_skills.Add(0, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill182Stub() { } + + public float GetMpcost(Skill skill) => (float)(39.6 + 18 * skill.GetLevel()); + public int GetExecutetime(Skill skill) => 1200; + public int GetCoolingtime(Skill skill) => 12000; + public float GetRadius(Skill skill) => (float)(4 + 0.4 * skill.GetLevel()); + public float GetAttackdistance(Skill skill) => (float)(4 + 0.4 * skill.GetLevel()); + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(19.5 + 0.9 * skill.GetLevel()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, + skill.GetLevel(), + 19.5 + 0.9 * skill.GetLevel(), + 39.6 + 18 * skill.GetLevel(), + 3.2 * skill.GetLevel() * skill.GetLevel() + 114.6 * skill.GetLevel() + 328.9, + 2 + 0.2 * skill.GetLevel()); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 25 + skill.GetLevel(); + public int GetAttackspeed(Skill skill) => 0; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill182.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill182.cs.meta new file mode 100644 index 0000000000..af0a4a241f --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill182.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: c8efff5b62497aa46859e38e54023686 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill183.cs b/Assets/PerfectWorld/Scripts/Skills/skill183.cs new file mode 100644 index 0000000000..926e5de726 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill183.cs @@ -0,0 +1,110 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill183 : Skill + { + public const int SKILL_ID = 183; + + public Skill183() : base(SKILL_ID) + { + } + } +#endif + + public class Skill183Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 59 }; + private static readonly int[] RequiredSpArray = { 69600 }; + private static readonly int[] RequiredMoneyArray = { 3980 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill183Stub() : base(183) + { + cls = 1; + name = "般若心经"; + nativename = "般若心经"; + icon = "般若心经.dds"; + max_level = 1; + type = 2; + apcost = 200; + arrowcost = 0; + apgain = 0; + attr = 0; + rank = 6; + eventflag = 1; + posdouble = 0; + clslimit = 0; + time_type = 1; + showorder = 1217; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "般若心经.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(292); + restrict_weapons.Add(0); + range = new Range(); + range.type = 5; + pre_skills = new Dictionary(); + pre_skills.Add(89, 5); +#if SKILL_SERVER + statestub.Add(new State1()); +#endif + } + + ~Skill183Stub() { } + + public float GetMpcost(Skill skill) => 0f; + public int GetExecutetime(Skill skill) => 0; + public int GetCoolingtime(Skill skill) => 60000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 30f; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill183.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill183.cs.meta new file mode 100644 index 0000000000..c2047b8635 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill183.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: ec2133869cfb82d4189f534be86deeaa \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill184.cs b/Assets/PerfectWorld/Scripts/Skills/skill184.cs new file mode 100644 index 0000000000..dba1974a92 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill184.cs @@ -0,0 +1,166 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill184 : Skill + { + public const int SKILL_ID = 184; + + public Skill184() : base(SKILL_ID) + { + } + } +#endif + + public class Skill184Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 49, 53, 57, 61, 65, 69, 73, 77, 81, 85 }; + private static readonly int[] RequiredSpArray = { 47000, 60200, 76900, 98300, 125000, 160000, 215000, 327000, 484000, 705000 }; + private static readonly int[] RequiredMoneyArray = { 2980, 3380, 3780, 6980, 14980, 51980, 131980, 251980, 451980, 771980 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 500; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.2f *(135 + 12 * skill.GetLevel())); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 2000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.8f *(135 + 12 * skill.GetLevel())); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill184Stub() : base(184) + { + cls = 1; + name = "石破天惊"; + nativename = "石破天惊"; + icon = "石破天惊.dds"; + max_level = 10; + type = 3; + apcost = 0; + arrowcost = 0; + apgain = 10; + attr = 0; + rank = 5; + eventflag = 0; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1223; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "石破天惊.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(292); + restrict_weapons.Add(0); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(98, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill184Stub() { } + + public float GetMpcost(Skill skill) => (float)(135 + 12 * skill.GetLevel()); + public int GetExecutetime(Skill skill) => 2000; + public int GetCoolingtime(Skill skill) => 31000 - 1000 * skill.GetLevel(); + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(19.5 + 0.9 * skill.GetLevel()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, + skill.GetLevel(), + 19.5 + 0.9 * skill.GetLevel(), + 135 + 12 * skill.GetLevel(), + 31 - 1 * skill.GetLevel(), + 2 + 0.3 * skill.GetLevel()); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 100; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 25 + skill.GetLevel(); + public int GetAttackspeed(Skill skill) => 27; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill184.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill184.cs.meta new file mode 100644 index 0000000000..39de064f98 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill184.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: a2e7d62ab874faf40aebc102d0176b07 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill1864.cs b/Assets/PerfectWorld/Scripts/Skills/skill1864.cs new file mode 100644 index 0000000000..f8e28289ee --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill1864.cs @@ -0,0 +1,83 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill1864 : Skill + { + public const int SKILL_ID = 1864; + + public Skill1864() : base(SKILL_ID) + { + } + } +#endif + + public class Skill1864Stub : SkillStub + { + + + public Skill1864Stub() : base(1864) + { + cls = 1; + name = "8704021512"; + nativename = "8704021512"; + icon = ""; + max_level = 1; + type = 3; + apcost = 0; + arrowcost = 0; + apgain = 0; + attr = 0; + rank = 0; + eventflag = 0; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 0; + allow_land = true; + allow_air = false; + allow_water = false; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 0; + effect = "法师_冰晶世界.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(0, 1); + + } + + ~Skill1864Stub() { } + + public float GetMpcost(Skill skill) => 0f; + public int GetExecutetime(Skill skill) => 0; + public int GetCoolingtime(Skill skill) => 0; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 0f; + public float GetHitrate(Skill skill) => 1.0f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill1864.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill1864.cs.meta new file mode 100644 index 0000000000..f1486359e1 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill1864.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 2eabc289456a37048a35ad0f437fceaa \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill1865.cs b/Assets/PerfectWorld/Scripts/Skills/skill1865.cs new file mode 100644 index 0000000000..2d2eb9a144 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill1865.cs @@ -0,0 +1,152 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill1865 : Skill + { + public const int SKILL_ID = 1865; + + public Skill1865() : base(SKILL_ID) + { + } + } +#endif + + public class Skill1865Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 100 }; + private static readonly int[] RequiredSpArray = { 2500000 }; + private static readonly int[] RequiredItemArray = { 33740 }; + private static readonly int[] RequiredMoneyArray = { 2500000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(145); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 600; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(400); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill1865Stub() : base(1865) + { + cls = 1; + name = "太虚·逆流诀"; + nativename = "太虚·逆流诀"; + icon = "静谧之术2.dds"; + max_level = 1; + type = 3; + apcost = 20; + arrowcost = 0; + apgain = 0; + attr = 5; + rank = 8; + eventflag = 1; + is_senior = 1; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 2906; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "静谧之术2_击中.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(292); + restrict_weapons.Add(0); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(1874, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill1865Stub() { } + + public float GetMpcost(Skill skill) => 545f; + public int GetExecutetime(Skill skill) => 600; + public int GetCoolingtime(Skill skill) => 45000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 30f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 100; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 38f; + public int GetAttackspeed(Skill skill) => 0; + public float GetHitrate(Skill skill) => 1f; + public float GetTalent0(Skill skill) => player.GetSoulpower (; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill1865.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill1865.cs.meta new file mode 100644 index 0000000000..c67576f61b --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill1865.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: e27ab1d6bb526de4488281117d9427a5 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill1868.cs b/Assets/PerfectWorld/Scripts/Skills/skill1868.cs new file mode 100644 index 0000000000..ddd8c6d726 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill1868.cs @@ -0,0 +1,83 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill1868 : Skill + { + public const int SKILL_ID = 1868; + + public Skill1868() : base(SKILL_ID) + { + } + } +#endif + + public class Skill1868Stub : SkillStub + { + + + public Skill1868Stub() : base(1868) + { + cls = 0; + name = "8706856"; + nativename = "8706856"; + icon = ""; + max_level = 1; + type = 3; + apcost = 0; + arrowcost = 0; + apgain = 0; + attr = 0; + rank = 0; + eventflag = 0; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 0; + allow_land = true; + allow_air = false; + allow_water = false; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 0; + effect = "武侠_狂风.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(0, 0); + + } + + ~Skill1868Stub() { } + + public float GetMpcost(Skill skill) => 0f; + public int GetExecutetime(Skill skill) => 0; + public int GetCoolingtime(Skill skill) => 0; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 0f; + public float GetHitrate(Skill skill) => 1.0f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill1868.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill1868.cs.meta new file mode 100644 index 0000000000..2ee8ed60fe --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill1868.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: a010d16e793a6de4f901d89bc87a38a1 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill187.cs b/Assets/PerfectWorld/Scripts/Skills/skill187.cs new file mode 100644 index 0000000000..40599a96b6 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill187.cs @@ -0,0 +1,89 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill187 : Skill + { + public const int SKILL_ID = 187; + + public Skill187() : base(SKILL_ID) + { + } + } +#endif + + public class Skill187Stub : SkillStub + { + private static readonly int[] RequiredItemArray = { 42333 }; + private static readonly int[] RequiredMoneyArray = { 42333 }; + + + public Skill187Stub() : base(187) + { + cls = 0; + name = "2233"; + nativename = "2233"; + icon = "无效.ddsdd"; + max_level = 12; + type = 10; + apcost = 2233; + arrowcost = 31; + apgain = 3233; + attr = 6; + rank = 1; + eventflag = 0; + is_senior = 1; + posdouble = 0; + clslimit = 0; + time_type = 3; + showorder = 4233; + allow_land = false; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 1; + restrict_corpse = 2; + allow_forms = 15; + effect = "3233"; + doenchant = 0; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + effect = "3233"; + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(0, 2); + + } + + ~Skill187Stub() { } + + public float GetMpcost(Skill skill) => 1033f; + public int GetExecutetime(Skill skill) => 1000333; + public int GetCoolingtime(Skill skill) => 30002; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 1533f; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 33344; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 8.5211f; + public int GetAttackspeed(Skill skill) => 64; + public float GetHitrate(Skill skill) => 1233f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill187.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill187.cs.meta new file mode 100644 index 0000000000..a8fdce12d0 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill187.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 12fdd4e1c59cd27468fea2884e06cef5 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill1871.cs b/Assets/PerfectWorld/Scripts/Skills/skill1871.cs new file mode 100644 index 0000000000..3396c92d2c --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill1871.cs @@ -0,0 +1,155 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill1871 : Skill + { + public const int SKILL_ID = 1871; + + public Skill1871() : base(SKILL_ID) + { + } + } +#endif + + public class Skill1871Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 80 }; + private static readonly int[] RequiredSpArray = { 500000 }; + private static readonly int[] RequiredItemArray = { 33714 }; + private static readonly int[] RequiredMoneyArray = { 500000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 400; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(92); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1700; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(300); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill1871Stub() : base(1871) + { + cls = 0; + name = "诛神诀"; + nativename = "诛神诀"; + icon = "狂风.dds"; + max_level = 1; + type = 2; + apcost = 299; + arrowcost = 0; + apgain = 0; + attr = 1; + rank = 8; + eventflag = 0; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 2905; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "武侠_狂风.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(1); + restrict_weapons.Add(5); + restrict_weapons.Add(9); + restrict_weapons.Add(182); + restrict_weapons.Add(0); + range = new Range(); + range.type = 5; + pre_skills = new Dictionary(); + pre_skills.Add(0, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill1871Stub() { } + + public float GetMpcost(Skill skill) => 392f; + public int GetExecutetime(Skill skill) => 1700; + public int GetCoolingtime(Skill skill) => 300000; + public float GetRadius(Skill skill) => 10f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 100; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 20f; + public int GetAttackspeed(Skill skill) => 9; + public float GetHitrate(Skill skill) => 1f; + public float GetTalent0(Skill skill) => player.GetAttackdegree (; + public float GetTalent1(Skill skill) => (player.GetPureattack (; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill1871.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill1871.cs.meta new file mode 100644 index 0000000000..919663b1df --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill1871.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 50f8533b01670a24cb735fb94767be2c \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill1872.cs b/Assets/PerfectWorld/Scripts/Skills/skill1872.cs new file mode 100644 index 0000000000..2a68452ac1 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill1872.cs @@ -0,0 +1,83 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill1872 : Skill + { + public const int SKILL_ID = 1872; + + public Skill1872() : base(SKILL_ID) + { + } + } +#endif + + public class Skill1872Stub : SkillStub + { + + + public Skill1872Stub() : base(1872) + { + cls = 0; + name = "8706857"; + nativename = "8706857"; + icon = ""; + max_level = 1; + type = 3; + apcost = 0; + arrowcost = 0; + apgain = 0; + attr = 0; + rank = 0; + eventflag = 0; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 0; + allow_land = true; + allow_air = false; + allow_water = false; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 0; + effect = "武侠_狂风.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(0, 0); + + } + + ~Skill1872Stub() { } + + public float GetMpcost(Skill skill) => 0f; + public int GetExecutetime(Skill skill) => 0; + public int GetCoolingtime(Skill skill) => 0; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 0f; + public float GetHitrate(Skill skill) => 1.0f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill1872.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill1872.cs.meta new file mode 100644 index 0000000000..a1257692d2 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill1872.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: dcf00d50b713f7844a0312859061439b \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill1873.cs b/Assets/PerfectWorld/Scripts/Skills/skill1873.cs new file mode 100644 index 0000000000..e295e598d2 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill1873.cs @@ -0,0 +1,152 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill1873 : Skill + { + public const int SKILL_ID = 1873; + + public Skill1873() : base(SKILL_ID) + { + } + } +#endif + + public class Skill1873Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 80 }; + private static readonly int[] RequiredSpArray = { 250000 }; + private static readonly int[] RequiredItemArray = { 33743 }; + private static readonly int[] RequiredMoneyArray = { 250000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(132); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 600; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(300); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill1873Stub() : base(1873) + { + cls = 1; + name = "逆空诀"; + nativename = "逆空诀"; + icon = "静谧之术.dds"; + max_level = 1; + type = 3; + apcost = 50; + arrowcost = 0; + apgain = 0; + attr = 5; + rank = 8; + eventflag = 1; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 2905; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "法师_静谧之术.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(292); + restrict_weapons.Add(0); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(0, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill1873Stub() { } + + public float GetMpcost(Skill skill) => 432f; + public int GetExecutetime(Skill skill) => 600; + public int GetCoolingtime(Skill skill) => 60000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 30f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 100; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 38f; + public int GetAttackspeed(Skill skill) => 0; + public float GetHitrate(Skill skill) => 1f; + public float GetTalent0(Skill skill) => player.GetSoulpower (; + public float GetTalent1(Skill skill) => player.GetLevel (; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill1873.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill1873.cs.meta new file mode 100644 index 0000000000..10d2939854 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill1873.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: c266793a86edf844283c4232a2e56063 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill1874.cs b/Assets/PerfectWorld/Scripts/Skills/skill1874.cs new file mode 100644 index 0000000000..496da3b258 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill1874.cs @@ -0,0 +1,152 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill1874 : Skill + { + public const int SKILL_ID = 1874; + + public Skill1874() : base(SKILL_ID) + { + } + } +#endif + + public class Skill1874Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 80 }; + private static readonly int[] RequiredSpArray = { 250000 }; + private static readonly int[] RequiredItemArray = { 33741 }; + private static readonly int[] RequiredMoneyArray = { 250000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(132); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 600; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(300); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill1874Stub() : base(1874) + { + cls = 1; + name = "逆流诀"; + nativename = "逆流诀"; + icon = "静谧之术2.dds"; + max_level = 1; + type = 3; + apcost = 50; + arrowcost = 0; + apgain = 0; + attr = 5; + rank = 8; + eventflag = 1; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 2906; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "静谧之术2_击中.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(292); + restrict_weapons.Add(0); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(0, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill1874Stub() { } + + public float GetMpcost(Skill skill) => 432f; + public int GetExecutetime(Skill skill) => 600; + public int GetCoolingtime(Skill skill) => 60000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 30f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 100; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 38f; + public int GetAttackspeed(Skill skill) => 0; + public float GetHitrate(Skill skill) => 1f; + public float GetTalent0(Skill skill) => player.GetSoulpower (; + public float GetTalent1(Skill skill) => player.GetLevel (; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill1874.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill1874.cs.meta new file mode 100644 index 0000000000..6d64f59fa2 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill1874.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 93cb78294aa4f704dae9876c58a31a8c \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill1951.cs b/Assets/PerfectWorld/Scripts/Skills/skill1951.cs new file mode 100644 index 0000000000..131d8c6c58 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill1951.cs @@ -0,0 +1,140 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill1951 : Skill + { + public const int SKILL_ID = 1951; + + public Skill1951() : base(SKILL_ID) + { + } + } +#endif + + public class Skill1951Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 1 }; + private static readonly int[] RequiredSpArray = { 1 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 500; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill1951Stub() : base(1951) + { + cls = 1; + name = "142452777"; + nativename = "142452777"; + icon = ""; + max_level = 10; + type = 3; + apcost = 0; + arrowcost = 0; + apgain = 0; + attr = 2; + rank = 0; + eventflag = 0; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 0; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 0; + effect = ""; + doenchant = 0; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(0, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill1951Stub() { } + + public float GetMpcost(Skill skill) => 0f; + public int GetExecutetime(Skill skill) => 1000; + public int GetCoolingtime(Skill skill) => 0; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 30f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 50f; + public float GetHitrate(Skill skill) => 0f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill1951.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill1951.cs.meta new file mode 100644 index 0000000000..830be06835 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill1951.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: d8d75c227691a724badb6f2f2e83e636 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill2.cs b/Assets/PerfectWorld/Scripts/Skills/skill2.cs index 6812f00908..9105e9d7b1 100644 --- a/Assets/PerfectWorld/Scripts/Skills/skill2.cs +++ b/Assets/PerfectWorld/Scripts/Skills/skill2.cs @@ -1,5 +1,6 @@ #define SKILL_CLIENT using BrewMonster.Scripts.Skills; +using System.Collections.Generic; using System.Text; using UnityEngine; using static BrewMonster.PET_EVOLVE_CONFIG; @@ -20,149 +21,66 @@ namespace BrewMonster public class Skill2Stub : SkillStub { - // Static arrays for skill requirements private static readonly int[] RequiredLevelArray = { 3, 8, 13, 18, 23, 28, 33, 38, 43, 48 }; private static readonly int[] RequiredSpArray = { 100, 800, 2100, 4100, 7000, 10900, 16100, 23000, 32000, 44100 }; private static readonly int[] RequiredMoneyArray = { 10, 90, 220, 400, 630, 1000, 1450, 1900, 2380, 2880 }; + #if SKILL_SERVER public class State1 : SkillStub.State { - public int GetTime(Skill skill) - { - return 200; - } - - public bool Quit(Skill skill) - { - return false; - } - - public bool Loop(Skill skill) - { - return false; - } - - public bool Bypass(Skill skill) - { - return false; - } - + public int GetTime(Skill skill) => 200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; public void Calculate(Skill skill) { - skill.GetPlayer().SetDecmp(0.2f * (-2.2f + 5.6f * skill.GetLevel())); + skill.GetPlayer().SetDecmp(0.2f *(-2.2f + 5.6f * skill.GetLevel())); skill.GetPlayer().SetPray(1); } - - public bool Interrupt(Skill skill) - { - return false; - } - - public bool Cancel(Skill skill) - { - return true; - } - - public bool Skip(Skill skill) - { - return false; - } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; } #endif #if SKILL_SERVER public class State2 : SkillStub.State { - public int GetTime(Skill skill) - { - return 700; - } - - public bool Quit(Skill skill) - { - return false; - } - - public bool Loop(Skill skill) - { - return false; - } - - public bool Bypass(Skill skill) - { - return false; - } - + public int GetTime(Skill skill) => 700; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; public void Calculate(Skill skill) { - skill.GetPlayer().SetDecmp(0.8f * (-2.2f + 5.6f * skill.GetLevel())); + skill.GetPlayer().SetDecmp(0.8f *(-2.2f + 5.6f * skill.GetLevel())); skill.SetPlus(0); skill.SetRatio(0); skill.SetDamage(skill.GetAttack()); skill.GetPlayer().SetPerform(1); } - - public bool Interrupt(Skill skill) - { - return false; - } - - public bool Cancel(Skill skill) - { - return false; - } - - public bool Skip(Skill skill) - { - return false; - } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; } #endif #if SKILL_SERVER public class State3 : SkillStub.State { - public int GetTime(Skill skill) - { - return 0; - } - - public bool Quit(Skill skill) - { - return false; - } - - public bool Loop(Skill skill) - { - return false; - } - - public bool Bypass(Skill skill) - { - return false; - } - + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; public void Calculate(Skill skill) - { - } - - public bool Interrupt(Skill skill) - { - return false; - } - - public bool Cancel(Skill skill) - { - return false; - } - - public bool Skip(Skill skill) - { - return false; + { } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; } #endif + public Skill2Stub() : base(2) { cls = 0; @@ -190,18 +108,9 @@ namespace BrewMonster restrict_corpse = 0; allow_forms = 1; restrict_weapons.Add(0); - restrict_weapons.Add(1); - restrict_weapons.Add(182); - restrict_weapons.Add(9); - restrict_weapons.Add(5); - restrict_weapons.Add(292); - effect = "寸力.sgc"; + effect = ""; range = new Range(); range.type = 0; - doenchant = 1; - dobless = 0; - commoncooldown = 0; - commoncooldowntime = 0; #if SKILL_SERVER statestub.Add(new State1()); statestub.Add(new State2()); @@ -209,67 +118,23 @@ namespace BrewMonster #endif } - ~Skill2Stub() - { - } + ~Skill2Stub() { } - public float GetMpcost(Skill skill) - { - return (float)(-2.2 + 5.6 * skill.GetLevel()); - } - - public int GetExecutetime(Skill skill) - { - return 700; - } - - public int GetCoolingtime(Skill skill) - { - return 8000; - } - - public int GetRequiredLevel(Skill skill) - { - return RequiredLevelArray[skill.GetLevel() - 1]; - } - - public int GetRequiredSp(Skill skill) - { - return RequiredSpArray[skill.GetLevel() - 1]; - } - - public int GetRequiredMoney(Skill skill) - { - return RequiredMoneyArray[skill.GetLevel() - 1]; - } - - public float GetRadius(Skill skill) - { - return 0f; - } - - public float GetAttackdistance(Skill skill) - { - return 0f; - } - - public float GetAngle(Skill skill) - { - return (float)(1 - 0.0111111 * 0); - } - - public float GetPraydistance(Skill skill) - { - return (float)skill.GetPlayer().GetRange(); - } + public float GetMpcost(Skill skill) => (float)(-2.2 + 5.6 * skill.GetLevel()); + public int GetExecutetime(Skill skill) => 700; + public int GetCoolingtime(Skill skill) => 8000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; #if SKILL_CLIENT public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) { - string result = string.Format(format, - skill.GetLevel(), - -2.2 + 5.6 * skill.GetLevel(), - 5.9 * skill.GetLevel() * skill.GetLevel() + 126.7 * skill.GetLevel() + 40.5); + string result = string.Format(format, skill.GetLevel(), -2.2 + 5.6 * skill.GetLevel(), 5.9 * skill.GetLevel() * skill.GetLevel() + 126.7 * skill.GetLevel() + 40.5); if (result.Length < length) { buffer.Append(result); @@ -280,39 +145,16 @@ namespace BrewMonster #endif #if SKILL_SERVER - public int GetEnmity(Skill skill) - { - return 0; - } + public int GetEnmity(Skill skill) => 0; public bool StateAttack(Skill skill) { - skill.GetVictim().SetProbability(1.0f * 100); - skill.GetVictim().SetTime(15000); - skill.GetVictim().SetAmount(5.9f * skill.GetLevel() * skill.GetLevel() + 126.7f * skill.GetLevel() + 40.5f); - skill.GetVictim().SetBleeding(1); return true; } - public bool TakeEffect(Skill skill) - { - return true; - } - - public float GetEffectdistance(Skill skill) - { - return 11.7f; - } - - public int GetAttackspeed(Skill skill) - { - return 3; - } - - public float GetHitrate(Skill skill) - { - return (float)(1.2 + 0.05 * skill.GetLevel()); - } + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 11.7f; + public int GetAttackspeed(Skill skill) => 3; + public float GetHitrate(Skill skill) => 1.2f + 0.05f * skill.GetLevel(); #endif } } - diff --git a/Assets/PerfectWorld/Scripts/Skills/skill2206.cs b/Assets/PerfectWorld/Scripts/Skills/skill2206.cs new file mode 100644 index 0000000000..ad37401d61 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill2206.cs @@ -0,0 +1,174 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill2206 : Skill + { + public const int SKILL_ID = 2206; + + public Skill2206() : base(SKILL_ID) + { + } + } +#endif + + public class Skill2206Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 100 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 42121 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 50; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(25); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(100); + skill.SetPlus(2825); + skill.SetRatio(0); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill2206Stub() : base(2206) + { + cls = 0; + name = "玄·虎崩"; + nativename = "玄·虎崩"; + icon = "玄·虎崩.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 20; + attr = 1; + rank = 20; + eventflag = 0; + is_senior = 1; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1101; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "武侠_虎击改.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(1); + restrict_weapons.Add(182); + restrict_weapons.Add(5); + restrict_weapons.Add(292); + restrict_weapons.Add(9); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(374, 1); + pre_skills.Add(376, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill2206Stub() { } + + public float GetMpcost(Skill skill) => 125f; + public int GetExecutetime(Skill skill) => 1000; + public int GetCoolingtime(Skill skill) => 3000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 125, 4697); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 13.3f; + public int GetAttackspeed(Skill skill) => 2; + public float GetHitrate(Skill skill) => 1.8f; + public float GetTalent0(Skill skill) => player.GetAttackdegree (; + public float GetTalent1(Skill skill) => 3 * player.GetEquipattack (; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill2206.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill2206.cs.meta new file mode 100644 index 0000000000..44249011ab --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill2206.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 54a19dbf35bf4b34e9ff47977013205f \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill2207.cs b/Assets/PerfectWorld/Scripts/Skills/skill2207.cs new file mode 100644 index 0000000000..9273b49382 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill2207.cs @@ -0,0 +1,174 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill2207 : Skill + { + public const int SKILL_ID = 2207; + + public Skill2207() : base(SKILL_ID) + { + } + } +#endif + + public class Skill2207Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 100 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 42122 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 50; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(25); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(100); + skill.SetPlus(2825); + skill.SetRatio(0); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill2207Stub() : base(2207) + { + cls = 0; + name = "荒·虎崩"; + nativename = "荒·虎崩"; + icon = "荒·虎崩.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 15; + attr = 1; + rank = 30; + eventflag = 0; + is_senior = 1; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1101; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "武侠_虎击改.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(1); + restrict_weapons.Add(182); + restrict_weapons.Add(5); + restrict_weapons.Add(292); + restrict_weapons.Add(9); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(375, 1); + pre_skills.Add(377, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill2207Stub() { } + + public float GetMpcost(Skill skill) => 125f; + public int GetExecutetime(Skill skill) => 1000; + public int GetCoolingtime(Skill skill) => 3000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 125, 4697); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 13.3f; + public int GetAttackspeed(Skill skill) => 3; + public float GetHitrate(Skill skill) => 1.8f; + public float GetTalent0(Skill skill) => player.GetAttackdegree (; + public float GetTalent1(Skill skill) => 4 * player.GetEquipattack (; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill2207.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill2207.cs.meta new file mode 100644 index 0000000000..41ecafe492 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill2207.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: b2960e35a9b41284e8d7c93c46d5729c \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill2208.cs b/Assets/PerfectWorld/Scripts/Skills/skill2208.cs new file mode 100644 index 0000000000..fb731f2597 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill2208.cs @@ -0,0 +1,171 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill2208 : Skill + { + public const int SKILL_ID = 2208; + + public Skill2208() : base(SKILL_ID) + { + } + } +#endif + + public class Skill2208Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 100 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 42123 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 50; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(42); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(168); + skill.SetPlus(7241); + skill.SetRatio(0); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill2208Stub() : base(2208) + { + cls = 0; + name = "玄·千军辟易"; + nativename = "玄·千军辟易"; + icon = "玄·千军辟易.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 10; + attr = 1; + rank = 20; + eventflag = 0; + is_senior = 1; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1108; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "武侠_横扫千军改.sgc"; + doenchant = 0; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(1); + restrict_weapons.Add(182); + restrict_weapons.Add(5); + restrict_weapons.Add(292); + restrict_weapons.Add(9); + range = new Range(); + range.type = 2; + pre_skills = new Dictionary(); + pre_skills.Add(388, 1); + pre_skills.Add(386, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill2208Stub() { } + + public float GetMpcost(Skill skill) => 210f; + public int GetExecutetime(Skill skill) => 1000; + public int GetCoolingtime(Skill skill) => 3000; + public float GetRadius(Skill skill) => 10f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 210); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 5f; + public int GetAttackspeed(Skill skill) => 6; + public float GetHitrate(Skill skill) => 2f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill2208.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill2208.cs.meta new file mode 100644 index 0000000000..90291ee250 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill2208.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 3e0f1eee8b1e5cd4e86dd4e3d5cd44ab \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill2209.cs b/Assets/PerfectWorld/Scripts/Skills/skill2209.cs new file mode 100644 index 0000000000..a544a932bf --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill2209.cs @@ -0,0 +1,171 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill2209 : Skill + { + public const int SKILL_ID = 2209; + + public Skill2209() : base(SKILL_ID) + { + } + } +#endif + + public class Skill2209Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 100 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 42124 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 50; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(42); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(168); + skill.SetPlus(5416); + skill.SetRatio(0); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill2209Stub() : base(2209) + { + cls = 0; + name = "荒·千军辟易"; + nativename = "荒·千军辟易"; + icon = "荒·千军辟易.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 10; + attr = 1; + rank = 30; + eventflag = 0; + is_senior = 1; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1108; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "武侠_横扫千军改.sgc"; + doenchant = 0; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(1); + restrict_weapons.Add(182); + restrict_weapons.Add(5); + restrict_weapons.Add(292); + restrict_weapons.Add(9); + range = new Range(); + range.type = 2; + pre_skills = new Dictionary(); + pre_skills.Add(389, 1); + pre_skills.Add(387, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill2209Stub() { } + + public float GetMpcost(Skill skill) => 210f; + public int GetExecutetime(Skill skill) => 1000; + public int GetCoolingtime(Skill skill) => 3000; + public float GetRadius(Skill skill) => 12f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 210); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 5f; + public int GetAttackspeed(Skill skill) => 6; + public float GetHitrate(Skill skill) => 2f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill2209.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill2209.cs.meta new file mode 100644 index 0000000000..4821723ae8 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill2209.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 72a4ec7f7bb462d459718b7f56d8344c \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill2210.cs b/Assets/PerfectWorld/Scripts/Skills/skill2210.cs new file mode 100644 index 0000000000..b9ffa6dac0 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill2210.cs @@ -0,0 +1,172 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill2210 : Skill + { + public const int SKILL_ID = 2210; + + public Skill2210() : base(SKILL_ID) + { + } + } +#endif + + public class Skill2210Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 100 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 42125 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 400; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(30); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1800; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(120); + skill.SetPlus(4664); + skill.SetRatio(1.8f); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill2210Stub() : base(2210) + { + cls = 0; + name = "玄·断水凌风"; + nativename = "玄·断水凌风"; + icon = "玄·断水凌风.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 10; + attr = 1; + rank = 20; + eventflag = 0; + is_senior = 1; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1104; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "武侠_凌风改.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(1); + restrict_weapons.Add(5); + restrict_weapons.Add(9); + restrict_weapons.Add(182); + restrict_weapons.Add(292); + restrict_weapons.Add(0); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(380, 1); + pre_skills.Add(378, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill2210Stub() { } + + public float GetMpcost(Skill skill) => 150f; + public int GetExecutetime(Skill skill) => 1800; + public int GetCoolingtime(Skill skill) => 6000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 150); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 22.1f; + public int GetAttackspeed(Skill skill) => 15; + public float GetHitrate(Skill skill) => 2f; + public float GetTalent0(Skill skill) => player.GetMaxhp (; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill2210.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill2210.cs.meta new file mode 100644 index 0000000000..774ed4667c --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill2210.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 8194f706bc239ee48a2a6aefcd9b7aba \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill2211.cs b/Assets/PerfectWorld/Scripts/Skills/skill2211.cs new file mode 100644 index 0000000000..b060532d54 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill2211.cs @@ -0,0 +1,172 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill2211 : Skill + { + public const int SKILL_ID = 2211; + + public Skill2211() : base(SKILL_ID) + { + } + } +#endif + + public class Skill2211Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 100 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 42126 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 400; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(30); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1800; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(120); + skill.SetPlus(4664); + skill.SetRatio(1.4f); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill2211Stub() : base(2211) + { + cls = 0; + name = "荒·断水凌风"; + nativename = "荒·断水凌风"; + icon = "荒·断水凌风.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 10; + attr = 1; + rank = 30; + eventflag = 0; + is_senior = 1; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1104; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "武侠_凌风改.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(1); + restrict_weapons.Add(5); + restrict_weapons.Add(9); + restrict_weapons.Add(182); + restrict_weapons.Add(292); + restrict_weapons.Add(0); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(381, 1); + pre_skills.Add(379, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill2211Stub() { } + + public float GetMpcost(Skill skill) => 150f; + public int GetExecutetime(Skill skill) => 1800; + public int GetCoolingtime(Skill skill) => 5000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 150); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 22.1f; + public int GetAttackspeed(Skill skill) => 15; + public float GetHitrate(Skill skill) => 2f; + public float GetTalent0(Skill skill) => player.GetMaxhp (; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill2211.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill2211.cs.meta new file mode 100644 index 0000000000..223e5d622d --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill2211.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: b4cfca84b043d8148b9e2a99d767353f \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill2254.cs b/Assets/PerfectWorld/Scripts/Skills/skill2254.cs new file mode 100644 index 0000000000..2fd6527514 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill2254.cs @@ -0,0 +1,164 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill2254 : Skill + { + public const int SKILL_ID = 2254; + + public Skill2254() : base(SKILL_ID) + { + } + } +#endif + + public class Skill2254Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 100 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 42098 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(53); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 300; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(212); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill2254Stub() : base(2254) + { + cls = 1; + name = "玄·磐石护甲"; + nativename = "玄·磐石护甲"; + icon = "奇门护甲1.dds"; + max_level = 1; + type = 2; + apcost = 10; + arrowcost = 0; + apgain = 0; + attr = 0; + rank = 20; + eventflag = 0; + is_senior = 1; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1219; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "法师_磐石护甲.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(292); + range = new Range(); + range.type = 5; + pre_skills = new Dictionary(); + pre_skills.Add(474, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill2254Stub() { } + + public float GetMpcost(Skill skill) => 265f; + public int GetExecutetime(Skill skill) => 300; + public int GetCoolingtime(Skill skill) => 3000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 265); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 20f; + public int GetAttackspeed(Skill skill) => 4; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill2254.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill2254.cs.meta new file mode 100644 index 0000000000..37cddae3b1 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill2254.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: cac5fa70d4d7e9a49b26592f5bcccfeb \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill2255.cs b/Assets/PerfectWorld/Scripts/Skills/skill2255.cs new file mode 100644 index 0000000000..a4698aeae9 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill2255.cs @@ -0,0 +1,164 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill2255 : Skill + { + public const int SKILL_ID = 2255; + + public Skill2255() : base(SKILL_ID) + { + } + } +#endif + + public class Skill2255Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 100 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 42099 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(53); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 300; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(212); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill2255Stub() : base(2255) + { + cls = 1; + name = "荒·磐石护甲"; + nativename = "荒·磐石护甲"; + icon = "奇门护甲2.dds"; + max_level = 1; + type = 2; + apcost = 10; + arrowcost = 0; + apgain = 0; + attr = 0; + rank = 30; + eventflag = 0; + is_senior = 1; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1219; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "法师_磐石护甲.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(292); + range = new Range(); + range.type = 5; + pre_skills = new Dictionary(); + pre_skills.Add(475, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill2255Stub() { } + + public float GetMpcost(Skill skill) => 265f; + public int GetExecutetime(Skill skill) => 300; + public int GetCoolingtime(Skill skill) => 3000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 265); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 20f; + public int GetAttackspeed(Skill skill) => 4; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill2255.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill2255.cs.meta new file mode 100644 index 0000000000..2ad6b9374c --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill2255.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: abe70766c28c30b4cb8b0a96b4841110 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill2256.cs b/Assets/PerfectWorld/Scripts/Skills/skill2256.cs new file mode 100644 index 0000000000..9b697445a1 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill2256.cs @@ -0,0 +1,164 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill2256 : Skill + { + public const int SKILL_ID = 2256; + + public Skill2256() : base(SKILL_ID) + { + } + } +#endif + + public class Skill2256Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 100 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 42094 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(53); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 300; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(212); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill2256Stub() : base(2256) + { + cls = 1; + name = "玄·烈焰护甲"; + nativename = "玄·烈焰护甲"; + icon = "烈焰护甲1.dds"; + max_level = 1; + type = 2; + apcost = 0; + arrowcost = 0; + apgain = 0; + attr = 0; + rank = 20; + eventflag = 0; + is_senior = 1; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1202; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "法师_烈焰护甲.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(292); + range = new Range(); + range.type = 5; + pre_skills = new Dictionary(); + pre_skills.Add(442, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill2256Stub() { } + + public float GetMpcost(Skill skill) => 265f; + public int GetExecutetime(Skill skill) => 300; + public int GetCoolingtime(Skill skill) => 3000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 265); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 20f; + public int GetAttackspeed(Skill skill) => 7; + public float GetHitrate(Skill skill) => 1.0f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill2256.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill2256.cs.meta new file mode 100644 index 0000000000..4abd243665 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill2256.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: d11ea596b283b7244926ea28dbb13dfd \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill2257.cs b/Assets/PerfectWorld/Scripts/Skills/skill2257.cs new file mode 100644 index 0000000000..e7bd53849e --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill2257.cs @@ -0,0 +1,164 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill2257 : Skill + { + public const int SKILL_ID = 2257; + + public Skill2257() : base(SKILL_ID) + { + } + } +#endif + + public class Skill2257Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 100 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 42095 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(53); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 300; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(212); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill2257Stub() : base(2257) + { + cls = 1; + name = "荒·烈焰护甲"; + nativename = "荒·烈焰护甲"; + icon = "烈焰护甲2.dds"; + max_level = 1; + type = 2; + apcost = 0; + arrowcost = 0; + apgain = 0; + attr = 0; + rank = 30; + eventflag = 0; + is_senior = 1; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1202; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "法师_烈焰护甲.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(292); + range = new Range(); + range.type = 5; + pre_skills = new Dictionary(); + pre_skills.Add(443, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill2257Stub() { } + + public float GetMpcost(Skill skill) => 265f; + public int GetExecutetime(Skill skill) => 300; + public int GetCoolingtime(Skill skill) => 3000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 265); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 20f; + public int GetAttackspeed(Skill skill) => 7; + public float GetHitrate(Skill skill) => 1.0f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill2257.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill2257.cs.meta new file mode 100644 index 0000000000..0bb2b69fb3 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill2257.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: e7df7376d4338354780835075cbd63d4 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill2258.cs b/Assets/PerfectWorld/Scripts/Skills/skill2258.cs new file mode 100644 index 0000000000..e1d6379480 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill2258.cs @@ -0,0 +1,164 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill2258 : Skill + { + public const int SKILL_ID = 2258; + + public Skill2258() : base(SKILL_ID) + { + } + } +#endif + + public class Skill2258Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 100 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 42096 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(53); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 300; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(212); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill2258Stub() : base(2258) + { + cls = 1; + name = "玄·寒冰护甲"; + nativename = "玄·寒冰护甲"; + icon = "寒冰护甲1.dds"; + max_level = 1; + type = 2; + apcost = 0; + arrowcost = 0; + apgain = 5; + attr = 0; + rank = 20; + eventflag = 0; + is_senior = 1; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1210; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "法师_寒冰护甲.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(292); + range = new Range(); + range.type = 5; + pre_skills = new Dictionary(); + pre_skills.Add(458, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill2258Stub() { } + + public float GetMpcost(Skill skill) => 265f; + public int GetExecutetime(Skill skill) => 300; + public int GetCoolingtime(Skill skill) => 3000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 265); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 20f; + public int GetAttackspeed(Skill skill) => 4; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill2258.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill2258.cs.meta new file mode 100644 index 0000000000..570477eb43 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill2258.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 379270054f72dbf4999d661e8c7485ea \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill2259.cs b/Assets/PerfectWorld/Scripts/Skills/skill2259.cs new file mode 100644 index 0000000000..f17ebfec71 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill2259.cs @@ -0,0 +1,164 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill2259 : Skill + { + public const int SKILL_ID = 2259; + + public Skill2259() : base(SKILL_ID) + { + } + } +#endif + + public class Skill2259Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 100 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 42097 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(53); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 300; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(212); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill2259Stub() : base(2259) + { + cls = 1; + name = "荒·寒冰护甲"; + nativename = "荒·寒冰护甲"; + icon = "寒冰护甲2.dds"; + max_level = 1; + type = 2; + apcost = 0; + arrowcost = 0; + apgain = 5; + attr = 0; + rank = 30; + eventflag = 0; + is_senior = 1; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1210; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "法师_寒冰护甲.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(292); + range = new Range(); + range.type = 5; + pre_skills = new Dictionary(); + pre_skills.Add(459, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill2259Stub() { } + + public float GetMpcost(Skill skill) => 265f; + public int GetExecutetime(Skill skill) => 300; + public int GetCoolingtime(Skill skill) => 3000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 265); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 20f; + public int GetAttackspeed(Skill skill) => 4; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill2259.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill2259.cs.meta new file mode 100644 index 0000000000..5d1e3ddd48 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill2259.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 8d27e85513f8060479681ab07180baf7 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill226.cs b/Assets/PerfectWorld/Scripts/Skills/skill226.cs new file mode 100644 index 0000000000..82b121621b --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill226.cs @@ -0,0 +1,140 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill226 : Skill + { + public const int SKILL_ID = 226; + + public Skill226() : base(SKILL_ID) + { + } + } +#endif + + public class Skill226Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 29 }; + private static readonly int[] RequiredSpArray = { 0 }; + private static readonly int[] RequiredMoneyArray = { 0 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill226Stub() : base(226) + { + cls = 0; + name = "真元爆发"; + nativename = "真元爆发"; + icon = "爆气1.dds"; + max_level = 1; + type = 2; + apcost = 100; + arrowcost = 0; + apgain = 0; + attr = 1; + rank = 3; + eventflag = 0; + clslimit = 0; + time_type = 0; + showorder = 2111; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + restrict_weapons.Add(0); + effect = ""; + range = new Range(); + range.type = 0; +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill226Stub() { } + + public float GetMpcost(Skill skill) => 0f; + public int GetExecutetime(Skill skill) => 1000; + public int GetCoolingtime(Skill skill) => 5000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) + { + return true; + } + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 8.5f; + public float GetHitrate(Skill skill) => 1.0f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill226.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill226.cs.meta new file mode 100644 index 0000000000..c9d1eb0218 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill226.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 50df00b7e9d1c3d4d8e407f8339e3d4d \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill2260.cs b/Assets/PerfectWorld/Scripts/Skills/skill2260.cs new file mode 100644 index 0000000000..fa3da241ad --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill2260.cs @@ -0,0 +1,166 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill2260 : Skill + { + public const int SKILL_ID = 2260; + + public Skill2260() : base(SKILL_ID) + { + } + } +#endif + + public class Skill2260Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 100 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 42100 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 1500; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(53); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 800; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(212); + skill.SetPlus(3620); + skill.SetRatio(1); + skill.SetFiredamage(skill.GetMagicattack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill2260Stub() : base(2260) + { + cls = 1; + name = "废弃"; + nativename = "废弃"; + icon = "玄·业火符.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 15; + attr = 5; + rank = 20; + eventflag = 0; + is_senior = 1; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1201; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "法师_业火符.sgc"; + doenchant = 0; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(292); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(440, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill2260Stub() { } + + public float GetMpcost(Skill skill) => 265f; + public int GetExecutetime(Skill skill) => 800; + public int GetCoolingtime(Skill skill) => 3000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 30f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 30, 265); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 36f; + public int GetAttackspeed(Skill skill) => 27; + public float GetHitrate(Skill skill) => 1.0f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill2260.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill2260.cs.meta new file mode 100644 index 0000000000..3b15e3c2d9 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill2260.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 1806e4b063aa7854bbca55c1e1fa20db \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill2261.cs b/Assets/PerfectWorld/Scripts/Skills/skill2261.cs new file mode 100644 index 0000000000..73db1f28c4 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill2261.cs @@ -0,0 +1,166 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill2261 : Skill + { + public const int SKILL_ID = 2261; + + public Skill2261() : base(SKILL_ID) + { + } + } +#endif + + public class Skill2261Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 100 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 42101 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 1500; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(53); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 800; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(212); + skill.SetPlus(3620); + skill.SetRatio(1); + skill.SetFiredamage(skill.GetMagicattack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill2261Stub() : base(2261) + { + cls = 1; + name = "废弃"; + nativename = "废弃"; + icon = "荒·业火符.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 15; + attr = 5; + rank = 30; + eventflag = 0; + is_senior = 1; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1201; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "法师_业火符.sgc"; + doenchant = 0; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(292); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(441, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill2261Stub() { } + + public float GetMpcost(Skill skill) => 265f; + public int GetExecutetime(Skill skill) => 800; + public int GetCoolingtime(Skill skill) => 3000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 30f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 30, 265); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 36f; + public int GetAttackspeed(Skill skill) => 27; + public float GetHitrate(Skill skill) => 1.0f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill2261.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill2261.cs.meta new file mode 100644 index 0000000000..7c6294e862 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill2261.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 86e6c90eeea58534dacf16c0fa2943f4 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill2262.cs b/Assets/PerfectWorld/Scripts/Skills/skill2262.cs new file mode 100644 index 0000000000..7def91282e --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill2262.cs @@ -0,0 +1,164 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill2262 : Skill + { + public const int SKILL_ID = 2262; + + public Skill2262() : base(SKILL_ID) + { + } + } +#endif + + public class Skill2262Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 100 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 42102 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(120); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(480); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill2262Stub() : base(2262) + { + cls = 1; + name = "玄·霜刃"; + nativename = "玄·霜刃"; + icon = "玄·霜天之刃.dds"; + max_level = 1; + type = 2; + apcost = 0; + arrowcost = 0; + apgain = 20; + attr = 4; + rank = 20; + eventflag = 0; + is_senior = 1; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1214; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "法师_寒霜.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(292); + range = new Range(); + range.type = 2; + pre_skills = new Dictionary(); + pre_skills.Add(466, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill2262Stub() { } + + public float GetMpcost(Skill skill) => 600f; + public int GetExecutetime(Skill skill) => 1000; + public int GetCoolingtime(Skill skill) => 3000; + public float GetRadius(Skill skill) => 15f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 5f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 600); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 36f; + public int GetAttackspeed(Skill skill) => 8; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill2262.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill2262.cs.meta new file mode 100644 index 0000000000..3101b304d7 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill2262.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 3a8ac45b1e2972747ac21a4730cad180 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill2263.cs b/Assets/PerfectWorld/Scripts/Skills/skill2263.cs new file mode 100644 index 0000000000..d608f2600d --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill2263.cs @@ -0,0 +1,164 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill2263 : Skill + { + public const int SKILL_ID = 2263; + + public Skill2263() : base(SKILL_ID) + { + } + } +#endif + + public class Skill2263Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 100 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 42103 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(120); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(480); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill2263Stub() : base(2263) + { + cls = 1; + name = "荒·霜刃"; + nativename = "荒·霜刃"; + icon = "荒·霜天之刃.dds"; + max_level = 1; + type = 2; + apcost = 0; + arrowcost = 0; + apgain = 20; + attr = 4; + rank = 30; + eventflag = 0; + is_senior = 1; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1214; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "法师_寒霜.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(292); + range = new Range(); + range.type = 2; + pre_skills = new Dictionary(); + pre_skills.Add(467, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill2263Stub() { } + + public float GetMpcost(Skill skill) => 600f; + public int GetExecutetime(Skill skill) => 1000; + public int GetCoolingtime(Skill skill) => 3000; + public float GetRadius(Skill skill) => 15f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 5f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 600); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 36f; + public int GetAttackspeed(Skill skill) => 8; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill2263.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill2263.cs.meta new file mode 100644 index 0000000000..f44ae05e58 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill2263.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 5ff5ba7f224c14b41b3039338c3474f1 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill2264.cs b/Assets/PerfectWorld/Scripts/Skills/skill2264.cs new file mode 100644 index 0000000000..e988768861 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill2264.cs @@ -0,0 +1,170 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill2264 : Skill + { + public const int SKILL_ID = 2264; + + public Skill2264() : base(SKILL_ID) + { + } + } +#endif + + public class Skill2264Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 100 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 42104 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 1800; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(64); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(256); + skill.SetPlus(6560); + skill.SetRatio(2); + skill.SetEarthdamage(skill.GetMagicattack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill2264Stub() : base(2264) + { + cls = 1; + name = "玄·沙瀑"; + nativename = "玄·沙瀑"; + icon = "玄·沙瀑.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 20; + attr = 6; + rank = 20; + eventflag = 0; + is_senior = 1; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1220; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "法师_沙石咒.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(292); + restrict_weapons.Add(0); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(476, 1); + pre_skills.Add(480, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill2264Stub() { } + + public float GetMpcost(Skill skill) => 320f; + public int GetExecutetime(Skill skill) => 1000; + public int GetCoolingtime(Skill skill) => 10000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 30f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 30, 320); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 36f; + public int GetAttackspeed(Skill skill) => 7; + public float GetHitrate(Skill skill) => 1f; + public float GetTalent0(Skill skill) => player.GetAttackdegree (; + public float GetTalent1(Skill skill) => 6 * player.GetEquipattack (; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill2264.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill2264.cs.meta new file mode 100644 index 0000000000..09eac03322 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill2264.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 8417817ab9159384aa4a3bf4f5598391 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill2265.cs b/Assets/PerfectWorld/Scripts/Skills/skill2265.cs new file mode 100644 index 0000000000..ebc50dd266 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill2265.cs @@ -0,0 +1,170 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill2265 : Skill + { + public const int SKILL_ID = 2265; + + public Skill2265() : base(SKILL_ID) + { + } + } +#endif + + public class Skill2265Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 100 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 42105 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 2000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(64); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(256); + skill.SetPlus(6560); + skill.SetRatio(2); + skill.SetEarthdamage(skill.GetMagicattack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill2265Stub() : base(2265) + { + cls = 1; + name = "荒·沙瀑"; + nativename = "荒·沙瀑"; + icon = "荒·沙瀑.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 20; + attr = 6; + rank = 30; + eventflag = 0; + is_senior = 1; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1220; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "法师_沙石咒.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(292); + restrict_weapons.Add(0); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(477, 1); + pre_skills.Add(481, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill2265Stub() { } + + public float GetMpcost(Skill skill) => 320f; + public int GetExecutetime(Skill skill) => 1000; + public int GetCoolingtime(Skill skill) => 10000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 30f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 30, 320); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 36f; + public int GetAttackspeed(Skill skill) => 7; + public float GetHitrate(Skill skill) => 1f; + public float GetTalent0(Skill skill) => player.GetAttackdegree (; + public float GetTalent1(Skill skill) => 6 * player.GetEquipattack (; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill2265.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill2265.cs.meta new file mode 100644 index 0000000000..a4e0c00a02 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill2265.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: cc6ead8430f52e345b3a46f3f3ba7911 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill227.cs b/Assets/PerfectWorld/Scripts/Skills/skill227.cs new file mode 100644 index 0000000000..99ad3975cc --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill227.cs @@ -0,0 +1,140 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill227 : Skill + { + public const int SKILL_ID = 227; + + public Skill227() : base(SKILL_ID) + { + } + } +#endif + + public class Skill227Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 59 }; + private static readonly int[] RequiredSpArray = { 0 }; + private static readonly int[] RequiredMoneyArray = { 0 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 2000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill227Stub() : base(227) + { + cls = 0; + name = "高级真元爆发"; + nativename = "高级真元爆发"; + icon = "爆气2.dds"; + max_level = 1; + type = 2; + apcost = 200; + arrowcost = 0; + apgain = 0; + attr = 1; + rank = 6; + eventflag = 0; + clslimit = 0; + time_type = 0; + showorder = 2112; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + restrict_weapons.Add(0); + effect = ""; + range = new Range(); + range.type = 0; +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill227Stub() { } + + public float GetMpcost(Skill skill) => 0f; + public int GetExecutetime(Skill skill) => 2000; + public int GetCoolingtime(Skill skill) => 5000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) + { + return true; + } + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 8.5f; + public float GetHitrate(Skill skill) => 1.0f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill227.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill227.cs.meta new file mode 100644 index 0000000000..1aa02ef234 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill227.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 8c6dc9d3cf546e24a93403211c5d00ee \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill228.cs b/Assets/PerfectWorld/Scripts/Skills/skill228.cs new file mode 100644 index 0000000000..2023fafe31 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill228.cs @@ -0,0 +1,150 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill228 : Skill + { + public const int SKILL_ID = 228; + + public Skill228() : base(SKILL_ID) + { + } + } +#endif + + public class Skill228Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 29 }; + private static readonly int[] RequiredSpArray = { 18, 000 }; + private static readonly int[] RequiredMoneyArray = { 23, 000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill228Stub() : base(228) + { + cls = 1; + name = "真元爆发"; + nativename = "真元爆发"; + icon = "爆气1.dds"; + max_level = 1; + type = 2; + apcost = 100; + arrowcost = 0; + apgain = 0; + attr = 1; + rank = 3; + eventflag = 0; + clslimit = 0; + time_type = 0; + showorder = 2211; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = ""; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(1); + restrict_weapons.Add(5); + restrict_weapons.Add(9); + restrict_weapons.Add(13); + restrict_weapons.Add(182); + restrict_weapons.Add(291); + restrict_weapons.Add(292); + restrict_weapons.Add(0); + range = new Range(); + range.type = 5; + pre_skills = new Dictionary(); + pre_skills.Add(0, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill228Stub() { } + + public float GetMpcost(Skill skill) => 0f; + public int GetExecutetime(Skill skill) => 1000; + public int GetCoolingtime(Skill skill) => 5000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 8.5f; + public float GetHitrate(Skill skill) => 1.0f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill228.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill228.cs.meta new file mode 100644 index 0000000000..585fc1d297 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill228.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: bc584994442bb5948ba979b06f7b093b \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill229.cs b/Assets/PerfectWorld/Scripts/Skills/skill229.cs new file mode 100644 index 0000000000..23fc0dfa85 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill229.cs @@ -0,0 +1,150 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill229 : Skill + { + public const int SKILL_ID = 229; + + public Skill229() : base(SKILL_ID) + { + } + } +#endif + + public class Skill229Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 59 }; + private static readonly int[] RequiredSpArray = { 130, 000 }; + private static readonly int[] RequiredMoneyArray = { 180, 000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 2000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill229Stub() : base(229) + { + cls = 1; + name = "高级真元爆发"; + nativename = "高级真元爆发"; + icon = "爆气2.dds"; + max_level = 1; + type = 2; + apcost = 200; + arrowcost = 0; + apgain = 0; + attr = 1; + rank = 6; + eventflag = 0; + clslimit = 0; + time_type = 0; + showorder = 2212; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = ""; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(1); + restrict_weapons.Add(5); + restrict_weapons.Add(9); + restrict_weapons.Add(13); + restrict_weapons.Add(182); + restrict_weapons.Add(291); + restrict_weapons.Add(292); + restrict_weapons.Add(0); + range = new Range(); + range.type = 5; + pre_skills = new Dictionary(); + pre_skills.Add(0, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill229Stub() { } + + public float GetMpcost(Skill skill) => 0f; + public int GetExecutetime(Skill skill) => 2000; + public int GetCoolingtime(Skill skill) => 5000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 8.5f; + public float GetHitrate(Skill skill) => 1.0f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill229.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill229.cs.meta new file mode 100644 index 0000000000..7aafda6cea --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill229.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 1625ffa0553b0384c9d5e41ce0dce1f1 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill2352.cs b/Assets/PerfectWorld/Scripts/Skills/skill2352.cs new file mode 100644 index 0000000000..0834b30cfe --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill2352.cs @@ -0,0 +1,154 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill2352 : Skill + { + public const int SKILL_ID = 2352; + + public Skill2352() : base(SKILL_ID) + { + } + } +#endif + + public class Skill2352Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 100 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 42127 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 800; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(33); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(132); + skill.SetPlus(8118); + skill.SetRatio(1.8f); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill2352Stub() : base(2352) + { + cls = 0; + name = "玄·回马枪"; + nativename = "玄·回马枪"; + icon = "回马枪1.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 10; + attr = 1; + rank = 20; + eventflag = 0; + is_senior = 1; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1114; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "1回马枪.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(5); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(400, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill2352Stub() { } + + public float GetMpcost(Skill skill) => 165f; + public int GetExecutetime(Skill skill) => 1200; + public int GetCoolingtime(Skill skill) => 6000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => (float)(skill.GetPlayer().GetRange() + 0.3 * skill.GetLevel()); + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 20f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 28f; + public int GetAttackspeed(Skill skill) => 12; + public float GetHitrate(Skill skill) => 2.5f; + public float GetTalent0(Skill skill) => player.GetRangetotarget (; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill2352.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill2352.cs.meta new file mode 100644 index 0000000000..dd39480d8d --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill2352.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 6c03d20bf2cd3c04fb6882e2da88fb79 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill2367.cs b/Assets/PerfectWorld/Scripts/Skills/skill2367.cs new file mode 100644 index 0000000000..356706ac23 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill2367.cs @@ -0,0 +1,154 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill2367 : Skill + { + public const int SKILL_ID = 2367; + + public Skill2367() : base(SKILL_ID) + { + } + } +#endif + + public class Skill2367Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 100 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 42128 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 800; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(33); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(132); + skill.SetPlus(6918); + skill.SetRatio(1.2f); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill2367Stub() : base(2367) + { + cls = 0; + name = "荒·回马枪"; + nativename = "荒·回马枪"; + icon = "回马枪2.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 20; + attr = 7; + rank = 30; + eventflag = 0; + is_senior = 1; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1114; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "2回马枪.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(5); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(401, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill2367Stub() { } + + public float GetMpcost(Skill skill) => 165f; + public int GetExecutetime(Skill skill) => 1200; + public int GetCoolingtime(Skill skill) => 6000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => (float)(skill.GetPlayer().GetRange() + 0.3 * skill.GetLevel()); + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 20f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 28f; + public int GetAttackspeed(Skill skill) => 12; + public float GetHitrate(Skill skill) => 2.5f; + public float GetTalent0(Skill skill) => player.GetRangetotarget (; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill2367.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill2367.cs.meta new file mode 100644 index 0000000000..fe439da97a --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill2367.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 1ad9c9039ef346d4f85e502d86c2c6e3 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill2368.cs b/Assets/PerfectWorld/Scripts/Skills/skill2368.cs new file mode 100644 index 0000000000..68a3127f29 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill2368.cs @@ -0,0 +1,153 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill2368 : Skill + { + public const int SKILL_ID = 2368; + + public Skill2368() : base(SKILL_ID) + { + } + } +#endif + + public class Skill2368Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 100 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 42129 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 700; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(28); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 800; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(112); + skill.SetRatio(0.8f); + skill.SetPlus(7712); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill2368Stub() : base(2368) + { + cls = 0; + name = "玄·追魂诀"; + nativename = "玄·追魂诀"; + icon = "追魂诀1.DDS"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 15; + attr = 1; + rank = 20; + eventflag = 0; + is_senior = 1; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1122; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "1追魂诀.sgc"; + doenchant = 0; + dobless = 1; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(1); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(416, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill2368Stub() { } + + public float GetMpcost(Skill skill) => 140f; + public int GetExecutetime(Skill skill) => 800; + public int GetCoolingtime(Skill skill) => 6000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 20f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool BlessMe(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 28f; + public int GetAttackspeed(Skill skill) => 3; + public float GetHitrate(Skill skill) => 2.5f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill2368.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill2368.cs.meta new file mode 100644 index 0000000000..3981808485 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill2368.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 4d58c952e625dfa419f7bf2e3ed296e3 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill2369.cs b/Assets/PerfectWorld/Scripts/Skills/skill2369.cs new file mode 100644 index 0000000000..a2b6fb1f2f --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill2369.cs @@ -0,0 +1,153 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill2369 : Skill + { + public const int SKILL_ID = 2369; + + public Skill2369() : base(SKILL_ID) + { + } + } +#endif + + public class Skill2369Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 100 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 42130 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 800; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(28); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 900; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(112); + skill.SetRatio(0.8f); + skill.SetPlus(7712); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill2369Stub() : base(2369) + { + cls = 0; + name = "荒·追魂诀"; + nativename = "荒·追魂诀"; + icon = "追魂诀2.DDS"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 25; + attr = 1; + rank = 30; + eventflag = 0; + is_senior = 1; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1122; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "2追魂诀.sgc"; + doenchant = 0; + dobless = 1; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(1); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(417, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill2369Stub() { } + + public float GetMpcost(Skill skill) => 140f; + public int GetExecutetime(Skill skill) => 900; + public int GetCoolingtime(Skill skill) => 6000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 20f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool BlessMe(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 28f; + public int GetAttackspeed(Skill skill) => 3; + public float GetHitrate(Skill skill) => 2.5f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill2369.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill2369.cs.meta new file mode 100644 index 0000000000..00bc110f72 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill2369.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 6a4fc304f4105e0459f0f5a87210e1a0 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill2370.cs b/Assets/PerfectWorld/Scripts/Skills/skill2370.cs new file mode 100644 index 0000000000..ea379cf739 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill2370.cs @@ -0,0 +1,158 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill2370 : Skill + { + public const int SKILL_ID = 2370; + + public Skill2370() : base(SKILL_ID) + { + } + } +#endif + + public class Skill2370Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 100 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 42131 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 300; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(33); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 800; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(132); + skill.SetPlus(5115); + skill.SetRatio(0); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill2370Stub() : base(2370) + { + cls = 0; + name = "玄·劈星斩月"; + nativename = "玄·劈星斩月"; + icon = "玄·劈星斩月.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 15; + attr = 1; + rank = 21; + eventflag = 0; + is_senior = 1; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1116; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "1流星赶月.sgc"; + doenchant = 1; + dobless = 1; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(5); + restrict_weapons.Add(1); + range = new Range(); + range.type = 1; + pre_skills = new Dictionary(); + pre_skills.Add(402, 1); + pre_skills.Add(418, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill2370Stub() { } + + public float GetMpcost(Skill skill) => 165f; + public int GetExecutetime(Skill skill) => 800; + public int GetCoolingtime(Skill skill) => 6000; + public float GetRadius(Skill skill) => 3.5f; + public float GetAttackdistance(Skill skill) => 15f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 8f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool BlessMe(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 8f; + public int GetAttackspeed(Skill skill) => 6; + public float GetHitrate(Skill skill) => 1.7f; + public float GetTalent0(Skill skill) => player.GetCurweapon (; + public float GetTalent1(Skill skill) => player.GetCurweapon (; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill2370.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill2370.cs.meta new file mode 100644 index 0000000000..d7d9ed86c4 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill2370.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 8a9a8c9d630565642a2cae4b7a7e3983 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill2371.cs b/Assets/PerfectWorld/Scripts/Skills/skill2371.cs new file mode 100644 index 0000000000..0656f6c8fb --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill2371.cs @@ -0,0 +1,158 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill2371 : Skill + { + public const int SKILL_ID = 2371; + + public Skill2371() : base(SKILL_ID) + { + } + } +#endif + + public class Skill2371Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 100 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 42132 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 300; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(33); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 800; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(132); + skill.SetPlus(5115); + skill.SetRatio(0); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill2371Stub() : base(2371) + { + cls = 0; + name = "荒·劈星斩月"; + nativename = "荒·劈星斩月"; + icon = "荒·劈星斩月.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 15; + attr = 1; + rank = 31; + eventflag = 0; + is_senior = 1; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1116; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "2流星赶月.sgc"; + doenchant = 1; + dobless = 1; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(5); + restrict_weapons.Add(1); + range = new Range(); + range.type = 1; + pre_skills = new Dictionary(); + pre_skills.Add(403, 1); + pre_skills.Add(419, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill2371Stub() { } + + public float GetMpcost(Skill skill) => 165f; + public int GetExecutetime(Skill skill) => 800; + public int GetCoolingtime(Skill skill) => 6000; + public float GetRadius(Skill skill) => 3.5f; + public float GetAttackdistance(Skill skill) => 15f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 8f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool BlessMe(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 8f; + public int GetAttackspeed(Skill skill) => 6; + public float GetHitrate(Skill skill) => 1.7f; + public float GetTalent0(Skill skill) => player.GetCurweapon (; + public float GetTalent1(Skill skill) => player.GetCurweapon (; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill2371.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill2371.cs.meta new file mode 100644 index 0000000000..25f95b58b7 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill2371.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 38a751c113e93f141ad296c8dc76ecfc \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill2372.cs b/Assets/PerfectWorld/Scripts/Skills/skill2372.cs new file mode 100644 index 0000000000..fcdcb90108 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill2372.cs @@ -0,0 +1,170 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill2372 : Skill + { + public const int SKILL_ID = 2372; + + public Skill2372() : base(SKILL_ID) + { + } + } +#endif + + public class Skill2372Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 100 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 42133 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 400; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(42); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 2000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(168); + skill.SetPlus(7703); + skill.SetRatio(1.65f); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill2372Stub() : base(2372) + { + cls = 0; + name = "玄·破山"; + nativename = "玄·破山"; + icon = "玄·破山.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 12; + attr = 1; + rank = 21; + eventflag = 0; + is_senior = 1; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1118; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "1霸王断岳.sgc"; + doenchant = 1; + dobless = 1; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(9); + range = new Range(); + range.type = 2; + pre_skills = new Dictionary(); + pre_skills.Add(408, 1); + pre_skills.Add(410, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill2372Stub() { } + + public float GetMpcost(Skill skill) => 210f; + public int GetExecutetime(Skill skill) => 2000; + public int GetCoolingtime(Skill skill) => 5000; + public float GetRadius(Skill skill) => 10f; + public float GetAttackdistance(Skill skill) => (float)(skill.GetPlayer().GetRange() + 3 + 0.3 * skill.GetLevel()); + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 210, 8); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool BlessMe(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 14.9f; + public int GetAttackspeed(Skill skill) => 5; + public float GetHitrate(Skill skill) => 1.7f; + public float GetTalent0(Skill skill) => player.GetAttackdegree (; + public float GetTalent1(Skill skill) => player.GetRand (; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill2372.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill2372.cs.meta new file mode 100644 index 0000000000..1baa998102 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill2372.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: a755515683153854cbc8cff578f0a32b \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill2373.cs b/Assets/PerfectWorld/Scripts/Skills/skill2373.cs new file mode 100644 index 0000000000..807d616fd8 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill2373.cs @@ -0,0 +1,169 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill2373 : Skill + { + public const int SKILL_ID = 2373; + + public Skill2373() : base(SKILL_ID) + { + } + } +#endif + + public class Skill2373Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 100 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 42134 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 400; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(42); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 2000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(168); + skill.SetPlus(7703); + skill.SetRatio(1.65f); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill2373Stub() : base(2373) + { + cls = 0; + name = "荒·破山"; + nativename = "荒·破山"; + icon = "荒·破山.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 12; + attr = 1; + rank = 31; + eventflag = 0; + is_senior = 1; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1118; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "2霸王断岳.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(9); + range = new Range(); + range.type = 2; + pre_skills = new Dictionary(); + pre_skills.Add(409, 1); + pre_skills.Add(411, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill2373Stub() { } + + public float GetMpcost(Skill skill) => 210f; + public int GetExecutetime(Skill skill) => 2000; + public int GetCoolingtime(Skill skill) => 5000; + public float GetRadius(Skill skill) => 10f; + public float GetAttackdistance(Skill skill) => (float)(skill.GetPlayer().GetRange() + 3 + 0.3 * skill.GetLevel()); + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 210, 8); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 14.9f; + public int GetAttackspeed(Skill skill) => 5; + public float GetHitrate(Skill skill) => 1.7f; + public float GetTalent0(Skill skill) => player.GetAttackdegree (; + public float GetTalent1(Skill skill) => player.GetRand (; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill2373.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill2373.cs.meta new file mode 100644 index 0000000000..7193f36d7b --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill2373.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: f21897dd1485d5e47a9be8b9fa7f538a \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill2374.cs b/Assets/PerfectWorld/Scripts/Skills/skill2374.cs new file mode 100644 index 0000000000..a82039ae6c --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill2374.cs @@ -0,0 +1,161 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill2374 : Skill + { + public const int SKILL_ID = 2374; + + public Skill2374() : base(SKILL_ID) + { + } + } +#endif + + public class Skill2374Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 100 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 42135 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 400; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(28); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1500; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(112); + skill.SetPlus(5834); + skill.SetRatio(1.05f); + skill.SetDamage(skill.GetAttack()); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill2374Stub() : base(2374) + { + cls = 0; + name = "玄·升龙破"; + nativename = "玄·升龙破"; + icon = "玄·升龙破.DDS"; + max_level = 1; + type = 1; + apcost = 100; + arrowcost = 0; + apgain = 0; + attr = 1; + rank = 20; + eventflag = 0; + is_senior = 1; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1117; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "1霸王龙飞.sgc"; + doenchant = 1; + dobless = 1; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(9); + restrict_weapons.Add(1); + restrict_weapons.Add(5); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(406, 1); + pre_skills.Add(414, 1); + pre_skills.Add(398, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill2374Stub() { } + + public float GetMpcost(Skill skill) => 140f; + public int GetExecutetime(Skill skill) => 1500; + public int GetCoolingtime(Skill skill) => 15000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 3000; + public bool StateAttack(Skill skill) => true; + public bool BlessMe(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 19.7f; + public int GetAttackspeed(Skill skill) => 13; + public float GetHitrate(Skill skill) => 1.7f; + public float GetTalent0(Skill skill) => player.GetCurweapon (; + public float GetTalent1(Skill skill) => player.GetCurweapon (; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill2374.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill2374.cs.meta new file mode 100644 index 0000000000..4b89ec4f2b --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill2374.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: c8851d1790eb8e8439a8cb487f7015e3 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill2375.cs b/Assets/PerfectWorld/Scripts/Skills/skill2375.cs new file mode 100644 index 0000000000..65b89640ed --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill2375.cs @@ -0,0 +1,160 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill2375 : Skill + { + public const int SKILL_ID = 2375; + + public Skill2375() : base(SKILL_ID) + { + } + } +#endif + + public class Skill2375Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 100 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 42136 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 400; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(28); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1500; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(112); + skill.SetPlus(5834); + skill.SetRatio(1.05f); + skill.SetDamage(skill.GetAttack()); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill2375Stub() : base(2375) + { + cls = 0; + name = "荒·升龙破"; + nativename = "荒·升龙破"; + icon = "荒·升龙破.DDS"; + max_level = 1; + type = 1; + apcost = 100; + arrowcost = 0; + apgain = 0; + attr = 1; + rank = 30; + eventflag = 0; + is_senior = 1; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1117; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "2霸王龙飞.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(9); + restrict_weapons.Add(1); + restrict_weapons.Add(5); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(407, 1); + pre_skills.Add(415, 1); + pre_skills.Add(399, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill2375Stub() { } + + public float GetMpcost(Skill skill) => 140f; + public int GetExecutetime(Skill skill) => 1500; + public int GetCoolingtime(Skill skill) => 15000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 3000; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 19.7f; + public int GetAttackspeed(Skill skill) => 13; + public float GetHitrate(Skill skill) => 1.7f; + public float GetTalent0(Skill skill) => player.GetCurweapon (; + public float GetTalent1(Skill skill) => player.GetCurweapon (; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill2375.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill2375.cs.meta new file mode 100644 index 0000000000..dbc0c97292 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill2375.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 482c2f5b54a522c4ca8f418532f36bcb \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill2452.cs b/Assets/PerfectWorld/Scripts/Skills/skill2452.cs new file mode 100644 index 0000000000..dc118e058d --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill2452.cs @@ -0,0 +1,209 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill2452 : Skill + { + public const int SKILL_ID = 2452; + + public Skill2452() : base(SKILL_ID) + { + } + } +#endif + + public class Skill2452Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 100 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 42279 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 2000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(89); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 50; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(356); + skill.GetPlayer().SetPerform(2); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 700; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.SetSection(1); + skill.SetPlus(9779); + skill.SetRatio(8); + skill.SetWaterdamage(0.5f * skill.GetMagicattack()); + skill.GetPlayer().SetPerform(0); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State4 : SkillStub.State + { + public int GetTime(Skill skill) => 1050; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.SetSection(2); + skill.SetPlus(9779); + skill.SetRatio(8); + skill.SetFiredamage(0.5f * skill.GetMagicattack()); + skill.GetPlayer().SetPerform(0); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State5 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill2452Stub() : base(2452) + { + cls = 1; + name = "玄·冰霜烈焰"; + nativename = "玄·冰霜烈焰"; + icon = "玄·冰霜烈焰.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 30; + attr = 4; + rank = 21; + eventflag = 0; + is_senior = 1; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1215; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "1凌杀.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(292); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(468, 1); + pre_skills.Add(452, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); + statestub.Add(new State4()); + statestub.Add(new State5()); +#endif + } + + ~Skill2452Stub() { } + + public float GetMpcost(Skill skill) => 445f; + public int GetExecutetime(Skill skill) => -1; + public int GetCoolingtime(Skill skill) => 30000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 30f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 30, 445); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 40f; + public int GetAttackspeed(Skill skill) => 2; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill2452.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill2452.cs.meta new file mode 100644 index 0000000000..a9a1563b94 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill2452.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 082ca5396264982489314e1c493a269f \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill2453.cs b/Assets/PerfectWorld/Scripts/Skills/skill2453.cs new file mode 100644 index 0000000000..719c9ce047 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill2453.cs @@ -0,0 +1,209 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill2453 : Skill + { + public const int SKILL_ID = 2453; + + public Skill2453() : base(SKILL_ID) + { + } + } +#endif + + public class Skill2453Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 100 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 42280 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 2000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(89); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 50; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(356); + skill.GetPlayer().SetPerform(2); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 700; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.SetSection(1); + skill.SetPlus(9779); + skill.SetRatio(8); + skill.SetWaterdamage(0.5f * skill.GetMagicattack()); + skill.GetPlayer().SetPerform(0); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State4 : SkillStub.State + { + public int GetTime(Skill skill) => 1050; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.SetSection(2); + skill.SetPlus(9779); + skill.SetRatio(8); + skill.SetFiredamage(0.5f * skill.GetMagicattack()); + skill.GetPlayer().SetPerform(0); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State5 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill2453Stub() : base(2453) + { + cls = 1; + name = "荒·冰霜烈焰"; + nativename = "荒·冰霜烈焰"; + icon = "荒·冰霜烈焰.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 30; + attr = 4; + rank = 31; + eventflag = 0; + is_senior = 1; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1215; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "1凌杀.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(292); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(469, 1); + pre_skills.Add(453, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); + statestub.Add(new State4()); + statestub.Add(new State5()); +#endif + } + + ~Skill2453Stub() { } + + public float GetMpcost(Skill skill) => 445f; + public int GetExecutetime(Skill skill) => -1; + public int GetCoolingtime(Skill skill) => 30000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 30f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 30, 445); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 40f; + public int GetAttackspeed(Skill skill) => 2; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill2453.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill2453.cs.meta new file mode 100644 index 0000000000..678ebdbe6c --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill2453.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: dda0260d85831a54b8bec2871b4aff09 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill3.cs b/Assets/PerfectWorld/Scripts/Skills/skill3.cs index 5d018e7a14..9d73f94190 100644 --- a/Assets/PerfectWorld/Scripts/Skills/skill3.cs +++ b/Assets/PerfectWorld/Scripts/Skills/skill3.cs @@ -1,5 +1,6 @@ -#define SKILL_CLIENT +#define SKILL_CLIENT using BrewMonster.Scripts.Skills; +using System.Collections.Generic; using System.Text; using UnityEngine; using static BrewMonster.PET_EVOLVE_CONFIG; @@ -20,154 +21,71 @@ namespace BrewMonster public class Skill3Stub : SkillStub { - // Static arrays for skill requirements private static readonly int[] RequiredLevelArray = { 19, 24, 29, 34, 39, 44, 49, 54, 59, 64 }; private static readonly int[] RequiredSpArray = { 4600, 7700, 11800, 17300, 24600, 34200, 47000, 64000, 87000, 118000 }; private static readonly int[] RequiredMoneyArray = { 440, 680, 1090, 1540, 1990, 2480, 2980, 3480, 3980, 12980 }; + #if SKILL_SERVER public class State1 : SkillStub.State { - public int GetTime(Skill skill) - { - return 400; - } - - public bool Quit(Skill skill) - { - return false; - } - - public bool Loop(Skill skill) - { - return false; - } - - public bool Bypass(Skill skill) - { - return false; - } - + public int GetTime(Skill skill) => 400; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; public void Calculate(Skill skill) { - skill.GetPlayer().SetDecmp(0.2f * (23.5f + 8.4f * skill.GetLevel())); + skill.GetPlayer().SetDecmp(0.2f *(23.5f + 8.4f * skill.GetLevel())); skill.GetPlayer().SetPray(1); } - - public bool Interrupt(Skill skill) - { - return false; - } - - public bool Cancel(Skill skill) - { - return true; - } - - public bool Skip(Skill skill) - { - return false; - } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; } #endif #if SKILL_SERVER public class State2 : SkillStub.State { - public int GetTime(Skill skill) - { - return 1800; - } - - public bool Quit(Skill skill) - { - return false; - } - - public bool Loop(Skill skill) - { - return false; - } - - public bool Bypass(Skill skill) - { - return false; - } - + public int GetTime(Skill skill) => 1800; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; public void Calculate(Skill skill) { - skill.GetPlayer().SetDecmp(0.8f * (23.5f + 8.4f * skill.GetLevel())); + skill.GetPlayer().SetDecmp(0.8f *(23.5f + 8.4f * skill.GetLevel())); skill.SetPlus(2.1f * skill.GetLevel() * skill.GetLevel() + 88.8f * skill.GetLevel() + 298.6f); skill.SetRatio(0.5f + 0.05f * skill.GetLevel()); skill.SetDamage(skill.GetAttack()); skill.GetPlayer().SetPerform(1); } - - public bool Interrupt(Skill skill) - { - return false; - } - - public bool Cancel(Skill skill) - { - return false; - } - - public bool Skip(Skill skill) - { - return false; - } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; } #endif #if SKILL_SERVER public class State3 : SkillStub.State { - public int GetTime(Skill skill) - { - return 0; - } - - public bool Quit(Skill skill) - { - return false; - } - - public bool Loop(Skill skill) - { - return false; - } - - public bool Bypass(Skill skill) - { - return false; - } - + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; public void Calculate(Skill skill) - { - } - - public bool Interrupt(Skill skill) - { - return false; - } - - public bool Cancel(Skill skill) - { - return false; - } - - public bool Skip(Skill skill) - { - return false; + { } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; } #endif + public Skill3Stub() : base(3) { cls = 0; name = "凌风"; - nativename = "虎击"; + nativename = "凌风"; icon = "凌风.dds"; max_level = 10; type = 1; @@ -190,18 +108,9 @@ namespace BrewMonster restrict_corpse = 0; allow_forms = 1; restrict_weapons.Add(1); - restrict_weapons.Add(5); - restrict_weapons.Add(9); - restrict_weapons.Add(182); - restrict_weapons.Add(292); - restrict_weapons.Add(0); - effect = "凌风.sgc"; + effect = ""; range = new Range(); range.type = 0; - doenchant = 1; - dobless = 0; - commoncooldown = 0; - commoncooldowntime = 0; #if SKILL_SERVER statestub.Add(new State1()); statestub.Add(new State2()); @@ -209,59 +118,18 @@ namespace BrewMonster #endif } - ~Skill3Stub() - { - } + ~Skill3Stub() { } - public float GetMpcost(Skill skill) - { - return (float)(23.5 + 8.4 * skill.GetLevel()); - } - - public int GetExecutetime(Skill skill) - { - return 1800; - } - - public int GetCoolingtime(Skill skill) - { - return 6000; - } - - public int GetRequiredLevel(Skill skill) - { - return RequiredLevelArray[skill.GetLevel() - 1]; - } - - public int GetRequiredSp(Skill skill) - { - return RequiredSpArray[skill.GetLevel() - 1]; - } - - public int GetRequiredMoney(Skill skill) - { - return RequiredMoneyArray[skill.GetLevel() - 1]; - } - - public float GetRadius(Skill skill) - { - return 0f; - } - - public float GetAttackdistance(Skill skill) - { - return 0f; - } - - public float GetAngle(Skill skill) - { - return (float)(1 - 0.0111111 * 0); - } - - public float GetPraydistance(Skill skill) - { - return (float)skill.GetPlayer().GetRange(); - } + public float GetMpcost(Skill skill) => (float)(23.5 + 8.4 * skill.GetLevel()); + public int GetExecutetime(Skill skill) => 1800; + public int GetCoolingtime(Skill skill) => 6000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; #if SKILL_CLIENT public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) @@ -282,38 +150,16 @@ namespace BrewMonster #endif #if SKILL_SERVER - public int GetEnmity(Skill skill) - { - return 0; - } + public int GetEnmity(Skill skill) => 0; public bool StateAttack(Skill skill) { - skill.GetVictim().SetProbability(1.0f * (20 + 3 * skill.GetLevel())); - skill.GetVictim().SetTime(4000); - skill.GetVictim().SetDizzy(1); return true; } - public bool TakeEffect(Skill skill) - { - return true; - } - - public float GetEffectdistance(Skill skill) - { - return 22.1f; - } - - public int GetAttackspeed(Skill skill) - { - return 15; - } - - public float GetHitrate(Skill skill) - { - return (float)(1.5 + 0.05 * skill.GetLevel()); - } + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 22.1f; + public int GetAttackspeed(Skill skill) => 15; + public float GetHitrate(Skill skill) => 1.5f + 0.05f * skill.GetLevel(); #endif } } - diff --git a/Assets/PerfectWorld/Scripts/Skills/skill362.cs b/Assets/PerfectWorld/Scripts/Skills/skill362.cs new file mode 100644 index 0000000000..a6884bdbb7 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill362.cs @@ -0,0 +1,140 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill362 : Skill + { + public const int SKILL_ID = 362; + + public Skill362() : base(SKILL_ID) + { + } + } +#endif + + public class Skill362Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 89 }; + private static readonly int[] RequiredSpArray = { 0 }; + private static readonly int[] RequiredMoneyArray = { 0 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 3000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill362Stub() : base(362) + { + cls = 0; + name = "仙元爆发"; + nativename = "仙元爆发"; + icon = "仙元爆发.dds"; + max_level = 1; + type = 2; + apcost = 300; + arrowcost = 0; + apgain = 0; + attr = 1; + rank = 20; + eventflag = 0; + clslimit = 0; + time_type = 0; + showorder = 2113; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + restrict_weapons.Add(0); + effect = ""; + range = new Range(); + range.type = 0; +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill362Stub() { } + + public float GetMpcost(Skill skill) => 0f; + public int GetExecutetime(Skill skill) => 3000; + public int GetCoolingtime(Skill skill) => 5000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) + { + return true; + } + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 8.5f; + public float GetHitrate(Skill skill) => 1.0f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill362.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill362.cs.meta new file mode 100644 index 0000000000..e366dc009f --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill362.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 70d1fda1cce6efc468c359ba4f46d6f3 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill363.cs b/Assets/PerfectWorld/Scripts/Skills/skill363.cs new file mode 100644 index 0000000000..7d2681e863 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill363.cs @@ -0,0 +1,140 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill363 : Skill + { + public const int SKILL_ID = 363; + + public Skill363() : base(SKILL_ID) + { + } + } +#endif + + public class Skill363Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 89 }; + private static readonly int[] RequiredSpArray = { 0 }; + private static readonly int[] RequiredMoneyArray = { 0 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 3000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill363Stub() : base(363) + { + cls = 0; + name = "魔元爆发"; + nativename = "魔元爆发"; + icon = "魔元爆发.dds"; + max_level = 1; + type = 2; + apcost = 300; + arrowcost = 0; + apgain = 0; + attr = 1; + rank = 30; + eventflag = 0; + clslimit = 0; + time_type = 0; + showorder = 2114; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + restrict_weapons.Add(0); + effect = ""; + range = new Range(); + range.type = 0; +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill363Stub() { } + + public float GetMpcost(Skill skill) => 0f; + public int GetExecutetime(Skill skill) => 3000; + public int GetCoolingtime(Skill skill) => 5000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) + { + return true; + } + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 8.5f; + public float GetHitrate(Skill skill) => 1.0f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill363.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill363.cs.meta new file mode 100644 index 0000000000..116b59dd64 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill363.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 83a603419c17b6641b6c507331dde48f \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill364.cs b/Assets/PerfectWorld/Scripts/Skills/skill364.cs new file mode 100644 index 0000000000..126c618770 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill364.cs @@ -0,0 +1,150 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill364 : Skill + { + public const int SKILL_ID = 364; + + public Skill364() : base(SKILL_ID) + { + } + } +#endif + + public class Skill364Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 89 }; + private static readonly int[] RequiredSpArray = { 0 }; + private static readonly int[] RequiredMoneyArray = { 0 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 3000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill364Stub() : base(364) + { + cls = 1; + name = "仙元爆发"; + nativename = "仙元爆发"; + icon = "仙元爆发.dds"; + max_level = 1; + type = 2; + apcost = 300; + arrowcost = 0; + apgain = 0; + attr = 1; + rank = 20; + eventflag = 0; + clslimit = 0; + time_type = 0; + showorder = 2213; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = ""; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(1); + restrict_weapons.Add(182); + restrict_weapons.Add(5); + restrict_weapons.Add(292); + restrict_weapons.Add(9); + restrict_weapons.Add(291); + restrict_weapons.Add(13); + range = new Range(); + range.type = 5; + pre_skills = new Dictionary(); + pre_skills.Add(0, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill364Stub() { } + + public float GetMpcost(Skill skill) => 0f; + public int GetExecutetime(Skill skill) => 3000; + public int GetCoolingtime(Skill skill) => 5000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 8.5f; + public float GetHitrate(Skill skill) => 1.0f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill364.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill364.cs.meta new file mode 100644 index 0000000000..8900b8488e --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill364.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 36fdc46f2787f2d4284a77a9869ef510 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill365.cs b/Assets/PerfectWorld/Scripts/Skills/skill365.cs new file mode 100644 index 0000000000..937d7b5d9e --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill365.cs @@ -0,0 +1,150 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill365 : Skill + { + public const int SKILL_ID = 365; + + public Skill365() : base(SKILL_ID) + { + } + } +#endif + + public class Skill365Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 89 }; + private static readonly int[] RequiredSpArray = { 0 }; + private static readonly int[] RequiredMoneyArray = { 0 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 3000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill365Stub() : base(365) + { + cls = 1; + name = "魔元爆发"; + nativename = "魔元爆发"; + icon = "魔元爆发.dds"; + max_level = 1; + type = 2; + apcost = 300; + arrowcost = 0; + apgain = 0; + attr = 1; + rank = 30; + eventflag = 0; + clslimit = 0; + time_type = 0; + showorder = 2214; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = ""; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(1); + restrict_weapons.Add(182); + restrict_weapons.Add(5); + restrict_weapons.Add(292); + restrict_weapons.Add(9); + restrict_weapons.Add(291); + restrict_weapons.Add(13); + range = new Range(); + range.type = 5; + pre_skills = new Dictionary(); + pre_skills.Add(0, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill365Stub() { } + + public float GetMpcost(Skill skill) => 0f; + public int GetExecutetime(Skill skill) => 3000; + public int GetCoolingtime(Skill skill) => 5000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 8.5f; + public float GetHitrate(Skill skill) => 1.0f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill365.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill365.cs.meta new file mode 100644 index 0000000000..c909fe794b --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill365.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 5a6e642e6b1c689419d42f0d1a00a6aa \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill374.cs b/Assets/PerfectWorld/Scripts/Skills/skill374.cs new file mode 100644 index 0000000000..ed7d309639 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill374.cs @@ -0,0 +1,162 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill374 : Skill + { + public const int SKILL_ID = 374; + + public Skill374() : base(SKILL_ID) + { + } + } +#endif + + public class Skill374Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 89 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 9443 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 400; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(25); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 700; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(100); + skill.SetPlus(2305); + skill.SetRatio(0); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill374Stub() : base(374) + { + cls = 0; + name = "真・虎击"; + nativename = "真・虎击"; + icon = "虎击1.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 10; + attr = 1; + rank = 20; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1101; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + restrict_weapons.Add(0); + effect = ""; + range = new Range(); + range.type = 0; +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill374Stub() { } + + public float GetMpcost(Skill skill) => 125f; + public int GetExecutetime(Skill skill) => 700; + public int GetCoolingtime(Skill skill) => 3000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 125, 2304); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool BlessMe(Skill skill) + { + return true; + } + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 13.3f; + public int GetAttackspeed(Skill skill) => 2; + public float GetHitrate(Skill skill) => 1.8f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill374.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill374.cs.meta new file mode 100644 index 0000000000..f464833c60 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill374.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 4cb07e70f931bec48bb4468d2af47178 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill375.cs b/Assets/PerfectWorld/Scripts/Skills/skill375.cs new file mode 100644 index 0000000000..913595162d --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill375.cs @@ -0,0 +1,158 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill375 : Skill + { + public const int SKILL_ID = 375; + + public Skill375() : base(SKILL_ID) + { + } + } +#endif + + public class Skill375Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 89 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 9444 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 300; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(25); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 600; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(100); + skill.SetPlus(2305); + skill.SetRatio(0); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill375Stub() : base(375) + { + cls = 0; + name = "狂・虎击"; + nativename = "狂・虎击"; + icon = "虎击2.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 10; + attr = 1; + rank = 30; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1101; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + restrict_weapons.Add(0); + effect = ""; + range = new Range(); + range.type = 0; +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill375Stub() { } + + public float GetMpcost(Skill skill) => 125f; + public int GetExecutetime(Skill skill) => 600; + public int GetCoolingtime(Skill skill) => 3000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 125, 2304); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 13.3f; + public int GetAttackspeed(Skill skill) => 3; + public float GetHitrate(Skill skill) => 1.8f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill375.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill375.cs.meta new file mode 100644 index 0000000000..2a2b9939d2 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill375.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 492be6b3cadd2a44cb51a1443780bd31 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill376.cs b/Assets/PerfectWorld/Scripts/Skills/skill376.cs new file mode 100644 index 0000000000..b375d44f32 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill376.cs @@ -0,0 +1,165 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill376 : Skill + { + public const int SKILL_ID = 376; + + public Skill376() : base(SKILL_ID) + { + } + } +#endif + + public class Skill376Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 89 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 9445 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(20); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 700; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(80); + skill.SetPlus(0); + skill.SetRatio(0); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill376Stub() : base(376) + { + cls = 0; + name = "真・寸力"; + nativename = "真・寸力"; + icon = "寸力1.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 5; + attr = 1; + rank = 20; + eventflag = 0; + is_senior = 1; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1102; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + restrict_weapons.Add(0); + effect = ""; + range = new Range(); + range.type = 0; +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill376Stub() { } + + public float GetMpcost(Skill skill) => 100f; + public int GetExecutetime(Skill skill) => 700; + public int GetCoolingtime(Skill skill) => 8000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 100, 4676); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) + { + return true; + } + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 11.7f; + public int GetAttackspeed(Skill skill) => 3; + public float GetHitrate(Skill skill) => 1.8f; + public float GetTalent0(Skill skill) => 6079f; + public float GetTalent1(PlayerWrapper player) => player.GetAttackdegree (; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill376.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill376.cs.meta new file mode 100644 index 0000000000..6bfeb8d818 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill376.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 349ea32e85f4fb042a52725a8f420d5f \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill377.cs b/Assets/PerfectWorld/Scripts/Skills/skill377.cs new file mode 100644 index 0000000000..cabee5a643 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill377.cs @@ -0,0 +1,165 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill377 : Skill + { + public const int SKILL_ID = 377; + + public Skill377() : base(SKILL_ID) + { + } + } +#endif + + public class Skill377Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 89 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 9446 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(20); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 700; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(80); + skill.SetPlus(0); + skill.SetRatio(0); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill377Stub() : base(377) + { + cls = 0; + name = "狂・寸力"; + nativename = "狂・寸力"; + icon = "寸力2.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 5; + attr = 1; + rank = 30; + eventflag = 0; + is_senior = 1; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1102; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + restrict_weapons.Add(0); + effect = ""; + range = new Range(); + range.type = 0; +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill377Stub() { } + + public float GetMpcost(Skill skill) => 100f; + public int GetExecutetime(Skill skill) => 700; + public int GetCoolingtime(Skill skill) => 8000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 100, 4676); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) + { + return true; + } + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 11.7f; + public int GetAttackspeed(Skill skill) => 3; + public float GetHitrate(Skill skill) => 1.8f; + public float GetTalent0(Skill skill) => 4676f; + public float GetTalent1(PlayerWrapper player) => player.GetAttackdegree (; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill377.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill377.cs.meta new file mode 100644 index 0000000000..4365b8ab46 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill377.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 032982bb1d84f5b40b77b0820761992d \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill378.cs b/Assets/PerfectWorld/Scripts/Skills/skill378.cs new file mode 100644 index 0000000000..75fa01826a --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill378.cs @@ -0,0 +1,158 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill378 : Skill + { + public const int SKILL_ID = 378; + + public Skill378() : base(SKILL_ID) + { + } + } +#endif + + public class Skill378Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 89 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 9447 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(25); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(100); + skill.SetPlus(2856); + skill.SetRatio(0); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill378Stub() : base(378) + { + cls = 0; + name = "真・流水"; + nativename = "真・流水"; + icon = "流水1.dds"; + max_level = 1; + type = 1; + apcost = 20; + arrowcost = 0; + apgain = 0; + attr = 1; + rank = 20; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1103; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + restrict_weapons.Add(0); + effect = ""; + range = new Range(); + range.type = 0; +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill378Stub() { } + + public float GetMpcost(Skill skill) => 125f; + public int GetExecutetime(Skill skill) => 1000; + public int GetCoolingtime(Skill skill) => 3000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 125, 2856); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 4500; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 14.1f; + public int GetAttackspeed(Skill skill) => 12; + public float GetHitrate(Skill skill) => 3f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill378.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill378.cs.meta new file mode 100644 index 0000000000..112f0f15fa --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill378.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 7c96d5d0f358def46a9346d85873d01f \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill379.cs b/Assets/PerfectWorld/Scripts/Skills/skill379.cs new file mode 100644 index 0000000000..826b390209 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill379.cs @@ -0,0 +1,162 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill379 : Skill + { + public const int SKILL_ID = 379; + + public Skill379() : base(SKILL_ID) + { + } + } +#endif + + public class Skill379Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 89 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 9448 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(25); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(100); + skill.SetPlus(2856); + skill.SetRatio(0); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill379Stub() : base(379) + { + cls = 0; + name = "狂・流水"; + nativename = "狂・流水"; + icon = "流水2.dds"; + max_level = 1; + type = 1; + apcost = 30; + arrowcost = 0; + apgain = 0; + attr = 1; + rank = 30; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1103; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + restrict_weapons.Add(0); + effect = ""; + range = new Range(); + range.type = 0; +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill379Stub() { } + + public float GetMpcost(Skill skill) => 125f; + public int GetExecutetime(Skill skill) => 1000; + public int GetCoolingtime(Skill skill) => 3000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 125, 2856); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 4500; + public bool BlessMe(Skill skill) + { + return true; + } + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 14.1f; + public int GetAttackspeed(Skill skill) => 12; + public float GetHitrate(Skill skill) => 3f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill379.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill379.cs.meta new file mode 100644 index 0000000000..ef19f0ef6d --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill379.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 25160fa08b70aef428911d3ac41e6c5d \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill380.cs b/Assets/PerfectWorld/Scripts/Skills/skill380.cs new file mode 100644 index 0000000000..52eb551917 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill380.cs @@ -0,0 +1,162 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill380 : Skill + { + public const int SKILL_ID = 380; + + public Skill380() : base(SKILL_ID) + { + } + } +#endif + + public class Skill380Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 89 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 9449 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 400; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(30); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1800; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(120); + skill.SetPlus(2280); + skill.SetRatio(1.8f); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill380Stub() : base(380) + { + cls = 0; + name = "真・凌风"; + nativename = "真・凌风"; + icon = "凌风1.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 10; + attr = 1; + rank = 20; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1104; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + restrict_weapons.Add(1); + effect = ""; + range = new Range(); + range.type = 0; +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill380Stub() { } + + public float GetMpcost(Skill skill) => 150f; + public int GetExecutetime(Skill skill) => 1800; + public int GetCoolingtime(Skill skill) => 6000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 150, 2280); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) + { + return true; + } + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 22.1f; + public int GetAttackspeed(Skill skill) => 15; + public float GetHitrate(Skill skill) => 2f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill380.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill380.cs.meta new file mode 100644 index 0000000000..ca34ca4cb0 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill380.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 7585c046196d5914b9ad75d4b8d81c90 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill381.cs b/Assets/PerfectWorld/Scripts/Skills/skill381.cs new file mode 100644 index 0000000000..9eacf576a9 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill381.cs @@ -0,0 +1,162 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill381 : Skill + { + public const int SKILL_ID = 381; + + public Skill381() : base(SKILL_ID) + { + } + } +#endif + + public class Skill381Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 89 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 9450 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 400; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(30); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1800; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(120); + skill.SetPlus(2280); + skill.SetRatio(1.2f); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill381Stub() : base(381) + { + cls = 0; + name = "狂・凌风"; + nativename = "狂・凌风"; + icon = "凌风2.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 10; + attr = 1; + rank = 30; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1104; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + restrict_weapons.Add(1); + effect = ""; + range = new Range(); + range.type = 0; +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill381Stub() { } + + public float GetMpcost(Skill skill) => 150f; + public int GetExecutetime(Skill skill) => 1800; + public int GetCoolingtime(Skill skill) => 5000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 150, 2280); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) + { + return true; + } + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 22.1f; + public int GetAttackspeed(Skill skill) => 15; + public float GetHitrate(Skill skill) => 2f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill381.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill381.cs.meta new file mode 100644 index 0000000000..3dc3b07427 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill381.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 6d66b537d0ae7b642b84d976ab76264e \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill382.cs b/Assets/PerfectWorld/Scripts/Skills/skill382.cs new file mode 100644 index 0000000000..b137850d2e --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill382.cs @@ -0,0 +1,158 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill382 : Skill + { + public const int SKILL_ID = 382; + + public Skill382() : base(SKILL_ID) + { + } + } +#endif + + public class Skill382Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 89 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 9451 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(30); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 500; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(120); + skill.SetPlus(2211); + skill.SetRatio(0); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill382Stub() : base(382) + { + cls = 0; + name = "真・龙现"; + nativename = "真・龙现"; + icon = "龙现1.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 10; + attr = 1; + rank = 20; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1105; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + restrict_weapons.Add(0); + effect = ""; + range = new Range(); + range.type = 0; +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill382Stub() { } + + public float GetMpcost(Skill skill) => 150f; + public int GetExecutetime(Skill skill) => 500; + public int GetCoolingtime(Skill skill) => 5000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 10f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 10, 150, 2211); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 2000; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 17f; + public int GetAttackspeed(Skill skill) => 12; + public float GetHitrate(Skill skill) => 2f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill382.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill382.cs.meta new file mode 100644 index 0000000000..6384795763 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill382.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 0bf4fc8aa51477f43a235caec2195661 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill383.cs b/Assets/PerfectWorld/Scripts/Skills/skill383.cs new file mode 100644 index 0000000000..8ac40d5465 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill383.cs @@ -0,0 +1,158 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill383 : Skill + { + public const int SKILL_ID = 383; + + public Skill383() : base(SKILL_ID) + { + } + } +#endif + + public class Skill383Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 89 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 9452 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(30); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 500; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(120); + skill.SetPlus(2211); + skill.SetRatio(0); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill383Stub() : base(383) + { + cls = 0; + name = "狂・龙现"; + nativename = "狂・龙现"; + icon = "龙现2.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 10; + attr = 1; + rank = 30; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1105; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + restrict_weapons.Add(0); + effect = ""; + range = new Range(); + range.type = 0; +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill383Stub() { } + + public float GetMpcost(Skill skill) => 150f; + public int GetExecutetime(Skill skill) => 500; + public int GetCoolingtime(Skill skill) => 6000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 12f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 10, 150, 2211); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 2000; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 20f; + public int GetAttackspeed(Skill skill) => 16; + public float GetHitrate(Skill skill) => 2f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill383.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill383.cs.meta new file mode 100644 index 0000000000..f2e47f3902 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill383.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 1878a22decff5624686b2f20982859e1 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill384.cs b/Assets/PerfectWorld/Scripts/Skills/skill384.cs new file mode 100644 index 0000000000..59fd7200b8 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill384.cs @@ -0,0 +1,162 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill384 : Skill + { + public const int SKILL_ID = 384; + + public Skill384() : base(SKILL_ID) + { + } + } +#endif + + public class Skill384Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 99 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9453 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 300; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(28); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(112); + skill.SetPlus(2000); + skill.SetRatio(0); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill384Stub() : base(384) + { + cls = 0; + name = "真・断岩斩"; + nativename = "真・断岩斩"; + icon = "断岩斩1.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 5; + attr = 1; + rank = 21; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1106; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + restrict_weapons.Add(0); + effect = ""; + range = new Range(); + range.type = 0; +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill384Stub() { } + + public float GetMpcost(Skill skill) => 140f; + public int GetExecutetime(Skill skill) => 1000; + public int GetCoolingtime(Skill skill) => 3000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => (float)(skill.GetPlayer().GetRange() + 3 + 0.3 * skill.GetLevel()); + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 140, 2000, 60); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) + { + return true; + } + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 14.9f; + public int GetAttackspeed(Skill skill) => 6; + public float GetHitrate(Skill skill) => 2.5f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill384.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill384.cs.meta new file mode 100644 index 0000000000..083c48c694 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill384.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 29986b533e81d974a9a502c07844768e \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill385.cs b/Assets/PerfectWorld/Scripts/Skills/skill385.cs new file mode 100644 index 0000000000..17b5fbac10 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill385.cs @@ -0,0 +1,162 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill385 : Skill + { + public const int SKILL_ID = 385; + + public Skill385() : base(SKILL_ID) + { + } + } +#endif + + public class Skill385Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 99 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9454 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 300; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(28); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(112); + skill.SetPlus(2800); + skill.SetRatio(0); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill385Stub() : base(385) + { + cls = 0; + name = "狂・断岩斩"; + nativename = "狂・断岩斩"; + icon = "断岩斩2.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 5; + attr = 1; + rank = 31; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1106; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + restrict_weapons.Add(0); + effect = ""; + range = new Range(); + range.type = 0; +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill385Stub() { } + + public float GetMpcost(Skill skill) => 140f; + public int GetExecutetime(Skill skill) => 1000; + public int GetCoolingtime(Skill skill) => 3000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => (float)(skill.GetPlayer().GetRange() + 3 + 0.3 * skill.GetLevel()); + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 140, 2000, 60); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) + { + return true; + } + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 14.9f; + public int GetAttackspeed(Skill skill) => 6; + public float GetHitrate(Skill skill) => 2.5f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill385.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill385.cs.meta new file mode 100644 index 0000000000..85a8f49716 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill385.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 27ef90d3a8819a04898462c67dbe514b \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill386.cs b/Assets/PerfectWorld/Scripts/Skills/skill386.cs new file mode 100644 index 0000000000..5329eefc4b --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill386.cs @@ -0,0 +1,158 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill386 : Skill + { + public const int SKILL_ID = 386; + + public Skill386() : base(SKILL_ID) + { + } + } +#endif + + public class Skill386Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 92 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9455 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 300; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(42); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 700; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(168); + skill.SetPlus(2554); + skill.SetRatio(0); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill386Stub() : base(386) + { + cls = 0; + name = "真・狂龙斩"; + nativename = "真・狂龙斩"; + icon = "狂龙斩1.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 10; + attr = 1; + rank = 20; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1107; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + restrict_weapons.Add(0); + effect = ""; + range = new Range(); + range.type = 0; +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill386Stub() { } + + public float GetMpcost(Skill skill) => 210f; + public int GetExecutetime(Skill skill) => 700; + public int GetCoolingtime(Skill skill) => 6000; + public float GetRadius(Skill skill) => 8f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 120); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 210, 2554); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 5f; + public int GetAttackspeed(Skill skill) => 5; + public float GetHitrate(Skill skill) => 2f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill386.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill386.cs.meta new file mode 100644 index 0000000000..6d0a520169 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill386.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 27c1a3eaac24b2a488c570ef00a2859c \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill387.cs b/Assets/PerfectWorld/Scripts/Skills/skill387.cs new file mode 100644 index 0000000000..d9191dd1e0 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill387.cs @@ -0,0 +1,158 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill387 : Skill + { + public const int SKILL_ID = 387; + + public Skill387() : base(SKILL_ID) + { + } + } +#endif + + public class Skill387Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 92 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9456 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 300; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(42); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 700; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(168); + skill.SetPlus(2554); + skill.SetRatio(0); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill387Stub() : base(387) + { + cls = 0; + name = "狂・狂龙斩"; + nativename = "狂・狂龙斩"; + icon = "狂龙斩2.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 10; + attr = 1; + rank = 30; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1107; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + restrict_weapons.Add(0); + effect = ""; + range = new Range(); + range.type = 0; +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill387Stub() { } + + public float GetMpcost(Skill skill) => 210f; + public int GetExecutetime(Skill skill) => 700; + public int GetCoolingtime(Skill skill) => 8000; + public float GetRadius(Skill skill) => 12f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 120); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 210, 2554); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 5f; + public int GetAttackspeed(Skill skill) => 5; + public float GetHitrate(Skill skill) => 2f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill387.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill387.cs.meta new file mode 100644 index 0000000000..bd5725e291 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill387.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: d66138a5aed05a645b46e898a3968b9b \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill388.cs b/Assets/PerfectWorld/Scripts/Skills/skill388.cs new file mode 100644 index 0000000000..e5b7d7b501 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill388.cs @@ -0,0 +1,158 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill388 : Skill + { + public const int SKILL_ID = 388; + + public Skill388() : base(SKILL_ID) + { + } + } +#endif + + public class Skill388Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 92 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9457 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 300; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(42); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 900; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(168); + skill.SetPlus(3625); + skill.SetRatio(0); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill388Stub() : base(388) + { + cls = 0; + name = "真・横扫千军"; + nativename = "真・横扫千军"; + icon = "横扫千军1.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 12; + attr = 1; + rank = 20; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1108; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + restrict_weapons.Add(0); + effect = ""; + range = new Range(); + range.type = 0; +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill388Stub() { } + + public float GetMpcost(Skill skill) => 210f; + public int GetExecutetime(Skill skill) => 900; + public int GetCoolingtime(Skill skill) => 8000; + public float GetRadius(Skill skill) => 8f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 210, 2825); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 5f; + public int GetAttackspeed(Skill skill) => 6; + public float GetHitrate(Skill skill) => 2f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill388.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill388.cs.meta new file mode 100644 index 0000000000..e8a8100b39 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill388.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 70b06b30eeda09045abde5297813ecd8 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill389.cs b/Assets/PerfectWorld/Scripts/Skills/skill389.cs new file mode 100644 index 0000000000..836c60bd30 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill389.cs @@ -0,0 +1,162 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill389 : Skill + { + public const int SKILL_ID = 389; + + public Skill389() : base(SKILL_ID) + { + } + } +#endif + + public class Skill389Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 92 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9458 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 300; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(42); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 900; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(168); + skill.SetPlus(2835); + skill.SetRatio(0); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill389Stub() : base(389) + { + cls = 0; + name = "狂・横扫千军"; + nativename = "狂・横扫千军"; + icon = "横扫千军2.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 12; + attr = 1; + rank = 30; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1108; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + restrict_weapons.Add(0); + effect = ""; + range = new Range(); + range.type = 0; +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill389Stub() { } + + public float GetMpcost(Skill skill) => 210f; + public int GetExecutetime(Skill skill) => 900; + public int GetCoolingtime(Skill skill) => 8000; + public float GetRadius(Skill skill) => 8f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 210, 2825); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool BlessMe(Skill skill) + { + return true; + } + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 5f; + public int GetAttackspeed(Skill skill) => 6; + public float GetHitrate(Skill skill) => 2f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill389.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill389.cs.meta new file mode 100644 index 0000000000..7696dcda05 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill389.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 936a02b961b4ee44b9789605c0d25793 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill390.cs b/Assets/PerfectWorld/Scripts/Skills/skill390.cs new file mode 100644 index 0000000000..e5f1d08d38 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill390.cs @@ -0,0 +1,167 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill390 : Skill + { + public const int SKILL_ID = 390; + + public Skill390() : base(SKILL_ID) + { + } + } +#endif + + public class Skill390Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 99 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9459 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 300; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(28); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 700; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(112); + skill.SetPlus(4863); + skill.SetRatio(0); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill390Stub() : base(390) + { + cls = 0; + name = "真·劈空掌"; + nativename = "真·劈空掌"; + icon = "劈空掌1.dds"; + max_level = 1; + type = 1; + apcost = 100; + arrowcost = 0; + apgain = 0; + attr = 1; + rank = 21; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1109; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "1劈空掌.sgc"; + doenchant = 1; + dobless = 1; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(182); + restrict_weapons.Add(0); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(60, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill390Stub() { } + + public float GetMpcost(Skill skill) => 140f; + public int GetExecutetime(Skill skill) => 700; + public int GetCoolingtime(Skill skill) => 15000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 140, 4863, 80); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 3000; + public bool StateAttack(Skill skill) => true; + public bool BlessMe(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 12.5f; + public int GetAttackspeed(Skill skill) => 10; + public float GetHitrate(Skill skill) => 2.5f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill390.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill390.cs.meta new file mode 100644 index 0000000000..78c726e760 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill390.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: f0ba8a383fa2ca443bea83e03b0d9330 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill391.cs b/Assets/PerfectWorld/Scripts/Skills/skill391.cs new file mode 100644 index 0000000000..57cc157cc4 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill391.cs @@ -0,0 +1,166 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill391 : Skill + { + public const int SKILL_ID = 391; + + public Skill391() : base(SKILL_ID) + { + } + } +#endif + + public class Skill391Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 99 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9460 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 300; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(28); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 700; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(112); + skill.SetPlus(4863); + skill.SetRatio(0); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill391Stub() : base(391) + { + cls = 0; + name = "狂·劈空掌"; + nativename = "狂·劈空掌"; + icon = "劈空掌2.dds"; + max_level = 1; + type = 1; + apcost = 100; + arrowcost = 0; + apgain = 0; + attr = 1; + rank = 31; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1109; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "2劈空掌.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(182); + restrict_weapons.Add(0); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(60, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill391Stub() { } + + public float GetMpcost(Skill skill) => 140f; + public int GetExecutetime(Skill skill) => 700; + public int GetCoolingtime(Skill skill) => 15000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 140, 4863, 80); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 3000; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 12.5f; + public int GetAttackspeed(Skill skill) => 10; + public float GetHitrate(Skill skill) => 2.5f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill391.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill391.cs.meta new file mode 100644 index 0000000000..101899e65f --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill391.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: c44174ab384b62d46b64765198ba3595 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill392.cs b/Assets/PerfectWorld/Scripts/Skills/skill392.cs new file mode 100644 index 0000000000..5e74c64140 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill392.cs @@ -0,0 +1,166 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill392 : Skill + { + public const int SKILL_ID = 392; + + public Skill392() : base(SKILL_ID) + { + } + } +#endif + + public class Skill392Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 92 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9461 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(33); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(132); + skill.SetPlus(3776); + skill.SetRatio(0); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill392Stub() : base(392) + { + cls = 0; + name = "真·无影脚"; + nativename = "真·无影脚"; + icon = "无影脚1.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 8; + attr = 1; + rank = 20; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1110; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "1无影脚.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(182); + restrict_weapons.Add(0); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(61, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill392Stub() { } + + public float GetMpcost(Skill skill) => 165f; + public int GetExecutetime(Skill skill) => 1200; + public int GetCoolingtime(Skill skill) => 10000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 165, 3776); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 15.7f; + public int GetAttackspeed(Skill skill) => 10; + public float GetHitrate(Skill skill) => 2.5f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill392.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill392.cs.meta new file mode 100644 index 0000000000..3425dcf6c2 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill392.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 66d19a2a6d34e4744adcb51b936b7707 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill393.cs b/Assets/PerfectWorld/Scripts/Skills/skill393.cs new file mode 100644 index 0000000000..38bb5269a5 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill393.cs @@ -0,0 +1,166 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill393 : Skill + { + public const int SKILL_ID = 393; + + public Skill393() : base(SKILL_ID) + { + } + } +#endif + + public class Skill393Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 92 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9462 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(33); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(132); + skill.SetPlus(3776); + skill.SetRatio(0); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill393Stub() : base(393) + { + cls = 0; + name = "狂·无影脚"; + nativename = "狂·无影脚"; + icon = "无影脚2.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 8; + attr = 1; + rank = 30; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1110; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "2无影脚.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(182); + restrict_weapons.Add(0); + range = new Range(); + range.type = 3; + pre_skills = new Dictionary(); + pre_skills.Add(61, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill393Stub() { } + + public float GetMpcost(Skill skill) => 165f; + public int GetExecutetime(Skill skill) => 1200; + public int GetCoolingtime(Skill skill) => 12000; + public float GetRadius(Skill skill) => 3f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 165, 3776); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 15.7f; + public int GetAttackspeed(Skill skill) => 10; + public float GetHitrate(Skill skill) => 2.5f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill393.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill393.cs.meta new file mode 100644 index 0000000000..b13415f1e4 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill393.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: f7543b0b3a42ac34a902ebc80d42bc6a \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill394.cs b/Assets/PerfectWorld/Scripts/Skills/skill394.cs new file mode 100644 index 0000000000..1a4b21f041 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill394.cs @@ -0,0 +1,166 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill394 : Skill + { + public const int SKILL_ID = 394; + + public Skill394() : base(SKILL_ID) + { + } + } +#endif + + public class Skill394Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 99 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9464 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(42); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1800; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(168); + skill.SetPlus(3233); + skill.SetRatio(1); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill394Stub() : base(394) + { + cls = 0; + name = "真·风卷残云"; + nativename = "真·风卷残云"; + icon = "风卷残云1.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 10; + attr = 1; + rank = 21; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1111; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "1风卷残云.sgc"; + doenchant = 0; + dobless = 1; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(182); + restrict_weapons.Add(0); + range = new Range(); + range.type = 2; + pre_skills = new Dictionary(); + pre_skills.Add(62, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill394Stub() { } + + public float GetMpcost(Skill skill) => 210f; + public int GetExecutetime(Skill skill) => 1800; + public int GetCoolingtime(Skill skill) => 15000; + public float GetRadius(Skill skill) => 8f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 210, 100, 3233, 15, 15); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool BlessMe(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 8f; + public int GetAttackspeed(Skill skill) => 16; + public float GetHitrate(Skill skill) => 3.5f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill394.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill394.cs.meta new file mode 100644 index 0000000000..a75a6f8dd7 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill394.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: bf7f40f827cfbcf4da2e55d7293b2d94 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill395.cs b/Assets/PerfectWorld/Scripts/Skills/skill395.cs new file mode 100644 index 0000000000..107f1de007 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill395.cs @@ -0,0 +1,166 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill395 : Skill + { + public const int SKILL_ID = 395; + + public Skill395() : base(SKILL_ID) + { + } + } +#endif + + public class Skill395Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 99 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9466 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(42); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1800; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(168); + skill.SetPlus(3233); + skill.SetRatio(1); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill395Stub() : base(395) + { + cls = 0; + name = "狂·风卷残云"; + nativename = "狂·风卷残云"; + icon = "风卷残云2.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 10; + attr = 1; + rank = 31; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1111; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "2风卷残云.sgc"; + doenchant = 0; + dobless = 1; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(182); + restrict_weapons.Add(0); + range = new Range(); + range.type = 2; + pre_skills = new Dictionary(); + pre_skills.Add(62, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill395Stub() { } + + public float GetMpcost(Skill skill) => 210f; + public int GetExecutetime(Skill skill) => 1800; + public int GetCoolingtime(Skill skill) => 15000; + public float GetRadius(Skill skill) => 8f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 210, 100, 3233, 15, 15); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool BlessMe(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 8f; + public int GetAttackspeed(Skill skill) => 16; + public float GetHitrate(Skill skill) => 3.5f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill395.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill395.cs.meta new file mode 100644 index 0000000000..f6866641c0 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill395.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 6e3f3748fab6b754ba0e40368f545fd8 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill396.cs b/Assets/PerfectWorld/Scripts/Skills/skill396.cs new file mode 100644 index 0000000000..d0ccb59ec6 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill396.cs @@ -0,0 +1,167 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill396 : Skill + { + public const int SKILL_ID = 396; + + public Skill396() : base(SKILL_ID) + { + } + } +#endif + + public class Skill396Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 99 }; + private static readonly int[] RequiredSpArray = { 2000000 }; + private static readonly int[] RequiredItemArray = { 9467 }; + private static readonly int[] RequiredMoneyArray = { 2000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 600; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(61); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(244); + skill.SetPlus(8504); + skill.SetRatio(1); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill396Stub() : base(396) + { + cls = 0; + name = "真·云龙九现"; + nativename = "真·云龙九现"; + icon = "云龙九现1.dds"; + max_level = 1; + type = 1; + apcost = 200; + arrowcost = 0; + apgain = 0; + attr = 1; + rank = 21; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1112; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "1云龙九现.sgc"; + doenchant = 1; + dobless = 1; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(182); + restrict_weapons.Add(0); + range = new Range(); + range.type = 1; + pre_skills = new Dictionary(); + pre_skills.Add(63, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill396Stub() { } + + public float GetMpcost(Skill skill) => 305f; + public int GetExecutetime(Skill skill) => 1000; + public int GetCoolingtime(Skill skill) => 30000; + public float GetRadius(Skill skill) => 4f; + public float GetAttackdistance(Skill skill) => 12f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 305); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 10000; + public bool StateAttack(Skill skill) => true; + public bool BlessMe(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 20f; + public int GetAttackspeed(Skill skill) => 11; + public float GetHitrate(Skill skill) => 5f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill396.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill396.cs.meta new file mode 100644 index 0000000000..b4a943b5bf --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill396.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: a15d0d19e0522b7499b93ab9ddbcf0f5 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill397.cs b/Assets/PerfectWorld/Scripts/Skills/skill397.cs new file mode 100644 index 0000000000..62c1a279be --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill397.cs @@ -0,0 +1,166 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill397 : Skill + { + public const int SKILL_ID = 397; + + public Skill397() : base(SKILL_ID) + { + } + } +#endif + + public class Skill397Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 99 }; + private static readonly int[] RequiredSpArray = { 2000000 }; + private static readonly int[] RequiredItemArray = { 9468 }; + private static readonly int[] RequiredMoneyArray = { 2000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 600; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(61); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(244); + skill.SetPlus(8504); + skill.SetRatio(1); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill397Stub() : base(397) + { + cls = 0; + name = "狂·云龙九现"; + nativename = "狂·云龙九现"; + icon = "云龙九现2.dds"; + max_level = 1; + type = 1; + apcost = 200; + arrowcost = 0; + apgain = 0; + attr = 1; + rank = 31; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1112; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "2云龙九现.sgc"; + doenchant = 0; + dobless = 1; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(182); + restrict_weapons.Add(0); + range = new Range(); + range.type = 1; + pre_skills = new Dictionary(); + pre_skills.Add(63, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill397Stub() { } + + public float GetMpcost(Skill skill) => 305f; + public int GetExecutetime(Skill skill) => 1000; + public int GetCoolingtime(Skill skill) => 30000; + public float GetRadius(Skill skill) => 4f; + public float GetAttackdistance(Skill skill) => 12f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 305); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 10000; + public bool BlessMe(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 20f; + public int GetAttackspeed(Skill skill) => 11; + public float GetHitrate(Skill skill) => 5f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill397.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill397.cs.meta new file mode 100644 index 0000000000..be3f2b44f4 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill397.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 40b6eb4469b85784893c53309cf019ed \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill398.cs b/Assets/PerfectWorld/Scripts/Skills/skill398.cs new file mode 100644 index 0000000000..d8b626ed19 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill398.cs @@ -0,0 +1,169 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill398 : Skill + { + public const int SKILL_ID = 398; + + public Skill398() : base(SKILL_ID) + { + } + } +#endif + + public class Skill398Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 92 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9469 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(28); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 800; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(112); + skill.SetPlus(4863); + skill.SetRatio(0); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill398Stub() : base(398) + { + cls = 0; + name = "真·疾风刺"; + nativename = "真·疾风刺"; + icon = "疾风刺1.DDS"; + max_level = 1; + type = 1; + apcost = 100; + arrowcost = 0; + apgain = 0; + attr = 1; + rank = 20; + eventflag = 0; + is_senior = 1; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1113; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "1疾风霹雳.sgc"; + doenchant = 1; + dobless = 1; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(5); + range = new Range(); + range.type = 1; + pre_skills = new Dictionary(); + pre_skills.Add(64, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill398Stub() { } + + public float GetMpcost(Skill skill) => 140f; + public int GetExecutetime(Skill skill) => 800; + public int GetCoolingtime(Skill skill) => 15000; + public float GetRadius(Skill skill) => 3.5f; + public float GetAttackdistance(Skill skill) => 12f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 140); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 3000; + public bool StateAttack(Skill skill) => true; + public bool BlessMe(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 6f; + public int GetAttackspeed(Skill skill) => 4; + public float GetHitrate(Skill skill) => 1.7f; + public float GetTalent0(Skill skill) => 3 * player.GetWeapondamage (; + public float GetTalent1(Skill skill) => player.GetAttackdegree (; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill398.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill398.cs.meta new file mode 100644 index 0000000000..9c08f423dd --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill398.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: e5c046407cfa86a4588b76d5741a18eb \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill399.cs b/Assets/PerfectWorld/Scripts/Skills/skill399.cs new file mode 100644 index 0000000000..5f9370b935 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill399.cs @@ -0,0 +1,168 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill399 : Skill + { + public const int SKILL_ID = 399; + + public Skill399() : base(SKILL_ID) + { + } + } +#endif + + public class Skill399Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 92 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9470 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(28); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 800; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(112); + skill.SetPlus(4863); + skill.SetRatio(0); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill399Stub() : base(399) + { + cls = 0; + name = "狂·疾风刺"; + nativename = "狂·疾风刺"; + icon = "疾风刺2.dds"; + max_level = 1; + type = 1; + apcost = 100; + arrowcost = 0; + apgain = 0; + attr = 1; + rank = 30; + eventflag = 0; + is_senior = 1; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1113; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "2疾风霹雳.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(5); + range = new Range(); + range.type = 1; + pre_skills = new Dictionary(); + pre_skills.Add(64, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill399Stub() { } + + public float GetMpcost(Skill skill) => 140f; + public int GetExecutetime(Skill skill) => 800; + public int GetCoolingtime(Skill skill) => 15000; + public float GetRadius(Skill skill) => 5f; + public float GetAttackdistance(Skill skill) => 15f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 140); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 3000; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 6f; + public int GetAttackspeed(Skill skill) => 4; + public float GetHitrate(Skill skill) => 1.7f; + public float GetTalent0(Skill skill) => 3 * player.GetWeapondamage (; + public float GetTalent1(Skill skill) => player.GetAttackdegree (; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill399.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill399.cs.meta new file mode 100644 index 0000000000..dc4e569a9c --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill399.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 34d7b350245be69469a46996ca5e2b48 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill4.cs b/Assets/PerfectWorld/Scripts/Skills/skill4.cs index 117a7089fb..2a3a5ddb04 100644 --- a/Assets/PerfectWorld/Scripts/Skills/skill4.cs +++ b/Assets/PerfectWorld/Scripts/Skills/skill4.cs @@ -1,5 +1,6 @@ -#define SKILL_CLIENT +#define SKILL_CLIENT using BrewMonster.Scripts.Skills; +using System.Collections.Generic; using System.Text; using UnityEngine; using static BrewMonster.PET_EVOLVE_CONFIG; @@ -20,146 +21,63 @@ namespace BrewMonster public class Skill4Stub : SkillStub { - // Static arrays for skill requirements private static readonly int[] RequiredLevelArray = { 23, 28, 33, 38, 43, 48, 53, 58, 63, 68 }; private static readonly int[] RequiredSpArray = { 7000, 10900, 16100, 23000, 32000, 44100, 60200, 81800, 111000, 151000 }; private static readonly int[] RequiredMoneyArray = { 630, 1000, 1450, 1900, 2380, 2880, 3380, 3880, 10980, 41980 }; + #if SKILL_SERVER public class State1 : SkillStub.State { - public int GetTime(Skill skill) - { - return 600; - } - - public bool Quit(Skill skill) - { - return false; - } - - public bool Loop(Skill skill) - { - return false; - } - - public bool Bypass(Skill skill) - { - return false; - } - + public int GetTime(Skill skill) => 600; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; public void Calculate(Skill skill) { - skill.GetPlayer().SetDecmp(0.2f * (35.3f + 9.8f * skill.GetLevel())); + skill.GetPlayer().SetDecmp(0.2f *(35.3f + 9.8f * skill.GetLevel())); skill.GetPlayer().SetPray(1); } - - public bool Interrupt(Skill skill) - { - return false; - } - - public bool Cancel(Skill skill) - { - return true; - } - - public bool Skip(Skill skill) - { - return false; - } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; } #endif #if SKILL_SERVER public class State2 : SkillStub.State { - public int GetTime(Skill skill) - { - return 1800; - } - - public bool Quit(Skill skill) - { - return false; - } - - public bool Loop(Skill skill) - { - return false; - } - - public bool Bypass(Skill skill) - { - return false; - } - + public int GetTime(Skill skill) => 1800; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; public void Calculate(Skill skill) { - skill.GetPlayer().SetDecmp(0.8f * (35.3f + 9.8f * skill.GetLevel())); + skill.GetPlayer().SetDecmp(0.8f *(35.3f + 9.8f * skill.GetLevel())); skill.GetPlayer().SetPerform(1); } - - public bool Interrupt(Skill skill) - { - return false; - } - - public bool Cancel(Skill skill) - { - return false; - } - - public bool Skip(Skill skill) - { - return false; - } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; } #endif #if SKILL_SERVER public class State3 : SkillStub.State { - public int GetTime(Skill skill) - { - return 0; - } - - public bool Quit(Skill skill) - { - return false; - } - - public bool Loop(Skill skill) - { - return false; - } - - public bool Bypass(Skill skill) - { - return false; - } - + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; public void Calculate(Skill skill) - { - } - - public bool Interrupt(Skill skill) - { - return false; - } - - public bool Cancel(Skill skill) - { - return false; - } - - public bool Skip(Skill skill) - { - return false; + { } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; } #endif + public Skill4Stub() : base(4) { cls = 0; @@ -187,18 +105,9 @@ namespace BrewMonster restrict_corpse = 0; allow_forms = 1; restrict_weapons.Add(0); - restrict_weapons.Add(1); - restrict_weapons.Add(182); - restrict_weapons.Add(5); - restrict_weapons.Add(292); - restrict_weapons.Add(9); - effect = "狮子吼.sgc"; + effect = ""; range = new Range(); - range.type = 2; - doenchant = 1; - dobless = 0; - commoncooldown = 0; - commoncooldowntime = 0; + range.type = 0; #if SKILL_SERVER statestub.Add(new State1()); statestub.Add(new State2()); @@ -206,59 +115,18 @@ namespace BrewMonster #endif } - ~Skill4Stub() - { - } + ~Skill4Stub() { } - public float GetMpcost(Skill skill) - { - return (float)(35.3 + 9.8 * skill.GetLevel()); - } - - public int GetExecutetime(Skill skill) - { - return 1800; - } - - public int GetCoolingtime(Skill skill) - { - return 25000 - 1000 * skill.GetLevel(); - } - - public int GetRequiredLevel(Skill skill) - { - return RequiredLevelArray[skill.GetLevel() - 1]; - } - - public int GetRequiredSp(Skill skill) - { - return RequiredSpArray[skill.GetLevel() - 1]; - } - - public int GetRequiredMoney(Skill skill) - { - return RequiredMoneyArray[skill.GetLevel() - 1]; - } - - public float GetRadius(Skill skill) - { - return 10f; - } - - public float GetAttackdistance(Skill skill) - { - return 0f; - } - - public float GetAngle(Skill skill) - { - return (float)(1 - 0.0111111 * 0); - } - - public float GetPraydistance(Skill skill) - { - return 5f; - } + public float GetMpcost(Skill skill) => (float)(35.3 + 9.8 * skill.GetLevel()); + public int GetExecutetime(Skill skill) => 1800; + public int GetCoolingtime(Skill skill) => 25000 - 1000 * skill.GetLevel(); + public float GetRadius(Skill skill) => 10f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 5f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; #if SKILL_CLIENT public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) @@ -278,38 +146,16 @@ namespace BrewMonster #endif #if SKILL_SERVER - public int GetEnmity(Skill skill) - { - return 600 * skill.GetLevel(); - } + public int GetEnmity(Skill skill) => 600; public bool StateAttack(Skill skill) { - skill.GetVictim().SetProbability(1.0f * (85 + skill.GetLevel())); - skill.GetVictim().SetTime(4000 + 300 * skill.GetLevel()); - skill.GetVictim().SetDizzy(1); return true; } - public bool TakeEffect(Skill skill) - { - return true; - } - - public float GetEffectdistance(Skill skill) - { - return 20f; - } - - public int GetAttackspeed(Skill skill) - { - return 9; - } - - public float GetHitrate(Skill skill) - { - return 1f; - } + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 20f; + public int GetAttackspeed(Skill skill) => 9; + public float GetHitrate(Skill skill) => 1f; #endif } } - diff --git a/Assets/PerfectWorld/Scripts/Skills/skill400.cs b/Assets/PerfectWorld/Scripts/Skills/skill400.cs new file mode 100644 index 0000000000..9495b8af48 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill400.cs @@ -0,0 +1,164 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill400 : Skill + { + public const int SKILL_ID = 400; + + public Skill400() : base(SKILL_ID) + { + } + } +#endif + + public class Skill400Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 92 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9471 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 800; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(33); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(132); + skill.SetPlus(4848); + skill.SetRatio(1.7f); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill400Stub() : base(400) + { + cls = 0; + name = "真·回马枪"; + nativename = "真·回马枪"; + icon = "回马枪1.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 10; + attr = 1; + rank = 20; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1114; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "1回马枪.sgc"; + doenchant = 0; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(5); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(65, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill400Stub() { } + + public float GetMpcost(Skill skill) => 165f; + public int GetExecutetime(Skill skill) => 1200; + public int GetCoolingtime(Skill skill) => 6000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => (float)(skill.GetPlayer().GetRange() + 0.3 * skill.GetLevel()); + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(16 + skill.GetPlayer().GetRange() - 4.5); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 16, 165, 120, 4048); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 24 + skill.GetPlayer().GetRange() - 4.5f; + public int GetAttackspeed(Skill skill) => 12; + public float GetHitrate(Skill skill) => 2.5f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill400.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill400.cs.meta new file mode 100644 index 0000000000..f2367279c3 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill400.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: cd8978c892cfd28458bfd1c3f2242e46 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill401.cs b/Assets/PerfectWorld/Scripts/Skills/skill401.cs new file mode 100644 index 0000000000..0e185c93d4 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill401.cs @@ -0,0 +1,164 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill401 : Skill + { + public const int SKILL_ID = 401; + + public Skill401() : base(SKILL_ID) + { + } + } +#endif + + public class Skill401Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 92 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9472 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 800; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(33); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(132); + skill.SetPlus(4048); + skill.SetRatio(1.2f); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill401Stub() : base(401) + { + cls = 0; + name = "狂·回马枪"; + nativename = "狂·回马枪"; + icon = "回马枪2.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 10; + attr = 1; + rank = 30; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1114; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "2回马枪.sgc"; + doenchant = 0; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(5); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(65, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill401Stub() { } + + public float GetMpcost(Skill skill) => 165f; + public int GetExecutetime(Skill skill) => 1200; + public int GetCoolingtime(Skill skill) => 6000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => (float)(skill.GetPlayer().GetRange() + 0.3 * skill.GetLevel()); + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(18 + skill.GetPlayer().GetRange() - 4.5); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 16, 165, 120, 4048); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 26 + skill.GetPlayer().GetRange() - 4.5f; + public int GetAttackspeed(Skill skill) => 12; + public float GetHitrate(Skill skill) => 2.5f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill401.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill401.cs.meta new file mode 100644 index 0000000000..b760ab33b2 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill401.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 50f69b005ab34ba4786916ed6bda1859 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill402.cs b/Assets/PerfectWorld/Scripts/Skills/skill402.cs new file mode 100644 index 0000000000..277eca1435 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill402.cs @@ -0,0 +1,165 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill402 : Skill + { + public const int SKILL_ID = 402; + + public Skill402() : base(SKILL_ID) + { + } + } +#endif + + public class Skill402Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 92 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9473 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 300; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(33); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 800; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(132); + skill.SetPlus(3912); + skill.SetRatio(0); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill402Stub() : base(402) + { + cls = 0; + name = "真·流星赶月"; + nativename = "真·流星赶月"; + icon = "流星赶月1.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 12; + attr = 1; + rank = 20; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1116; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "1流星赶月.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(5); + range = new Range(); + range.type = 1; + pre_skills = new Dictionary(); + pre_skills.Add(66, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill402Stub() { } + + public float GetMpcost(Skill skill) => 165f; + public int GetExecutetime(Skill skill) => 800; + public int GetCoolingtime(Skill skill) => 6000; + public float GetRadius(Skill skill) => 3.5f; + public float GetAttackdistance(Skill skill) => 15f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 165); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 8f; + public int GetAttackspeed(Skill skill) => 6; + public float GetHitrate(Skill skill) => 1.7f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill402.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill402.cs.meta new file mode 100644 index 0000000000..970abb2d5f --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill402.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 3f29a2afdc799e4489c4d031234da92a \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill403.cs b/Assets/PerfectWorld/Scripts/Skills/skill403.cs new file mode 100644 index 0000000000..4cbcb84d46 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill403.cs @@ -0,0 +1,165 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill403 : Skill + { + public const int SKILL_ID = 403; + + public Skill403() : base(SKILL_ID) + { + } + } +#endif + + public class Skill403Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 92 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9474 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 300; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(33); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 800; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(132); + skill.SetPlus(3912); + skill.SetRatio(0); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill403Stub() : base(403) + { + cls = 0; + name = "狂·流星赶月"; + nativename = "狂·流星赶月"; + icon = "流星赶月2.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 12; + attr = 1; + rank = 30; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1116; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "2流星赶月.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(5); + range = new Range(); + range.type = 1; + pre_skills = new Dictionary(); + pre_skills.Add(66, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill403Stub() { } + + public float GetMpcost(Skill skill) => 165f; + public int GetExecutetime(Skill skill) => 800; + public int GetCoolingtime(Skill skill) => 6000; + public float GetRadius(Skill skill) => 3.5f; + public float GetAttackdistance(Skill skill) => 15f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 165); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 8f; + public int GetAttackspeed(Skill skill) => 6; + public float GetHitrate(Skill skill) => 1.7f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill403.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill403.cs.meta new file mode 100644 index 0000000000..15c69834a0 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill403.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: ef82c9e36300e45449c3c8505ff6dae5 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill404.cs b/Assets/PerfectWorld/Scripts/Skills/skill404.cs new file mode 100644 index 0000000000..d442027fd8 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill404.cs @@ -0,0 +1,166 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill404 : Skill + { + public const int SKILL_ID = 404; + + public Skill404() : base(SKILL_ID) + { + } + } +#endif + + public class Skill404Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 99 }; + private static readonly int[] RequiredSpArray = { 2000000 }; + private static readonly int[] RequiredItemArray = { 9475 }; + private static readonly int[] RequiredMoneyArray = { 2000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 300; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(61); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1800; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(244); + skill.SetPlus(8504); + skill.SetRatio(1); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill404Stub() : base(404) + { + cls = 0; + name = "真·寒冰刃域"; + nativename = "真·寒冰刃域"; + icon = "寒冰刃域1.DDS"; + max_level = 1; + type = 1; + apcost = 200; + arrowcost = 0; + apgain = 0; + attr = 1; + rank = 21; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1116; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "1刃域.sgc"; + doenchant = 1; + dobless = 1; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(5); + range = new Range(); + range.type = 2; + pre_skills = new Dictionary(); + pre_skills.Add(67, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill404Stub() { } + + public float GetMpcost(Skill skill) => 305f; + public int GetExecutetime(Skill skill) => 1800; + public int GetCoolingtime(Skill skill) => 30000; + public float GetRadius(Skill skill) => 12f; + public float GetAttackdistance(Skill skill) => (float)(skill.GetPlayer().GetRange() + 0.4 * skill.GetLevel()); + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 305, 50); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 10000; + public bool StateAttack(Skill skill) => true; + public bool BlessMe(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 8f; + public int GetAttackspeed(Skill skill) => 16; + public float GetHitrate(Skill skill) => 3f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill404.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill404.cs.meta new file mode 100644 index 0000000000..f03d52b825 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill404.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 9395e44d96da769488a243ae62642235 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill405.cs b/Assets/PerfectWorld/Scripts/Skills/skill405.cs new file mode 100644 index 0000000000..4e4421d827 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill405.cs @@ -0,0 +1,166 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill405 : Skill + { + public const int SKILL_ID = 405; + + public Skill405() : base(SKILL_ID) + { + } + } +#endif + + public class Skill405Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 99 }; + private static readonly int[] RequiredSpArray = { 2000000 }; + private static readonly int[] RequiredItemArray = { 9476 }; + private static readonly int[] RequiredMoneyArray = { 2000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 300; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(61); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1800; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(244); + skill.SetPlus(8504); + skill.SetRatio(1); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill405Stub() : base(405) + { + cls = 0; + name = "狂·寒冰刃域"; + nativename = "狂·寒冰刃域"; + icon = "寒冰刃域.dds"; + max_level = 1; + type = 1; + apcost = 200; + arrowcost = 0; + apgain = 0; + attr = 1; + rank = 31; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1116; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "2刃域.sgc"; + doenchant = 1; + dobless = 1; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(5); + range = new Range(); + range.type = 2; + pre_skills = new Dictionary(); + pre_skills.Add(67, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill405Stub() { } + + public float GetMpcost(Skill skill) => 305f; + public int GetExecutetime(Skill skill) => 1800; + public int GetCoolingtime(Skill skill) => 30000; + public float GetRadius(Skill skill) => 12f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 305, 50); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 10000; + public bool StateAttack(Skill skill) => true; + public bool BlessMe(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 8f; + public int GetAttackspeed(Skill skill) => 16; + public float GetHitrate(Skill skill) => 3f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill405.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill405.cs.meta new file mode 100644 index 0000000000..0aebffc3cd --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill405.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: ad252247bd3cb3b42960ee4644eb99c3 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill406.cs b/Assets/PerfectWorld/Scripts/Skills/skill406.cs new file mode 100644 index 0000000000..7488f5e1ad --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill406.cs @@ -0,0 +1,167 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill406 : Skill + { + public const int SKILL_ID = 406; + + public Skill406() : base(SKILL_ID) + { + } + } +#endif + + public class Skill406Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 92 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9477 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 400; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(28); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1500; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(112); + skill.SetPlus(5135); + skill.SetRatio(1); + skill.SetDamage(skill.GetAttack()); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill406Stub() : base(406) + { + cls = 0; + name = "真·龙飞击"; + nativename = "真·龙飞击"; + icon = "龙飞击1.DDS"; + max_level = 1; + type = 1; + apcost = 100; + arrowcost = 0; + apgain = 0; + attr = 1; + rank = 20; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1117; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "1霸王龙飞.sgc"; + doenchant = 1; + dobless = 1; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(9); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(68, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill406Stub() { } + + public float GetMpcost(Skill skill) => 140f; + public int GetExecutetime(Skill skill) => 1500; + public int GetCoolingtime(Skill skill) => 15000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 140, 100, 5135, 6); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 3000; + public bool StateAttack(Skill skill) => true; + public bool BlessMe(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 19.7f; + public int GetAttackspeed(Skill skill) => 13; + public float GetHitrate(Skill skill) => 1.7f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill406.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill406.cs.meta new file mode 100644 index 0000000000..30d8112902 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill406.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: e577caec57b3c2d4d9ec3d3caabb2d5f \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill407.cs b/Assets/PerfectWorld/Scripts/Skills/skill407.cs new file mode 100644 index 0000000000..dbcd8181b6 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill407.cs @@ -0,0 +1,166 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill407 : Skill + { + public const int SKILL_ID = 407; + + public Skill407() : base(SKILL_ID) + { + } + } +#endif + + public class Skill407Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 92 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9478 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 400; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(28); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1500; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(112); + skill.SetPlus(5135); + skill.SetRatio(1); + skill.SetDamage(skill.GetAttack()); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill407Stub() : base(407) + { + cls = 0; + name = "狂·龙飞击"; + nativename = "狂·龙飞击"; + icon = "龙飞击2.DDS"; + max_level = 1; + type = 1; + apcost = 100; + arrowcost = 0; + apgain = 0; + attr = 1; + rank = 30; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1117; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "2霸王龙飞.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(9); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(68, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill407Stub() { } + + public float GetMpcost(Skill skill) => 140f; + public int GetExecutetime(Skill skill) => 1500; + public int GetCoolingtime(Skill skill) => 15000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 140, 100, 5135, 6); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 3000; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 19.7f; + public int GetAttackspeed(Skill skill) => 13; + public float GetHitrate(Skill skill) => 1.7f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill407.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill407.cs.meta new file mode 100644 index 0000000000..817e6a1dcc --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill407.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: db044f62fbbbc9144ac40a397a2f935d \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill408.cs b/Assets/PerfectWorld/Scripts/Skills/skill408.cs new file mode 100644 index 0000000000..1b6edfc2f6 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill408.cs @@ -0,0 +1,165 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill408 : Skill + { + public const int SKILL_ID = 408; + + public Skill408() : base(SKILL_ID) + { + } + } +#endif + + public class Skill408Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 92 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9479 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 400; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(42); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 2000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(168); + skill.SetPlus(3233); + skill.SetRatio(1); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill408Stub() : base(408) + { + cls = 0; + name = "真·断岳扫"; + nativename = "真·断岳扫"; + icon = "断岳扫1.DDS"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 12; + attr = 1; + rank = 20; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1118; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "1霸王断岳.sgc"; + doenchant = 0; + dobless = 1; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(9); + range = new Range(); + range.type = 2; + pre_skills = new Dictionary(); + pre_skills.Add(70, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill408Stub() { } + + public float GetMpcost(Skill skill) => 210f; + public int GetExecutetime(Skill skill) => 2000; + public int GetCoolingtime(Skill skill) => 6000; + public float GetRadius(Skill skill) => 10f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 *(20 + 3 * skill.GetLevel())); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 210, 100, 3233); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool BlessMe(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 20f; + public int GetAttackspeed(Skill skill) => 5; + public float GetHitrate(Skill skill) => 1.7f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill408.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill408.cs.meta new file mode 100644 index 0000000000..332fe68604 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill408.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 5d13924d020b6cf4d827b5c2512c74a9 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill409.cs b/Assets/PerfectWorld/Scripts/Skills/skill409.cs new file mode 100644 index 0000000000..73e89f3799 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill409.cs @@ -0,0 +1,165 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill409 : Skill + { + public const int SKILL_ID = 409; + + public Skill409() : base(SKILL_ID) + { + } + } +#endif + + public class Skill409Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 92 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9480 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 400; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(42); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 2000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(168); + skill.SetPlus(3233); + skill.SetRatio(1); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill409Stub() : base(409) + { + cls = 0; + name = "狂·断岳扫"; + nativename = "狂·断岳扫"; + icon = "断岳扫2.DDS"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 12; + attr = 1; + rank = 30; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1118; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "2霸王断岳.sgc"; + doenchant = 0; + dobless = 1; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(9); + range = new Range(); + range.type = 2; + pre_skills = new Dictionary(); + pre_skills.Add(70, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill409Stub() { } + + public float GetMpcost(Skill skill) => 210f; + public int GetExecutetime(Skill skill) => 2000; + public int GetCoolingtime(Skill skill) => 6000; + public float GetRadius(Skill skill) => 10f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 *(20 + 3 * skill.GetLevel())); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 210, 100, 3233); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool BlessMe(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 20f; + public int GetAttackspeed(Skill skill) => 5; + public float GetHitrate(Skill skill) => 1.7f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill409.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill409.cs.meta new file mode 100644 index 0000000000..55d4a80e0a --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill409.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: fbc0e540d118c0d4990363b5ad5e4a45 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill410.cs b/Assets/PerfectWorld/Scripts/Skills/skill410.cs new file mode 100644 index 0000000000..334879ea70 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill410.cs @@ -0,0 +1,165 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill410 : Skill + { + public const int SKILL_ID = 410; + + public Skill410() : base(SKILL_ID) + { + } + } +#endif + + public class Skill410Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 99 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9481 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 300; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(42); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1400; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(168); + skill.SetPlus(3097); + skill.SetRatio(0); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill410Stub() : base(410) + { + cls = 0; + name = "真·裂岩炎震"; + nativename = "真·裂岩炎震"; + icon = "裂岩炎震1.DDS"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 10; + attr = 1; + rank = 21; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1119; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "1霸王暴怒.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(9); + range = new Range(); + range.type = 2; + pre_skills = new Dictionary(); + pre_skills.Add(71, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill410Stub() { } + + public float GetMpcost(Skill skill) => 210f; + public int GetExecutetime(Skill skill) => 1400; + public int GetCoolingtime(Skill skill) => 8000; + public float GetRadius(Skill skill) => 10f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 *(20 + 3 * skill.GetLevel())); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 210, 8); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 0f; + public int GetAttackspeed(Skill skill) => 11; + public float GetHitrate(Skill skill) => 2.5f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill410.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill410.cs.meta new file mode 100644 index 0000000000..f33d437304 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill410.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: a4f49172c19651d46ab7051f73d0d577 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill411.cs b/Assets/PerfectWorld/Scripts/Skills/skill411.cs new file mode 100644 index 0000000000..da7f251cfe --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill411.cs @@ -0,0 +1,165 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill411 : Skill + { + public const int SKILL_ID = 411; + + public Skill411() : base(SKILL_ID) + { + } + } +#endif + + public class Skill411Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 99 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9482 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 300; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(42); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1400; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(168); + skill.SetPlus(3097); + skill.SetRatio(0); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill411Stub() : base(411) + { + cls = 0; + name = "狂·裂岩炎震"; + nativename = "狂·裂岩炎震"; + icon = "裂岩炎震2.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 10; + attr = 1; + rank = 31; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1119; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "2霸王暴怒.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(9); + range = new Range(); + range.type = 2; + pre_skills = new Dictionary(); + pre_skills.Add(71, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill411Stub() { } + + public float GetMpcost(Skill skill) => 210f; + public int GetExecutetime(Skill skill) => 1400; + public int GetCoolingtime(Skill skill) => 8000; + public float GetRadius(Skill skill) => 10f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 *(20 + 3 * skill.GetLevel())); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 210, 8); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 0f; + public int GetAttackspeed(Skill skill) => 11; + public float GetHitrate(Skill skill) => 2.5f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill411.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill411.cs.meta new file mode 100644 index 0000000000..a93dc7a293 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill411.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 7a50d337b29ca7b4b9300cdf01fa7631 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill412.cs b/Assets/PerfectWorld/Scripts/Skills/skill412.cs new file mode 100644 index 0000000000..c674031719 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill412.cs @@ -0,0 +1,166 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill412 : Skill + { + public const int SKILL_ID = 412; + + public Skill412() : base(SKILL_ID) + { + } + } +#endif + + public class Skill412Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 99 }; + private static readonly int[] RequiredSpArray = { 2000000 }; + private static readonly int[] RequiredItemArray = { 9483 }; + private static readonly int[] RequiredMoneyArray = { 2000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 400; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(61); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1500; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(244); + skill.SetPlus(5975); + skill.SetRatio(1); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill412Stub() : base(412) + { + cls = 0; + name = "真·天火狂龙"; + nativename = "真·天火狂龙"; + icon = "天火狂龙1.dds"; + max_level = 1; + type = 1; + apcost = 200; + arrowcost = 0; + apgain = 0; + attr = 1; + rank = 21; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1120; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "1霸王献鼎.sgc"; + doenchant = 1; + dobless = 1; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(9); + range = new Range(); + range.type = 3; + pre_skills = new Dictionary(); + pre_skills.Add(69, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill412Stub() { } + + public float GetMpcost(Skill skill) => 305f; + public int GetExecutetime(Skill skill) => 1500; + public int GetCoolingtime(Skill skill) => 30000; + public float GetRadius(Skill skill) => 12f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 *(60 + 2.5 * skill.GetLevel())); + public float GetPraydistance(Skill skill) => 8f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 305, 100); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 10000; + public bool StateAttack(Skill skill) => true; + public bool BlessMe(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 19.7f; + public int GetAttackspeed(Skill skill) => 14; + public float GetHitrate(Skill skill) => 3f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill412.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill412.cs.meta new file mode 100644 index 0000000000..8c1860124b --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill412.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: a20c26c4ee61dc141afc652ec99f0804 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill413.cs b/Assets/PerfectWorld/Scripts/Skills/skill413.cs new file mode 100644 index 0000000000..1382b20e93 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill413.cs @@ -0,0 +1,165 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill413 : Skill + { + public const int SKILL_ID = 413; + + public Skill413() : base(SKILL_ID) + { + } + } +#endif + + public class Skill413Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 99 }; + private static readonly int[] RequiredSpArray = { 2000000 }; + private static readonly int[] RequiredItemArray = { 9484 }; + private static readonly int[] RequiredMoneyArray = { 2000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 400; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(61); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1500; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(244); + skill.SetPlus(5975); + skill.SetRatio(1); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill413Stub() : base(413) + { + cls = 0; + name = "狂·天火狂龙"; + nativename = "狂·天火狂龙"; + icon = "天火狂龙2.dds"; + max_level = 1; + type = 1; + apcost = 200; + arrowcost = 0; + apgain = 0; + attr = 1; + rank = 31; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1120; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "2霸王献鼎.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(9); + range = new Range(); + range.type = 3; + pre_skills = new Dictionary(); + pre_skills.Add(69, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill413Stub() { } + + public float GetMpcost(Skill skill) => 304f; + public int GetExecutetime(Skill skill) => 1500; + public int GetCoolingtime(Skill skill) => 30000; + public float GetRadius(Skill skill) => 12f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 *(60 + 2.5 * skill.GetLevel())); + public float GetPraydistance(Skill skill) => 8f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 305, 100); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 10000; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 19.7f; + public int GetAttackspeed(Skill skill) => 14; + public float GetHitrate(Skill skill) => 3f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill413.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill413.cs.meta new file mode 100644 index 0000000000..08d45c8cba --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill413.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 30a8254f3ed65b1439ff417620fbc5f1 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill414.cs b/Assets/PerfectWorld/Scripts/Skills/skill414.cs new file mode 100644 index 0000000000..caa214ae2d --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill414.cs @@ -0,0 +1,167 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill414 : Skill + { + public const int SKILL_ID = 414; + + public Skill414() : base(SKILL_ID) + { + } + } +#endif + + public class Skill414Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 92 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9485 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 400; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(28); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 700; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(112); + skill.SetPlus(4863); + skill.SetRatio(0.5f); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill414Stub() : base(414) + { + cls = 0; + name = "真·忘情式"; + nativename = "真·忘情式"; + icon = "忘情式1.dds"; + max_level = 1; + type = 1; + apcost = 100; + arrowcost = 0; + apgain = 0; + attr = 7; + rank = 20; + eventflag = 0; + is_senior = 1; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1121; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "1忘情式.sgc"; + doenchant = 1; + dobless = 1; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(1); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(72, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill414Stub() { } + + public float GetMpcost(Skill skill) => 140f; + public int GetExecutetime(Skill skill) => 700; + public int GetCoolingtime(Skill skill) => 15000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 140); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 3000; + public bool StateAttack(Skill skill) => true; + public bool BlessMe(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 13.3f; + public int GetAttackspeed(Skill skill) => 2; + public float GetHitrate(Skill skill) => 2.5f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill414.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill414.cs.meta new file mode 100644 index 0000000000..7168beafe0 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill414.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: f98327703e47d8541a009f81e327bf62 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill415.cs b/Assets/PerfectWorld/Scripts/Skills/skill415.cs new file mode 100644 index 0000000000..0ebd532ea5 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill415.cs @@ -0,0 +1,166 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill415 : Skill + { + public const int SKILL_ID = 415; + + public Skill415() : base(SKILL_ID) + { + } + } +#endif + + public class Skill415Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 92 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9486 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 400; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(28); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 700; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(112); + skill.SetPlus(4863); + skill.SetRatio(0.5f); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill415Stub() : base(415) + { + cls = 0; + name = "狂·忘情式"; + nativename = "狂·忘情式"; + icon = "忘情式2.dds"; + max_level = 1; + type = 1; + apcost = 100; + arrowcost = 0; + apgain = 0; + attr = 7; + rank = 30; + eventflag = 0; + is_senior = 1; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1121; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "2忘情式.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(1); + range = new Range(); + range.type = 3; + pre_skills = new Dictionary(); + pre_skills.Add(72, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill415Stub() { } + + public float GetMpcost(Skill skill) => 140f; + public int GetExecutetime(Skill skill) => 700; + public int GetCoolingtime(Skill skill) => 15000; + public float GetRadius(Skill skill) => 3f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 140); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 3000; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 13.3f; + public int GetAttackspeed(Skill skill) => 2; + public float GetHitrate(Skill skill) => 2.5f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill415.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill415.cs.meta new file mode 100644 index 0000000000..2ace2ec168 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill415.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 4431c292a8ef6864c93f019d8bd13dbd \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill416.cs b/Assets/PerfectWorld/Scripts/Skills/skill416.cs new file mode 100644 index 0000000000..441fd4cef7 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill416.cs @@ -0,0 +1,165 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill416 : Skill + { + public const int SKILL_ID = 416; + + public Skill416() : base(SKILL_ID) + { + } + } +#endif + + public class Skill416Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 92 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9487 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 700; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(28); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 800; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(112); + skill.SetRatio(0.8f); + skill.SetPlus(3777); + skill.SetRatio(0); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill416Stub() : base(416) + { + cls = 0; + name = "真·追魂诀"; + nativename = "真·追魂诀"; + icon = "追魂诀1.DDS"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 12; + attr = 1; + rank = 20; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1122; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "1追魂诀.sgc"; + doenchant = 0; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(1); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(73, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill416Stub() { } + + public float GetMpcost(Skill skill) => 140f; + public int GetExecutetime(Skill skill) => 800; + public int GetCoolingtime(Skill skill) => 6000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(12 + skill.GetPlayer().GetRange() - 3); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 12, 140); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 18.1f + skill.GetPlayer().GetRange() - 3; + public int GetAttackspeed(Skill skill) => 3; + public float GetHitrate(Skill skill) => 2.5f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill416.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill416.cs.meta new file mode 100644 index 0000000000..926a1254e7 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill416.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 67ea1d841de2aa74bbf42772a265a54b \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill417.cs b/Assets/PerfectWorld/Scripts/Skills/skill417.cs new file mode 100644 index 0000000000..5e4d124b0d --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill417.cs @@ -0,0 +1,166 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill417 : Skill + { + public const int SKILL_ID = 417; + + public Skill417() : base(SKILL_ID) + { + } + } +#endif + + public class Skill417Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 92 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9488 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 800; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(28); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 900; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(112); + skill.SetRatio(0.8f); + skill.SetPlus(3777); + skill.SetRatio(0); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill417Stub() : base(417) + { + cls = 0; + name = "狂·追魂诀"; + nativename = "狂·追魂诀"; + icon = "追魂诀2.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 12; + attr = 1; + rank = 30; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1122; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "2追魂诀.sgc"; + doenchant = 0; + dobless = 1; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(1); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(73, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill417Stub() { } + + public float GetMpcost(Skill skill) => 140f; + public int GetExecutetime(Skill skill) => 900; + public int GetCoolingtime(Skill skill) => 6000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(12 + skill.GetPlayer().GetRange() - 3); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 12, 140); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool BlessMe(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 18.1f + skill.GetPlayer().GetRange() - 3; + public int GetAttackspeed(Skill skill) => 3; + public float GetHitrate(Skill skill) => 2.5f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill417.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill417.cs.meta new file mode 100644 index 0000000000..a866621706 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill417.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 4bad390f8f7e1094fadeb19cdb73f822 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill418.cs b/Assets/PerfectWorld/Scripts/Skills/skill418.cs new file mode 100644 index 0000000000..75207415c7 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill418.cs @@ -0,0 +1,166 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill418 : Skill + { + public const int SKILL_ID = 418; + + public Skill418() : base(SKILL_ID) + { + } + } +#endif + + public class Skill418Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 99 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9489 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(28); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1700; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(112); + skill.SetPlus(4320); + skill.SetRatio(1.8f); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill418Stub() : base(418) + { + cls = 0; + name = "真·剑气纵横"; + nativename = "真·剑气纵横"; + icon = "剑气纵横1.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 10; + attr = 1; + rank = 21; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1123; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "1剑气纵横.sgc"; + doenchant = 1; + dobless = 1; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(1); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(74, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill418Stub() { } + + public float GetMpcost(Skill skill) => 140f; + public int GetExecutetime(Skill skill) => 1700; + public int GetCoolingtime(Skill skill) => 8000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => (float)(skill.GetPlayer().GetRange() + 3 + 0.3 * skill.GetLevel()); + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 140, 180, 4320, 18); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool BlessMe(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 19.7f; + public int GetAttackspeed(Skill skill) => 3; + public float GetHitrate(Skill skill) => 3.5f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill418.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill418.cs.meta new file mode 100644 index 0000000000..62a583ebf9 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill418.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 3cc9b0ade6858f64c8cbe75e0592c602 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill419.cs b/Assets/PerfectWorld/Scripts/Skills/skill419.cs new file mode 100644 index 0000000000..475f81654f --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill419.cs @@ -0,0 +1,165 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill419 : Skill + { + public const int SKILL_ID = 419; + + public Skill419() : base(SKILL_ID) + { + } + } +#endif + + public class Skill419Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 99 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9490 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(28); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1700; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(112); + skill.SetPlus(4320); + skill.SetRatio(1.8f); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill419Stub() : base(419) + { + cls = 0; + name = "狂·剑气纵横"; + nativename = "狂·剑气纵横"; + icon = "剑气纵横2.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 10; + attr = 1; + rank = 31; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1123; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "2剑气纵横.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(1); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(74, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill419Stub() { } + + public float GetMpcost(Skill skill) => 140f; + public int GetExecutetime(Skill skill) => 1700; + public int GetCoolingtime(Skill skill) => 8000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => (float)(skill.GetPlayer().GetRange() + 3 + 0.3 * skill.GetLevel()); + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 140, 180, 4320, 18); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 19.7f; + public int GetAttackspeed(Skill skill) => 3; + public float GetHitrate(Skill skill) => 3.5f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill419.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill419.cs.meta new file mode 100644 index 0000000000..6d170b4f10 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill419.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 34da86aad99975843a2cfd820ef902c4 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill420.cs b/Assets/PerfectWorld/Scripts/Skills/skill420.cs new file mode 100644 index 0000000000..ec506a8031 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill420.cs @@ -0,0 +1,167 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill420 : Skill + { + public const int SKILL_ID = 420; + + public Skill420() : base(SKILL_ID) + { + } + } +#endif + + public class Skill420Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 99 }; + private static readonly int[] RequiredSpArray = { 2000000 }; + private static readonly int[] RequiredItemArray = { 9491 }; + private static readonly int[] RequiredMoneyArray = { 2000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(61); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 3000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(244); + skill.SetPlus(8820); + skill.SetRatio(3); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill420Stub() : base(420) + { + cls = 0; + name = "真·万剑诀"; + nativename = "真·万剑诀"; + icon = "万剑诀1.dds"; + max_level = 1; + type = 1; + apcost = 100; + arrowcost = 0; + apgain = 0; + attr = 1; + rank = 21; + eventflag = 0; + is_senior = 1; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1124; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "1万剑诀.sgc"; + doenchant = 1; + dobless = 1; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(1); + range = new Range(); + range.type = 3; + pre_skills = new Dictionary(); + pre_skills.Add(75, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill420Stub() { } + + public float GetMpcost(Skill skill) => 305f; + public int GetExecutetime(Skill skill) => 3000; + public int GetCoolingtime(Skill skill) => 30000; + public float GetRadius(Skill skill) => 12f; + public float GetAttackdistance(Skill skill) => (float)(skill.GetPlayer().GetRange() + 0.4 * skill.GetLevel()); + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(10 + skill.GetPlayer().GetRange() - 3); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 305); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 10000; + public bool StateAttack(Skill skill) => true; + public bool BlessMe(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 22 + skill.GetPlayer().GetRange() - 3; + public int GetAttackspeed(Skill skill) => 15; + public float GetHitrate(Skill skill) => 2.5f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill420.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill420.cs.meta new file mode 100644 index 0000000000..98d317ab02 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill420.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 953de2bbf65db9e4caadb6750201f7da \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill421.cs b/Assets/PerfectWorld/Scripts/Skills/skill421.cs new file mode 100644 index 0000000000..8bc3c8ba57 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill421.cs @@ -0,0 +1,166 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill421 : Skill + { + public const int SKILL_ID = 421; + + public Skill421() : base(SKILL_ID) + { + } + } +#endif + + public class Skill421Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 99 }; + private static readonly int[] RequiredSpArray = { 2000000 }; + private static readonly int[] RequiredItemArray = { 9492 }; + private static readonly int[] RequiredMoneyArray = { 2000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(61); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 3000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(244); + skill.SetPlus(8820); + skill.SetRatio(3); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill421Stub() : base(421) + { + cls = 0; + name = "狂·万剑诀"; + nativename = "狂·万剑诀"; + icon = "万剑诀2.dds"; + max_level = 1; + type = 1; + apcost = 100; + arrowcost = 0; + apgain = 0; + attr = 1; + rank = 31; + eventflag = 0; + is_senior = 1; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1124; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "2万剑诀.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(1); + range = new Range(); + range.type = 3; + pre_skills = new Dictionary(); + pre_skills.Add(75, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill421Stub() { } + + public float GetMpcost(Skill skill) => 305f; + public int GetExecutetime(Skill skill) => 3000; + public int GetCoolingtime(Skill skill) => 30000; + public float GetRadius(Skill skill) => 12f; + public float GetAttackdistance(Skill skill) => (float)(skill.GetPlayer().GetRange() + 0.4 * skill.GetLevel()); + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(10 + skill.GetPlayer().GetRange() - 3); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 305); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 10000; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 22 + skill.GetPlayer().GetRange() - 3; + public int GetAttackspeed(Skill skill) => 15; + public float GetHitrate(Skill skill) => 2.5f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill421.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill421.cs.meta new file mode 100644 index 0000000000..fc731f33dd --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill421.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: bf77d714b65c8e24c90b65104c3feb14 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill422.cs b/Assets/PerfectWorld/Scripts/Skills/skill422.cs new file mode 100644 index 0000000000..00ff545d24 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill422.cs @@ -0,0 +1,167 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill422 : Skill + { + public const int SKILL_ID = 422; + + public Skill422() : base(SKILL_ID) + { + } + } +#endif + + public class Skill422Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 89 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 9493 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 600; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(125); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1800; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(500); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill422Stub() : base(422) + { + cls = 0; + name = "真·金钟罩"; + nativename = "真·金钟罩"; + icon = "金钟罩1.dds"; + max_level = 1; + type = 2; + apcost = 0; + arrowcost = 0; + apgain = 10; + attr = 1; + rank = 20; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1125; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "1金钟罩.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(1); + restrict_weapons.Add(182); + restrict_weapons.Add(5); + restrict_weapons.Add(292); + restrict_weapons.Add(9); + range = new Range(); + range.type = 2; + pre_skills = new Dictionary(); + pre_skills.Add(77, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill422Stub() { } + + public float GetMpcost(Skill skill) => 625f; + public int GetExecutetime(Skill skill) => 1800; + public int GetCoolingtime(Skill skill) => 3000; + public float GetRadius(Skill skill) => 16f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 625, 75); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 5f; + public int GetAttackspeed(Skill skill) => 9; + public float GetHitrate(Skill skill) => 1.0f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill422.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill422.cs.meta new file mode 100644 index 0000000000..06b89b9e7b --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill422.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 3c27d76acb5a0e14eaea6558c63cf333 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill423.cs b/Assets/PerfectWorld/Scripts/Skills/skill423.cs new file mode 100644 index 0000000000..9f4173201f --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill423.cs @@ -0,0 +1,167 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill423 : Skill + { + public const int SKILL_ID = 423; + + public Skill423() : base(SKILL_ID) + { + } + } +#endif + + public class Skill423Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 89 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 9494 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 600; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(125); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1800; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(500); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill423Stub() : base(423) + { + cls = 0; + name = "狂·金钟罩"; + nativename = "狂·金钟罩"; + icon = "金钟罩2.dds"; + max_level = 1; + type = 2; + apcost = 0; + arrowcost = 0; + apgain = 10; + attr = 1; + rank = 30; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1125; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "2金钟罩.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(1); + restrict_weapons.Add(182); + restrict_weapons.Add(5); + restrict_weapons.Add(292); + restrict_weapons.Add(9); + range = new Range(); + range.type = 2; + pre_skills = new Dictionary(); + pre_skills.Add(77, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill423Stub() { } + + public float GetMpcost(Skill skill) => 625f; + public int GetExecutetime(Skill skill) => 1800; + public int GetCoolingtime(Skill skill) => 3000; + public float GetRadius(Skill skill) => 16f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 625); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 5f; + public int GetAttackspeed(Skill skill) => 9; + public float GetHitrate(Skill skill) => 1.0f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill423.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill423.cs.meta new file mode 100644 index 0000000000..cea05bafd8 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill423.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 4f1f2a6b49fdc174dac48b656db8f6b4 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill424.cs b/Assets/PerfectWorld/Scripts/Skills/skill424.cs new file mode 100644 index 0000000000..fca877e5b5 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill424.cs @@ -0,0 +1,168 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill424 : Skill + { + public const int SKILL_ID = 424; + + public Skill424() : base(SKILL_ID) + { + } + } +#endif + + public class Skill424Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 89 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 9495 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 600; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(35); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1800; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(140); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill424Stub() : base(424) + { + cls = 0; + name = "真·狮子吼"; + nativename = "真·狮子吼"; + icon = "狮子吼1.dds"; + max_level = 1; + type = 3; + apcost = 20; + arrowcost = 0; + apgain = 0; + attr = 1; + rank = 20; + eventflag = 0; + is_senior = 1; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1126; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "狮子吼.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(1); + restrict_weapons.Add(182); + restrict_weapons.Add(5); + restrict_weapons.Add(292); + restrict_weapons.Add(9); + range = new Range(); + range.type = 2; + pre_skills = new Dictionary(); + pre_skills.Add(4, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill424Stub() { } + + public float GetMpcost(Skill skill) => 175f; + public int GetExecutetime(Skill skill) => 1800; + public int GetCoolingtime(Skill skill) => 15000; + public float GetRadius(Skill skill) => 10f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 5f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 175, 15, 6); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 6000; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 20f; + public int GetAttackspeed(Skill skill) => 9; + public float GetHitrate(Skill skill) => 1.0f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill424.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill424.cs.meta new file mode 100644 index 0000000000..11a132eb73 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill424.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 67419715720af9940add2f23f38b2ec5 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill425.cs b/Assets/PerfectWorld/Scripts/Skills/skill425.cs new file mode 100644 index 0000000000..3417f593b2 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill425.cs @@ -0,0 +1,167 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill425 : Skill + { + public const int SKILL_ID = 425; + + public Skill425() : base(SKILL_ID) + { + } + } +#endif + + public class Skill425Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 89 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 9496 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 600; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(35); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1800; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(140); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill425Stub() : base(425) + { + cls = 0; + name = "狂·狮子吼"; + nativename = "狂·狮子吼"; + icon = "狮子吼2.dds"; + max_level = 1; + type = 3; + apcost = 35; + arrowcost = 0; + apgain = 0; + attr = 1; + rank = 30; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1126; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "2狮子吼.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(1); + restrict_weapons.Add(182); + restrict_weapons.Add(5); + restrict_weapons.Add(292); + restrict_weapons.Add(9); + range = new Range(); + range.type = 2; + pre_skills = new Dictionary(); + pre_skills.Add(4, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill425Stub() { } + + public float GetMpcost(Skill skill) => 175f; + public int GetExecutetime(Skill skill) => 1800; + public int GetCoolingtime(Skill skill) => 14000; + public float GetRadius(Skill skill) => 10f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 5f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 175, 15, 6); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 6000; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 20f; + public int GetAttackspeed(Skill skill) => 9; + public float GetHitrate(Skill skill) => 1.0f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill425.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill425.cs.meta new file mode 100644 index 0000000000..915d9395fe --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill425.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: e3922c67752779145acc669a09c1cbeb \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill426.cs b/Assets/PerfectWorld/Scripts/Skills/skill426.cs new file mode 100644 index 0000000000..e2e6966bdb --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill426.cs @@ -0,0 +1,117 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill426 : Skill + { + public const int SKILL_ID = 426; + + public Skill426() : base(SKILL_ID) + { + } + } +#endif + + public class Skill426Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 89 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 9497 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(20); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill426Stub() : base(426) + { + cls = 0; + name = "真·易筋经"; + nativename = "真·易筋经"; + icon = "易筋经1.DDS"; + max_level = 1; + type = 2; + apcost = 0; + arrowcost = 0; + apgain = 10; + attr = 1; + rank = 20; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 1; + showorder = 1131; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "1易筋经.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(1); + restrict_weapons.Add(182); + restrict_weapons.Add(5); + restrict_weapons.Add(292); + restrict_weapons.Add(9); + range = new Range(); + range.type = 5; + pre_skills = new Dictionary(); + pre_skills.Add(177, 10); +#if SKILL_SERVER + statestub.Add(new State1()); +#endif + } + + ~Skill426Stub() { } + + public float GetMpcost(Skill skill) => 20f; + public int GetExecutetime(Skill skill) => 0; + public int GetCoolingtime(Skill skill) => 10000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 5f; + public float GetHitrate(Skill skill) => 0f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill426.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill426.cs.meta new file mode 100644 index 0000000000..c9e853abd9 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill426.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: dbb835fee0b63174c9fa6e31ecff8b00 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill427.cs b/Assets/PerfectWorld/Scripts/Skills/skill427.cs new file mode 100644 index 0000000000..7023eb1025 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill427.cs @@ -0,0 +1,117 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill427 : Skill + { + public const int SKILL_ID = 427; + + public Skill427() : base(SKILL_ID) + { + } + } +#endif + + public class Skill427Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 89 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 9498 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(20); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill427Stub() : base(427) + { + cls = 0; + name = "狂·易筋经"; + nativename = "狂·易筋经"; + icon = "易筋经2.DDS"; + max_level = 1; + type = 2; + apcost = 0; + arrowcost = 0; + apgain = 10; + attr = 1; + rank = 30; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 1; + showorder = 1131; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "2易筋经.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(1); + restrict_weapons.Add(182); + restrict_weapons.Add(5); + restrict_weapons.Add(292); + restrict_weapons.Add(9); + range = new Range(); + range.type = 5; + pre_skills = new Dictionary(); + pre_skills.Add(177, 10); +#if SKILL_SERVER + statestub.Add(new State1()); +#endif + } + + ~Skill427Stub() { } + + public float GetMpcost(Skill skill) => 20f; + public int GetExecutetime(Skill skill) => 0; + public int GetCoolingtime(Skill skill) => 10000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 5f; + public float GetHitrate(Skill skill) => 0f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill427.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill427.cs.meta new file mode 100644 index 0000000000..a51f7c6e88 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill427.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 2080c87032b279c40bd9c9e1fd991a2d \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill428.cs b/Assets/PerfectWorld/Scripts/Skills/skill428.cs new file mode 100644 index 0000000000..b4efc045a0 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill428.cs @@ -0,0 +1,117 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill428 : Skill + { + public const int SKILL_ID = 428; + + public Skill428() : base(SKILL_ID) + { + } + } +#endif + + public class Skill428Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 89 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 9499 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(20); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill428Stub() : base(428) + { + cls = 0; + name = "真·易髓经"; + nativename = "真·易髓经"; + icon = "易髓经1.dds"; + max_level = 1; + type = 2; + apcost = 0; + arrowcost = 0; + apgain = 10; + attr = 0; + rank = 20; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 1; + showorder = 1132; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "1易髓经.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(1); + restrict_weapons.Add(182); + restrict_weapons.Add(5); + restrict_weapons.Add(292); + restrict_weapons.Add(9); + range = new Range(); + range.type = 5; + pre_skills = new Dictionary(); + pre_skills.Add(178, 10); +#if SKILL_SERVER + statestub.Add(new State1()); +#endif + } + + ~Skill428Stub() { } + + public float GetMpcost(Skill skill) => 20f; + public int GetExecutetime(Skill skill) => 0; + public int GetCoolingtime(Skill skill) => 10000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 5f; + public float GetHitrate(Skill skill) => 0f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill428.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill428.cs.meta new file mode 100644 index 0000000000..6937648e78 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill428.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 03ecf6f89db7f984fa5b68dc68abfe3d \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill429.cs b/Assets/PerfectWorld/Scripts/Skills/skill429.cs new file mode 100644 index 0000000000..daf5dde250 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill429.cs @@ -0,0 +1,117 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill429 : Skill + { + public const int SKILL_ID = 429; + + public Skill429() : base(SKILL_ID) + { + } + } +#endif + + public class Skill429Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 89 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 9500 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(20); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill429Stub() : base(429) + { + cls = 0; + name = "狂·易髓经"; + nativename = "狂·易髓经"; + icon = "易髓经2.dds"; + max_level = 1; + type = 2; + apcost = 0; + arrowcost = 0; + apgain = 10; + attr = 0; + rank = 30; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 1; + showorder = 1132; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "2易髓经.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(1); + restrict_weapons.Add(182); + restrict_weapons.Add(5); + restrict_weapons.Add(292); + restrict_weapons.Add(9); + range = new Range(); + range.type = 5; + pre_skills = new Dictionary(); + pre_skills.Add(178, 10); +#if SKILL_SERVER + statestub.Add(new State1()); +#endif + } + + ~Skill429Stub() { } + + public float GetMpcost(Skill skill) => 20f; + public int GetExecutetime(Skill skill) => 0; + public int GetCoolingtime(Skill skill) => 10000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 5f; + public float GetHitrate(Skill skill) => 0f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill429.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill429.cs.meta new file mode 100644 index 0000000000..ce56fbc871 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill429.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 71a4ef6dccd66b24d8cb68536a8ceac1 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill430.cs b/Assets/PerfectWorld/Scripts/Skills/skill430.cs new file mode 100644 index 0000000000..2fffc4156c --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill430.cs @@ -0,0 +1,130 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill430 : Skill + { + public const int SKILL_ID = 430; + + public Skill430() : base(SKILL_ID) + { + } + } +#endif + + public class Skill430Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 92 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9501 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(375); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill430Stub() : base(430) + { + cls = 0; + name = "真·金刚经"; + nativename = "真·金刚经"; + icon = "金刚经1.dds"; + max_level = 1; + type = 2; + apcost = 100; + arrowcost = 0; + apgain = 0; + attr = 0; + rank = 20; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 1; + showorder = 1133; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "1金刚经.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(1); + restrict_weapons.Add(182); + restrict_weapons.Add(5); + restrict_weapons.Add(292); + restrict_weapons.Add(9); + range = new Range(); + range.type = 5; + pre_skills = new Dictionary(); + pre_skills.Add(179, 10); +#if SKILL_SERVER + statestub.Add(new State1()); +#endif + } + + ~Skill430Stub() { } + + public float GetMpcost(Skill skill) => 375f; + public int GetExecutetime(Skill skill) => 0; + public int GetCoolingtime(Skill skill) => 30000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 375, 2000); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 5f; + public float GetHitrate(Skill skill) => 0f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill430.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill430.cs.meta new file mode 100644 index 0000000000..b875af4521 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill430.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: ba8a4984df88a02468c3bfd1b44cee30 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill431.cs b/Assets/PerfectWorld/Scripts/Skills/skill431.cs new file mode 100644 index 0000000000..e99e301e24 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill431.cs @@ -0,0 +1,130 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill431 : Skill + { + public const int SKILL_ID = 431; + + public Skill431() : base(SKILL_ID) + { + } + } +#endif + + public class Skill431Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 92 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9502 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(375); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill431Stub() : base(431) + { + cls = 0; + name = "狂·金刚经"; + nativename = "狂·金刚经"; + icon = "金刚经2.dds"; + max_level = 1; + type = 2; + apcost = 100; + arrowcost = 0; + apgain = 0; + attr = 0; + rank = 30; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 1; + showorder = 1133; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "2金刚经.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(1); + restrict_weapons.Add(182); + restrict_weapons.Add(5); + restrict_weapons.Add(292); + restrict_weapons.Add(9); + range = new Range(); + range.type = 5; + pre_skills = new Dictionary(); + pre_skills.Add(179, 10); +#if SKILL_SERVER + statestub.Add(new State1()); +#endif + } + + ~Skill431Stub() { } + + public float GetMpcost(Skill skill) => 375f; + public int GetExecutetime(Skill skill) => 0; + public int GetCoolingtime(Skill skill) => 30000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 375, 2000); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 5f; + public float GetHitrate(Skill skill) => 0f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill431.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill431.cs.meta new file mode 100644 index 0000000000..48ccba7bf5 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill431.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: d4fc973154ef3d24cb143ef09fa11078 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill432.cs b/Assets/PerfectWorld/Scripts/Skills/skill432.cs new file mode 100644 index 0000000000..520368386b --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill432.cs @@ -0,0 +1,104 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill432 : Skill + { + public const int SKILL_ID = 432; + + public Skill432() : base(SKILL_ID) + { + } + } +#endif + + public class Skill432Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 92 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9503 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + + public Skill432Stub() : base(432) + { + cls = 0; + name = "真·刀剑精通"; + nativename = "真·刀剑精通"; + icon = "刀剑精通1.dds"; + max_level = 1; + type = 5; + apcost = 0; + arrowcost = 0; + apgain = 0; + attr = 0; + rank = 20; + eventflag = 2; + is_senior = 1; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1134; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = ""; + doenchant = 0; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(6, 10); + + } + + ~Skill432Stub() { } + + public float GetMpcost(Skill skill) => 0f; + public int GetExecutetime(Skill skill) => 0; + public int GetCoolingtime(Skill skill) => 0; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 75); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 0f; + public float GetHitrate(Skill skill) => 1.0f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill432.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill432.cs.meta new file mode 100644 index 0000000000..3a15670c33 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill432.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 0b1a8482e708dab47b51c0a430e74ab1 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill433.cs b/Assets/PerfectWorld/Scripts/Skills/skill433.cs new file mode 100644 index 0000000000..9264ce84af --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill433.cs @@ -0,0 +1,104 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill433 : Skill + { + public const int SKILL_ID = 433; + + public Skill433() : base(SKILL_ID) + { + } + } +#endif + + public class Skill433Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 92 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9504 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + + public Skill433Stub() : base(433) + { + cls = 0; + name = "狂·刀剑精通"; + nativename = "狂·刀剑精通"; + icon = "刀剑精通2.dds"; + max_level = 1; + type = 5; + apcost = 0; + arrowcost = 0; + apgain = 0; + attr = 0; + rank = 30; + eventflag = 2; + is_senior = 1; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1134; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = ""; + doenchant = 0; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(6, 10); + + } + + ~Skill433Stub() { } + + public float GetMpcost(Skill skill) => 0f; + public int GetExecutetime(Skill skill) => 0; + public int GetCoolingtime(Skill skill) => 0; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 75); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 0f; + public float GetHitrate(Skill skill) => 1.0f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill433.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill433.cs.meta new file mode 100644 index 0000000000..df652bd148 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill433.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 8fb761b430b9a1747ae8525c73cec3fa \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill434.cs b/Assets/PerfectWorld/Scripts/Skills/skill434.cs new file mode 100644 index 0000000000..d36c7881d1 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill434.cs @@ -0,0 +1,104 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill434 : Skill + { + public const int SKILL_ID = 434; + + public Skill434() : base(SKILL_ID) + { + } + } +#endif + + public class Skill434Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 92 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9505 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + + public Skill434Stub() : base(434) + { + cls = 0; + name = "真·长兵精通"; + nativename = "真·长兵精通"; + icon = "长兵精通1.dds"; + max_level = 1; + type = 5; + apcost = 0; + arrowcost = 0; + apgain = 0; + attr = 0; + rank = 20; + eventflag = 2; + is_senior = 1; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1135; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = ""; + doenchant = 0; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(78, 10); + + } + + ~Skill434Stub() { } + + public float GetMpcost(Skill skill) => 0f; + public int GetExecutetime(Skill skill) => 0; + public int GetCoolingtime(Skill skill) => 0; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 75); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 0f; + public float GetHitrate(Skill skill) => 1.0f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill434.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill434.cs.meta new file mode 100644 index 0000000000..62a969c312 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill434.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 19477acbed5bb9d4898bc9be4fb77759 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill435.cs b/Assets/PerfectWorld/Scripts/Skills/skill435.cs new file mode 100644 index 0000000000..fcf157a76b --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill435.cs @@ -0,0 +1,104 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill435 : Skill + { + public const int SKILL_ID = 435; + + public Skill435() : base(SKILL_ID) + { + } + } +#endif + + public class Skill435Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 92 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9506 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + + public Skill435Stub() : base(435) + { + cls = 0; + name = "狂·长兵精通"; + nativename = "狂·长兵精通"; + icon = "长兵精通2.dds"; + max_level = 1; + type = 5; + apcost = 0; + arrowcost = 0; + apgain = 0; + attr = 0; + rank = 30; + eventflag = 2; + is_senior = 1; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1135; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = ""; + doenchant = 0; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(78, 10); + + } + + ~Skill435Stub() { } + + public float GetMpcost(Skill skill) => 0f; + public int GetExecutetime(Skill skill) => 0; + public int GetCoolingtime(Skill skill) => 0; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 75); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 0f; + public float GetHitrate(Skill skill) => 1.0f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill435.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill435.cs.meta new file mode 100644 index 0000000000..1a342ef2ea --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill435.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 005110c036cf5624380512040ab6a009 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill436.cs b/Assets/PerfectWorld/Scripts/Skills/skill436.cs new file mode 100644 index 0000000000..1cdf60b3a4 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill436.cs @@ -0,0 +1,104 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill436 : Skill + { + public const int SKILL_ID = 436; + + public Skill436() : base(SKILL_ID) + { + } + } +#endif + + public class Skill436Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 92 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9507 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + + public Skill436Stub() : base(436) + { + cls = 0; + name = "真·斧锤精通"; + nativename = "真·斧锤精通"; + icon = "斧锤精通1.dds"; + max_level = 1; + type = 5; + apcost = 0; + arrowcost = 0; + apgain = 0; + attr = 0; + rank = 20; + eventflag = 2; + is_senior = 1; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1136; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = ""; + doenchant = 0; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(79, 10); + + } + + ~Skill436Stub() { } + + public float GetMpcost(Skill skill) => 0f; + public int GetExecutetime(Skill skill) => 0; + public int GetCoolingtime(Skill skill) => 0; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 75); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 0f; + public float GetHitrate(Skill skill) => 1.0f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill436.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill436.cs.meta new file mode 100644 index 0000000000..05bdd80e42 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill436.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: ed3732e07672f9e488e0ea3c5b73c20a \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill437.cs b/Assets/PerfectWorld/Scripts/Skills/skill437.cs new file mode 100644 index 0000000000..5f1345c65a --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill437.cs @@ -0,0 +1,104 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill437 : Skill + { + public const int SKILL_ID = 437; + + public Skill437() : base(SKILL_ID) + { + } + } +#endif + + public class Skill437Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 92 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9509 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + + public Skill437Stub() : base(437) + { + cls = 0; + name = "真·拳术精通"; + nativename = "真·拳术精通"; + icon = "拳术精通1.dds"; + max_level = 1; + type = 5; + apcost = 0; + arrowcost = 0; + apgain = 0; + attr = 0; + rank = 20; + eventflag = 2; + is_senior = 1; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1137; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = ""; + doenchant = 0; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(80, 10); + + } + + ~Skill437Stub() { } + + public float GetMpcost(Skill skill) => 0f; + public int GetExecutetime(Skill skill) => 0; + public int GetCoolingtime(Skill skill) => 0; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 75); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 0f; + public float GetHitrate(Skill skill) => 1.0f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill437.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill437.cs.meta new file mode 100644 index 0000000000..b314930e24 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill437.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 0bf20d1b066af0a4fac00b6f9f99b074 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill438.cs b/Assets/PerfectWorld/Scripts/Skills/skill438.cs new file mode 100644 index 0000000000..2a8d1551f2 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill438.cs @@ -0,0 +1,104 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill438 : Skill + { + public const int SKILL_ID = 438; + + public Skill438() : base(SKILL_ID) + { + } + } +#endif + + public class Skill438Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 92 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9510 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + + public Skill438Stub() : base(438) + { + cls = 0; + name = "狂·拳术精通"; + nativename = "狂·拳术精通"; + icon = "拳术精通2.dds"; + max_level = 1; + type = 5; + apcost = 0; + arrowcost = 0; + apgain = 0; + attr = 0; + rank = 30; + eventflag = 2; + is_senior = 1; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1137; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = ""; + doenchant = 0; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(80, 10); + + } + + ~Skill438Stub() { } + + public float GetMpcost(Skill skill) => 0f; + public int GetExecutetime(Skill skill) => 0; + public int GetCoolingtime(Skill skill) => 0; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 75); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 0f; + public float GetHitrate(Skill skill) => 1.0f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill438.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill438.cs.meta new file mode 100644 index 0000000000..46953c906e --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill438.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: b3166d59ad5b1b0409a1e81096463635 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill439.cs b/Assets/PerfectWorld/Scripts/Skills/skill439.cs new file mode 100644 index 0000000000..3401aa07d8 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill439.cs @@ -0,0 +1,104 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill439 : Skill + { + public const int SKILL_ID = 439; + + public Skill439() : base(SKILL_ID) + { + } + } +#endif + + public class Skill439Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 92 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9508 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + + public Skill439Stub() : base(439) + { + cls = 0; + name = "狂·斧锤精通"; + nativename = "狂·斧锤精通"; + icon = "斧锤精通2.dds"; + max_level = 1; + type = 5; + apcost = 0; + arrowcost = 0; + apgain = 0; + attr = 0; + rank = 30; + eventflag = 2; + is_senior = 1; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1136; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = ""; + doenchant = 0; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(79, 10); + + } + + ~Skill439Stub() { } + + public float GetMpcost(Skill skill) => 0f; + public int GetExecutetime(Skill skill) => 0; + public int GetCoolingtime(Skill skill) => 0; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 75); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 0f; + public float GetHitrate(Skill skill) => 1.0f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill439.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill439.cs.meta new file mode 100644 index 0000000000..b6447859a5 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill439.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 7c79c9e0ff67118498ad5ff26b2f23ce \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill440.cs b/Assets/PerfectWorld/Scripts/Skills/skill440.cs new file mode 100644 index 0000000000..ffbfb8344e --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill440.cs @@ -0,0 +1,166 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill440 : Skill + { + public const int SKILL_ID = 440; + + public Skill440() : base(SKILL_ID) + { + } + } +#endif + + public class Skill440Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 89 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 9511 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 1500; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(53); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 800; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(212); + skill.SetPlus(3620); + skill.SetRatio(1); + skill.SetFiredamage(skill.GetMagicattack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill440Stub() : base(440) + { + cls = 1; + name = "真·烈火符"; + nativename = "真·烈火符"; + icon = "烈火符1.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 15; + attr = 5; + rank = 20; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1201; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "1烈火符.sgc"; + doenchant = 0; + dobless = 1; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(292); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(81, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill440Stub() { } + + public float GetMpcost(Skill skill) => 265f; + public int GetExecutetime(Skill skill) => 800; + public int GetCoolingtime(Skill skill) => 3000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 30f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 30, 265, 100, 3620); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool BlessMe(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 36f; + public int GetAttackspeed(Skill skill) => 27; + public float GetHitrate(Skill skill) => 1.0f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill440.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill440.cs.meta new file mode 100644 index 0000000000..1943092611 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill440.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 2f626e777062f324c955087313d5b566 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill441.cs b/Assets/PerfectWorld/Scripts/Skills/skill441.cs new file mode 100644 index 0000000000..99abe0aaae --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill441.cs @@ -0,0 +1,165 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill441 : Skill + { + public const int SKILL_ID = 441; + + public Skill441() : base(SKILL_ID) + { + } + } +#endif + + public class Skill441Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 89 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 9512 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 1200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(53); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 800; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(212); + skill.SetPlus(3620); + skill.SetRatio(1); + skill.SetFiredamage(skill.GetMagicattack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill441Stub() : base(441) + { + cls = 1; + name = "狂·烈火符"; + nativename = "狂·烈火符"; + icon = "烈火符2.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 15; + attr = 5; + rank = 30; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1201; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "2烈火符.sgc"; + doenchant = 0; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(292); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(81, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill441Stub() { } + + public float GetMpcost(Skill skill) => 265f; + public int GetExecutetime(Skill skill) => 800; + public int GetCoolingtime(Skill skill) => 3000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 30f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 30, 265, 100, 3620); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 36f; + public int GetAttackspeed(Skill skill) => 27; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill441.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill441.cs.meta new file mode 100644 index 0000000000..392b33eac0 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill441.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 4daa2a65ec4bc324988ec882e745f468 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill442.cs b/Assets/PerfectWorld/Scripts/Skills/skill442.cs new file mode 100644 index 0000000000..6e3e63c12f --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill442.cs @@ -0,0 +1,163 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill442 : Skill + { + public const int SKILL_ID = 442; + + public Skill442() : base(SKILL_ID) + { + } + } +#endif + + public class Skill442Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 89 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 9513 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(53); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(212); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill442Stub() : base(442) + { + cls = 1; + name = "真·烈焰护甲"; + nativename = "真·烈焰护甲"; + icon = "烈焰护甲1.dds"; + max_level = 1; + type = 2; + apcost = 30; + arrowcost = 0; + apgain = 0; + attr = 0; + rank = 20; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1202; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = ""; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(292); + range = new Range(); + range.type = 5; + pre_skills = new Dictionary(); + pre_skills.Add(96, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill442Stub() { } + + public float GetMpcost(Skill skill) => 265f; + public int GetExecutetime(Skill skill) => 1200; + public int GetCoolingtime(Skill skill) => 3000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 265); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 20f; + public int GetAttackspeed(Skill skill) => 7; + public float GetHitrate(Skill skill) => 1.0f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill442.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill442.cs.meta new file mode 100644 index 0000000000..b74ec4ca1b --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill442.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 6e1880f32ba040b4982f600761dea9ee \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill443.cs b/Assets/PerfectWorld/Scripts/Skills/skill443.cs new file mode 100644 index 0000000000..3a0ab12257 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill443.cs @@ -0,0 +1,163 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill443 : Skill + { + public const int SKILL_ID = 443; + + public Skill443() : base(SKILL_ID) + { + } + } +#endif + + public class Skill443Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 89 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 9514 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(53); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(212); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill443Stub() : base(443) + { + cls = 1; + name = "狂·烈焰护甲"; + nativename = "狂·烈焰护甲"; + icon = "烈焰护甲2.dds"; + max_level = 1; + type = 2; + apcost = 30; + arrowcost = 0; + apgain = 0; + attr = 0; + rank = 30; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1202; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = ""; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(292); + range = new Range(); + range.type = 5; + pre_skills = new Dictionary(); + pre_skills.Add(96, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill443Stub() { } + + public float GetMpcost(Skill skill) => 265f; + public int GetExecutetime(Skill skill) => 1200; + public int GetCoolingtime(Skill skill) => 3000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 265); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 20f; + public int GetAttackspeed(Skill skill) => 7; + public float GetHitrate(Skill skill) => 1.0f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill443.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill443.cs.meta new file mode 100644 index 0000000000..31badfbc0c --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill443.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 2cb559863a904f149ae3c1aa6235fa90 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill444.cs b/Assets/PerfectWorld/Scripts/Skills/skill444.cs new file mode 100644 index 0000000000..c86e51da33 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill444.cs @@ -0,0 +1,169 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill444 : Skill + { + public const int SKILL_ID = 444; + + public Skill444() : base(SKILL_ID) + { + } + } +#endif + + public class Skill444Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 89 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 9515 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(53); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(212); + skill.SetPlus(0); + skill.SetRatio(0); + skill.SetFiredamage(skill.GetMagicattack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill444Stub() : base(444) + { + cls = 1; + name = "真·火煞天灯"; + nativename = "真·火煞天灯"; + icon = "火煞天灯1.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 10; + attr = 5; + rank = 20; + eventflag = 0; + is_senior = 1; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1203; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "1火煞天灯.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(292); + restrict_weapons.Add(0); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(7, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill444Stub() { } + + public float GetMpcost(Skill skill) => 265f; + public int GetExecutetime(Skill skill) => 1000; + public int GetCoolingtime(Skill skill) => 8000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 30f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 30, 265); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 36f; + public int GetAttackspeed(Skill skill) => 9; + public float GetHitrate(Skill skill) => 1f; + public float GetTalent0(Skill skill) => (2 * player.GetWeaponmagicdamage (; + public float GetTalent1(Skill skill) => player.GetAttackdegree (; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill444.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill444.cs.meta new file mode 100644 index 0000000000..fa79961819 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill444.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 48ec5f58f32f5334e98c88cea139b1f7 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill445.cs b/Assets/PerfectWorld/Scripts/Skills/skill445.cs new file mode 100644 index 0000000000..cecdf26ece --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill445.cs @@ -0,0 +1,169 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill445 : Skill + { + public const int SKILL_ID = 445; + + public Skill445() : base(SKILL_ID) + { + } + } +#endif + + public class Skill445Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 89 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 9516 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(53); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(212); + skill.SetPlus(0); + skill.SetRatio(0); + skill.SetFiredamage(skill.GetMagicattack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill445Stub() : base(445) + { + cls = 1; + name = "狂·火煞天灯"; + nativename = "狂·火煞天灯"; + icon = "火煞天灯2.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 10; + attr = 5; + rank = 30; + eventflag = 0; + is_senior = 1; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1203; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "火煞天灯.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(292); + restrict_weapons.Add(0); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(7, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill445Stub() { } + + public float GetMpcost(Skill skill) => 265f; + public int GetExecutetime(Skill skill) => 1000; + public int GetCoolingtime(Skill skill) => 8000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 30f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 30, 265); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 36f; + public int GetAttackspeed(Skill skill) => 9; + public float GetHitrate(Skill skill) => 1f; + public float GetTalent0(Skill skill) => 2 * player.GetWeaponmagicdamage (; + public float GetTalent1(Skill skill) => player.GetAttackdegree (; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill445.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill445.cs.meta new file mode 100644 index 0000000000..00e10c4831 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill445.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: dd2f075b8db02514098889c54df0b3f6 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill446.cs b/Assets/PerfectWorld/Scripts/Skills/skill446.cs new file mode 100644 index 0000000000..dddb4ad7d9 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill446.cs @@ -0,0 +1,166 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill446 : Skill + { + public const int SKILL_ID = 446; + + public Skill446() : base(SKILL_ID) + { + } + } +#endif + + public class Skill446Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 89 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 9517 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 3000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(90); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(360); + skill.SetPlus(4903); + skill.SetRatio(3); + skill.SetFiredamage(skill.GetMagicattack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill446Stub() : base(446) + { + cls = 1; + name = "真·神火符"; + nativename = "真·神火符"; + icon = "神火符1.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 20; + attr = 5; + rank = 20; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1204; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "1神火符.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(292); + restrict_weapons.Add(0); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(85, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill446Stub() { } + + public float GetMpcost(Skill skill) => 450f; + public int GetExecutetime(Skill skill) => 1000; + public int GetCoolingtime(Skill skill) => 3000; + public float GetRadius(Skill skill) => (float)(7 + 0.5 * skill.GetLevel()); + public float GetAttackdistance(Skill skill) => (float)(4 + 0.3 * skill.GetLevel()); + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 30f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 30, 450, 300, 4903); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 40f; + public int GetAttackspeed(Skill skill) => 29; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill446.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill446.cs.meta new file mode 100644 index 0000000000..94cb0fd9ba --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill446.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: bfd21bffe3f4c2a4796f99d5cdc6d7c2 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill447.cs b/Assets/PerfectWorld/Scripts/Skills/skill447.cs new file mode 100644 index 0000000000..cf0855f52b --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill447.cs @@ -0,0 +1,165 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill447 : Skill + { + public const int SKILL_ID = 447; + + public Skill447() : base(SKILL_ID) + { + } + } +#endif + + public class Skill447Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 89 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 9518 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 2500; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(90); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(360); + skill.SetPlus(4903); + skill.SetRatio(3); + skill.SetFiredamage(skill.GetMagicattack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill447Stub() : base(447) + { + cls = 1; + name = "狂·神火符"; + nativename = "狂·神火符"; + icon = "神火符2.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 20; + attr = 5; + rank = 30; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1204; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "2神火符.sgc"; + doenchant = 0; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(292); + restrict_weapons.Add(0); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(85, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill447Stub() { } + + public float GetMpcost(Skill skill) => 450f; + public int GetExecutetime(Skill skill) => 1000; + public int GetCoolingtime(Skill skill) => 3000; + public float GetRadius(Skill skill) => (float)(7 + 0.5 * skill.GetLevel()); + public float GetAttackdistance(Skill skill) => (float)(4 + 0.3 * skill.GetLevel()); + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 30f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 30, 450, 300, 4903); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 40f; + public int GetAttackspeed(Skill skill) => 29; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill447.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill447.cs.meta new file mode 100644 index 0000000000..8383cbe287 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill447.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: c787599d968114c42a25fd6b435c2e2f \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill448.cs b/Assets/PerfectWorld/Scripts/Skills/skill448.cs new file mode 100644 index 0000000000..9bccd76de3 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill448.cs @@ -0,0 +1,184 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill448 : Skill + { + public const int SKILL_ID = 448; + + public Skill448() : base(SKILL_ID) + { + } + } +#endif + + public class Skill448Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 92 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9519 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetPerform(2); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 2800; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(350); + skill.SetPlus(4800); + skill.SetRatio(0); + skill.SetFiredamage(skill.GetMagicattack()); + skill.GetPlayer().SetCombat(1); + skill.GetPlayer().SetPerform(0); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State4 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill448Stub() : base(448) + { + cls = 1; + name = "真·炙炎阵"; + nativename = "真·炙炎阵"; + icon = "炙炎阵1.dds"; + max_level = 1; + type = 1; + apcost = 100; + arrowcost = 0; + apgain = 0; + attr = 5; + rank = 20; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 2; + showorder = 1205; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "1炙炎阵.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(292); + restrict_weapons.Add(0); + range = new Range(); + range.type = 2; + pre_skills = new Dictionary(); + pre_skills.Add(86, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); + statestub.Add(new State4()); +#endif + } + + ~Skill448Stub() { } + + public float GetMpcost(Skill skill) => 350f; + public int GetExecutetime(Skill skill) => -1; + public int GetCoolingtime(Skill skill) => 15000; + public float GetRadius(Skill skill) => 12f; + public float GetAttackdistance(Skill skill) => (float)(4 + 0.3 * skill.GetLevel()); + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 6f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 350, 350, 4800); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 6000; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 25f; + public int GetAttackspeed(Skill skill) => 30; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill448.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill448.cs.meta new file mode 100644 index 0000000000..e22fb61b3e --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill448.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: ec281a6f840d52e42be6bbc1f1f9e179 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill449.cs b/Assets/PerfectWorld/Scripts/Skills/skill449.cs new file mode 100644 index 0000000000..5705210790 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill449.cs @@ -0,0 +1,184 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill449 : Skill + { + public const int SKILL_ID = 449; + + public Skill449() : base(SKILL_ID) + { + } + } +#endif + + public class Skill449Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 92 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9520 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetPerform(2); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 2800; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(350); + skill.SetPlus(4800); + skill.SetRatio(0); + skill.SetFiredamage(skill.GetMagicattack()); + skill.GetPlayer().SetCombat(1); + skill.GetPlayer().SetPerform(0); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State4 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill449Stub() : base(449) + { + cls = 1; + name = "狂·炙炎阵"; + nativename = "狂·炙炎阵"; + icon = "炙炎阵2.dds"; + max_level = 1; + type = 1; + apcost = 100; + arrowcost = 0; + apgain = 0; + attr = 5; + rank = 30; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 2; + showorder = 1205; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "2炙炎阵.sgc"; + doenchant = 0; + dobless = 1; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(292); + restrict_weapons.Add(0); + range = new Range(); + range.type = 2; + pre_skills = new Dictionary(); + pre_skills.Add(86, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); + statestub.Add(new State4()); +#endif + } + + ~Skill449Stub() { } + + public float GetMpcost(Skill skill) => 350f; + public int GetExecutetime(Skill skill) => -1; + public int GetCoolingtime(Skill skill) => 15000; + public float GetRadius(Skill skill) => 12f; + public float GetAttackdistance(Skill skill) => (float)(4 + 0.3 * skill.GetLevel()); + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 6f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 350, 350, 4800); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 6000; + public bool BlessMe(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 25f; + public int GetAttackspeed(Skill skill) => 30; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill449.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill449.cs.meta new file mode 100644 index 0000000000..af7ec2d033 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill449.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: f5ecc1b07dc2bd5469607936b6751b8d \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill450.cs b/Assets/PerfectWorld/Scripts/Skills/skill450.cs new file mode 100644 index 0000000000..e981508d97 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill450.cs @@ -0,0 +1,166 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill450 : Skill + { + public const int SKILL_ID = 450; + + public Skill450() : base(SKILL_ID) + { + } + } +#endif + + public class Skill450Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 92 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9521 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(89); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(356); + skill.SetPlus(5395); + skill.SetRatio(1); + skill.SetFiredamage(skill.GetMagicattack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill450Stub() : base(450) + { + cls = 1; + name = "真·烈火炽翼"; + nativename = "真·烈火炽翼"; + icon = "烈火炽翼1.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 15; + attr = 5; + rank = 20; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1206; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "1炎索.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(292); + restrict_weapons.Add(0); + range = new Range(); + range.type = 1; + pre_skills = new Dictionary(); + pre_skills.Add(84, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill450Stub() { } + + public float GetMpcost(Skill skill) => 445f; + public int GetExecutetime(Skill skill) => 1000; + public int GetCoolingtime(Skill skill) => 7000; + public float GetRadius(Skill skill) => 5f; + public float GetAttackdistance(Skill skill) => 18f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 10f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 445); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 20f; + public int GetAttackspeed(Skill skill) => 7; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill450.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill450.cs.meta new file mode 100644 index 0000000000..4f34935855 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill450.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 3fe78592eef69ac489fd08cb4c49d3fb \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill451.cs b/Assets/PerfectWorld/Scripts/Skills/skill451.cs new file mode 100644 index 0000000000..1aefef0d73 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill451.cs @@ -0,0 +1,166 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill451 : Skill + { + public const int SKILL_ID = 451; + + public Skill451() : base(SKILL_ID) + { + } + } +#endif + + public class Skill451Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 92 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9522 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(89); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(356); + skill.SetPlus(5395); + skill.SetRatio(1); + skill.SetFiredamage(skill.GetMagicattack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill451Stub() : base(451) + { + cls = 1; + name = "狂·烈火炽翼"; + nativename = "狂·烈火炽翼"; + icon = "烈火炽翼2.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 15; + attr = 5; + rank = 30; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1206; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "2炎索.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(292); + restrict_weapons.Add(0); + range = new Range(); + range.type = 1; + pre_skills = new Dictionary(); + pre_skills.Add(84, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill451Stub() { } + + public float GetMpcost(Skill skill) => 445f; + public int GetExecutetime(Skill skill) => 1000; + public int GetCoolingtime(Skill skill) => 8000; + public float GetRadius(Skill skill) => 8f; + public float GetAttackdistance(Skill skill) => 18f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 10f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 445); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 20f; + public int GetAttackspeed(Skill skill) => 7; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill451.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill451.cs.meta new file mode 100644 index 0000000000..82e21ee78a --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill451.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: b641d09c93615074b80526c07801b7bd \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill452.cs b/Assets/PerfectWorld/Scripts/Skills/skill452.cs new file mode 100644 index 0000000000..54ce8f1601 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill452.cs @@ -0,0 +1,166 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill452 : Skill + { + public const int SKILL_ID = 452; + + public Skill452() : base(SKILL_ID) + { + } + } +#endif + + public class Skill452Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 92 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9523 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 3200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + float tmp1 = skill.GetPlayer().GetHp() *(1 - 0.45f * skill.GetCharging() / 3200); + float tmp2 = skill.GetPlayer().GetHp() * 0.6f * skill.GetCharging() / 3200; + skill.GetPlayer().SetDecmp(295); + skill.GetPlayer().SetHp(tmp1); + skill.SetPlus(tmp2 * 4 + 5000); + skill.SetFiredamage(skill.GetPlus()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill452Stub() : base(452) + { + cls = 1; + name = "真·血祭炎爆"; + nativename = "真·血祭炎爆"; + icon = "血祭炎爆1.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 20; + attr = 5; + rank = 20; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 3; + showorder = 1207; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "1血祭炎爆.sgc"; + doenchant = 0; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(292); + range = new Range(); + range.type = 2; + pre_skills = new Dictionary(); + pre_skills.Add(8, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill452Stub() { } + + public float GetMpcost(Skill skill) => 295f; + public int GetExecutetime(Skill skill) => 1000; + public int GetCoolingtime(Skill skill) => 15000; + public float GetRadius(Skill skill) => 12f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 6f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 295, 4); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 25f; + public int GetAttackspeed(Skill skill) => 5; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill452.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill452.cs.meta new file mode 100644 index 0000000000..c2a8f81304 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill452.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: bcdfb4688e0696f44bd1cf11263a1fa0 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill453.cs b/Assets/PerfectWorld/Scripts/Skills/skill453.cs new file mode 100644 index 0000000000..39d6e54d96 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill453.cs @@ -0,0 +1,167 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill453 : Skill + { + public const int SKILL_ID = 453; + + public Skill453() : base(SKILL_ID) + { + } + } +#endif + + public class Skill453Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 92 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9524 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 3200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + float tmp1 = skill.GetPlayer().GetHp() *(1 - 0.6f * skill.GetCharging() / 3200); + float tmp2 = skill.GetPlayer().GetHp() * 0.6f * skill.GetCharging() / 3200; + skill.GetPlayer().SetDecmp(295); + skill.GetPlayer().SetHp(tmp1); + skill.SetPlus(tmp2 * 4 + 5000); + skill.SetFiredamage(skill.GetPlus()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill453Stub() : base(453) + { + cls = 1; + name = "狂·血祭炎爆"; + nativename = "狂·血祭炎爆"; + icon = "血祭炎爆2.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 20; + attr = 5; + rank = 30; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 3; + showorder = 1207; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "2血祭炎爆.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(292); + range = new Range(); + range.type = 2; + pre_skills = new Dictionary(); + pre_skills.Add(8, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill453Stub() { } + + public float GetMpcost(Skill skill) => 295f; + public int GetExecutetime(Skill skill) => 1000; + public int GetCoolingtime(Skill skill) => 15000; + public float GetRadius(Skill skill) => 12f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 6f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 295, 4); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 25f; + public int GetAttackspeed(Skill skill) => 5; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill453.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill453.cs.meta new file mode 100644 index 0000000000..c07a5c2a9a --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill453.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 27469dc07ade5d04ea167565d26a9a2a \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill454.cs b/Assets/PerfectWorld/Scripts/Skills/skill454.cs new file mode 100644 index 0000000000..b40aa4d30f --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill454.cs @@ -0,0 +1,169 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill454 : Skill + { + public const int SKILL_ID = 454; + + public Skill454() : base(SKILL_ID) + { + } + } +#endif + + public class Skill454Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 99 }; + private static readonly int[] RequiredSpArray = { 2000000 }; + private static readonly int[] RequiredItemArray = { 9525 }; + private static readonly int[] RequiredMoneyArray = { 2000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 4000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(131); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1800; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(524); + skill.SetPlus(6200); + skill.SetRatio(2); + skill.SetFiredamage(skill.GetMagicattack()); + skill.SetPlus(6200); + skill.SetRatio(2); + skill.SetDamage(skill.GetMagicattack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill454Stub() : base(454) + { + cls = 1; + name = "真·火海刀山"; + nativename = "真·火海刀山"; + icon = "火海刀山1.dds"; + max_level = 1; + type = 1; + apcost = 200; + arrowcost = 0; + apgain = 0; + attr = 5; + rank = 21; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1208; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "1火海刀山.sgc"; + doenchant = 0; + dobless = 1; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(292); + restrict_weapons.Add(0); + range = new Range(); + range.type = 3; + pre_skills = new Dictionary(); + pre_skills.Add(87, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill454Stub() { } + + public float GetMpcost(Skill skill) => 655f; + public int GetExecutetime(Skill skill) => 1800; + public int GetCoolingtime(Skill skill) => 30000; + public float GetRadius(Skill skill) => 12f; + public float GetAttackdistance(Skill skill) => (float)(4 + 0.3 * skill.GetLevel()); + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 30f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 30, 655, 6200); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 10000; + public bool BlessMe(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 36f; + public int GetAttackspeed(Skill skill) => 11; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill454.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill454.cs.meta new file mode 100644 index 0000000000..9bb1c2eeb9 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill454.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: e022fb272be46a348a30a0335e9885b7 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill455.cs b/Assets/PerfectWorld/Scripts/Skills/skill455.cs new file mode 100644 index 0000000000..054e8939ea --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill455.cs @@ -0,0 +1,169 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill455 : Skill + { + public const int SKILL_ID = 455; + + public Skill455() : base(SKILL_ID) + { + } + } +#endif + + public class Skill455Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 99 }; + private static readonly int[] RequiredSpArray = { 2000000 }; + private static readonly int[] RequiredItemArray = { 9526 }; + private static readonly int[] RequiredMoneyArray = { 2000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 4000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(121); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1800; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(524); + skill.SetPlus(6200); + skill.SetRatio(2); + skill.SetFiredamage(skill.GetMagicattack()); + skill.SetPlus(6200); + skill.SetRatio(2); + skill.SetDamage(skill.GetMagicattack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill455Stub() : base(455) + { + cls = 1; + name = "狂·火海刀山"; + nativename = "狂·火海刀山"; + icon = "火海刀山2.dds"; + max_level = 1; + type = 1; + apcost = 200; + arrowcost = 0; + apgain = 0; + attr = 5; + rank = 31; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1208; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "2火海刀山.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(292); + restrict_weapons.Add(0); + range = new Range(); + range.type = 3; + pre_skills = new Dictionary(); + pre_skills.Add(87, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill455Stub() { } + + public float GetMpcost(Skill skill) => 655f; + public int GetExecutetime(Skill skill) => 1800; + public int GetCoolingtime(Skill skill) => 30000; + public float GetRadius(Skill skill) => 12f; + public float GetAttackdistance(Skill skill) => (float)(4 + 0.3 * skill.GetLevel()); + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 30f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 30, 655, 6200); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 10000; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 36f; + public int GetAttackspeed(Skill skill) => 11; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill455.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill455.cs.meta new file mode 100644 index 0000000000..c7cb9adbe2 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill455.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: a14a2bfd04033fb41aacb6ab51b88a50 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill456.cs b/Assets/PerfectWorld/Scripts/Skills/skill456.cs new file mode 100644 index 0000000000..fd48e07454 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill456.cs @@ -0,0 +1,166 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill456 : Skill + { + public const int SKILL_ID = 456; + + public Skill456() : base(SKILL_ID) + { + } + } +#endif + + public class Skill456Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 89 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 9527 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(53); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(212); + skill.SetPlus(3390); + skill.SetRatio(1); + skill.SetWaterdamage(skill.GetMagicattack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill456Stub() : base(456) + { + cls = 1; + name = "真·涌泉"; + nativename = "真·涌泉"; + icon = "涌泉1.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 10; + attr = 4; + rank = 20; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1209; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "1涌泉.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(292); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(88, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill456Stub() { } + + public float GetMpcost(Skill skill) => 265f; + public int GetExecutetime(Skill skill) => 1000; + public int GetCoolingtime(Skill skill) => 3000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 30f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 30, 265, 8); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 36f; + public int GetAttackspeed(Skill skill) => 12; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill456.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill456.cs.meta new file mode 100644 index 0000000000..b0510b7d71 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill456.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: f5a9e868106a9f44f876547643ae7009 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill457.cs b/Assets/PerfectWorld/Scripts/Skills/skill457.cs new file mode 100644 index 0000000000..d66b14c512 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill457.cs @@ -0,0 +1,166 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill457 : Skill + { + public const int SKILL_ID = 457; + + public Skill457() : base(SKILL_ID) + { + } + } +#endif + + public class Skill457Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 89 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 9528 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(53); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(212); + skill.SetPlus(3990); + skill.SetRatio(1); + skill.SetWaterdamage(skill.GetMagicattack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill457Stub() : base(457) + { + cls = 1; + name = "狂·涌泉"; + nativename = "狂·涌泉"; + icon = "涌泉2.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 10; + attr = 4; + rank = 30; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1209; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "2涌泉.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(292); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(88, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill457Stub() { } + + public float GetMpcost(Skill skill) => 265f; + public int GetExecutetime(Skill skill) => 1000; + public int GetCoolingtime(Skill skill) => 3000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 30f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 30, 265, 8); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 36f; + public int GetAttackspeed(Skill skill) => 12; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill457.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill457.cs.meta new file mode 100644 index 0000000000..2323375c49 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill457.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: aafb0e9316c715f4cae842d0db12b5d2 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill458.cs b/Assets/PerfectWorld/Scripts/Skills/skill458.cs new file mode 100644 index 0000000000..4852dcd706 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill458.cs @@ -0,0 +1,163 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill458 : Skill + { + public const int SKILL_ID = 458; + + public Skill458() : base(SKILL_ID) + { + } + } +#endif + + public class Skill458Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 89 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 9529 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(53); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(212); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill458Stub() : base(458) + { + cls = 1; + name = "真·寒冰护甲"; + nativename = "真·寒冰护甲"; + icon = "寒冰护甲1.dds"; + max_level = 1; + type = 2; + apcost = 30; + arrowcost = 0; + apgain = 0; + attr = 0; + rank = 20; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1210; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = ""; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(292); + range = new Range(); + range.type = 5; + pre_skills = new Dictionary(); + pre_skills.Add(180, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill458Stub() { } + + public float GetMpcost(Skill skill) => 265f; + public int GetExecutetime(Skill skill) => 1200; + public int GetCoolingtime(Skill skill) => 3000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 265, 12); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 20f; + public int GetAttackspeed(Skill skill) => 4; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill458.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill458.cs.meta new file mode 100644 index 0000000000..0def570071 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill458.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 8db0247fa1959b044a4f5f99e7c5e820 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill459.cs b/Assets/PerfectWorld/Scripts/Skills/skill459.cs new file mode 100644 index 0000000000..e96d514fa6 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill459.cs @@ -0,0 +1,163 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill459 : Skill + { + public const int SKILL_ID = 459; + + public Skill459() : base(SKILL_ID) + { + } + } +#endif + + public class Skill459Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 89 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 9530 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(53); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(212); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill459Stub() : base(459) + { + cls = 1; + name = "狂·寒冰护甲"; + nativename = "狂·寒冰护甲"; + icon = "寒冰护甲2.dds"; + max_level = 1; + type = 2; + apcost = 30; + arrowcost = 0; + apgain = 0; + attr = 0; + rank = 30; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1210; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = ""; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(292); + range = new Range(); + range.type = 5; + pre_skills = new Dictionary(); + pre_skills.Add(180, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill459Stub() { } + + public float GetMpcost(Skill skill) => 265f; + public int GetExecutetime(Skill skill) => 1200; + public int GetCoolingtime(Skill skill) => 3000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 265, 12); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 20f; + public int GetAttackspeed(Skill skill) => 4; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill459.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill459.cs.meta new file mode 100644 index 0000000000..c64ee5c7b9 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill459.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 229c8cda269ae5346bf9911e2a0ba08e \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill460.cs b/Assets/PerfectWorld/Scripts/Skills/skill460.cs new file mode 100644 index 0000000000..80023d1708 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill460.cs @@ -0,0 +1,167 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill460 : Skill + { + public const int SKILL_ID = 460; + + public Skill460() : base(SKILL_ID) + { + } + } +#endif + + public class Skill460Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 89 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 9531 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 1800; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(64); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(256); + skill.SetPlus(3160); + skill.SetRatio(0); + skill.SetWaterdamage(skill.GetMagicattack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill460Stub() : base(460) + { + cls = 1; + name = "真·冰雹"; + nativename = "真·冰雹"; + icon = "冰雹1.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 5; + attr = 4; + rank = 20; + eventflag = 0; + is_senior = 1; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1211; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 3; + effect = "1冰雹.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(292); + range = new Range(); + range.type = 3; + pre_skills = new Dictionary(); + pre_skills.Add(182, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill460Stub() { } + + public float GetMpcost(Skill skill) => 320f; + public int GetExecutetime(Skill skill) => 1200; + public int GetCoolingtime(Skill skill) => 12000; + public float GetRadius(Skill skill) => 8f; + public float GetAttackdistance(Skill skill) => (float)(4 + 0.4 * skill.GetLevel()); + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 30f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 30, 320, 4, 3160); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 36f; + public int GetAttackspeed(Skill skill) => 0; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill460.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill460.cs.meta new file mode 100644 index 0000000000..c7de4026ab --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill460.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: bc0f92c339a521f4cbdce95f6279fbba \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill461.cs b/Assets/PerfectWorld/Scripts/Skills/skill461.cs new file mode 100644 index 0000000000..0aac9dcdc5 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill461.cs @@ -0,0 +1,167 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill461 : Skill + { + public const int SKILL_ID = 461; + + public Skill461() : base(SKILL_ID) + { + } + } +#endif + + public class Skill461Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 89 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 9532 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 1800; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(64); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(256); + skill.SetPlus(3160); + skill.SetRatio(0); + skill.SetWaterdamage(skill.GetMagicattack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill461Stub() : base(461) + { + cls = 1; + name = "狂·冰雹"; + nativename = "狂·冰雹"; + icon = "冰雹2.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 5; + attr = 4; + rank = 30; + eventflag = 0; + is_senior = 1; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1211; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 3; + effect = "2冰雹.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(292); + range = new Range(); + range.type = 3; + pre_skills = new Dictionary(); + pre_skills.Add(182, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill461Stub() { } + + public float GetMpcost(Skill skill) => 320f; + public int GetExecutetime(Skill skill) => 1200; + public int GetCoolingtime(Skill skill) => 12000; + public float GetRadius(Skill skill) => 8f; + public float GetAttackdistance(Skill skill) => (float)(4 + 0.4 * skill.GetLevel()); + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 30f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 30, 320, 4); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 36f; + public int GetAttackspeed(Skill skill) => 0; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill461.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill461.cs.meta new file mode 100644 index 0000000000..b0b25797f1 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill461.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 1eabe72961e1982489af42e3e516f523 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill462.cs b/Assets/PerfectWorld/Scripts/Skills/skill462.cs new file mode 100644 index 0000000000..53c97e04c7 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill462.cs @@ -0,0 +1,163 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill462 : Skill + { + public const int SKILL_ID = 462; + + public Skill462() : base(SKILL_ID) + { + } + } +#endif + + public class Skill462Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 99 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9533 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 4500; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(119); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(476); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill462Stub() : base(462) + { + cls = 1; + name = "真·寒露"; + nativename = "真·寒露"; + icon = "寒露1.DDS"; + max_level = 1; + type = 2; + apcost = 0; + arrowcost = 0; + apgain = 15; + attr = 0; + rank = 21; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1212; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "1寒露.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(292); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(90, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill462Stub() { } + + public float GetMpcost(Skill skill) => 595f; + public int GetExecutetime(Skill skill) => 1200; + public int GetCoolingtime(Skill skill) => 1000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 30f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 30, 595, 40); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 1350; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 40f; + public int GetAttackspeed(Skill skill) => 4; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill462.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill462.cs.meta new file mode 100644 index 0000000000..ad7b444f5a --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill462.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 32579eb59ed70884ba45f6610b1eb3ee \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill463.cs b/Assets/PerfectWorld/Scripts/Skills/skill463.cs new file mode 100644 index 0000000000..dbb98d7246 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill463.cs @@ -0,0 +1,163 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill463 : Skill + { + public const int SKILL_ID = 463; + + public Skill463() : base(SKILL_ID) + { + } + } +#endif + + public class Skill463Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 99 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9534 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 4500; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(119); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(476); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill463Stub() : base(463) + { + cls = 1; + name = "狂·寒露"; + nativename = "狂·寒露"; + icon = "寒露2.DDS"; + max_level = 1; + type = 2; + apcost = 0; + arrowcost = 0; + apgain = 15; + attr = 0; + rank = 31; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1212; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "2寒露.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(292); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(90, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill463Stub() { } + + public float GetMpcost(Skill skill) => 595f; + public int GetExecutetime(Skill skill) => 1200; + public int GetCoolingtime(Skill skill) => 1000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 30f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 30, 595, 40); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 1350; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 40f; + public int GetAttackspeed(Skill skill) => 4; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill463.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill463.cs.meta new file mode 100644 index 0000000000..9cfe5a6ad9 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill463.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: cedf1e445c87a434caa03041352c020f \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill464.cs b/Assets/PerfectWorld/Scripts/Skills/skill464.cs new file mode 100644 index 0000000000..e5f0cd1968 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill464.cs @@ -0,0 +1,127 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill464 : Skill + { + public const int SKILL_ID = 464; + + public Skill464() : base(SKILL_ID) + { + } + } +#endif + + public class Skill464Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 92 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9535 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(300); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill464Stub() : base(464) + { + cls = 1; + name = "真·润泽"; + nativename = "真·润泽"; + icon = "润泽1.dds"; + max_level = 1; + type = 2; + apcost = 100; + arrowcost = 0; + apgain = 0; + attr = 0; + rank = 20; + eventflag = 1; + is_senior = 1; + clslimit = 0; + time_type = 1; + showorder = 1213; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "1润泽.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(292); + restrict_weapons.Add(0); + range = new Range(); + range.type = 5; + pre_skills = new Dictionary(); + pre_skills.Add(89, 10); +#if SKILL_SERVER + statestub.Add(new State1()); +#endif + } + + ~Skill464Stub() { } + + public float GetMpcost(Skill skill) => 300f; + public int GetExecutetime(Skill skill) => 0; + public int GetCoolingtime(Skill skill) => 3000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 30, 60); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 30f; + public int GetAttackspeed(Skill skill) => 0; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill464.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill464.cs.meta new file mode 100644 index 0000000000..b9e4c34d42 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill464.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 07cff0ea432fac743999fdc579a97f2a \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill465.cs b/Assets/PerfectWorld/Scripts/Skills/skill465.cs new file mode 100644 index 0000000000..069f7c5423 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill465.cs @@ -0,0 +1,127 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill465 : Skill + { + public const int SKILL_ID = 465; + + public Skill465() : base(SKILL_ID) + { + } + } +#endif + + public class Skill465Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 92 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9536 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(300); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill465Stub() : base(465) + { + cls = 1; + name = "狂·润泽"; + nativename = "狂·润泽"; + icon = "润泽2.dds"; + max_level = 1; + type = 2; + apcost = 100; + arrowcost = 0; + apgain = 0; + attr = 0; + rank = 30; + eventflag = 1; + is_senior = 1; + clslimit = 0; + time_type = 1; + showorder = 1213; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "2润泽.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(292); + restrict_weapons.Add(0); + range = new Range(); + range.type = 5; + pre_skills = new Dictionary(); + pre_skills.Add(89, 10); +#if SKILL_SERVER + statestub.Add(new State1()); +#endif + } + + ~Skill465Stub() { } + + public float GetMpcost(Skill skill) => 300f; + public int GetExecutetime(Skill skill) => 0; + public int GetCoolingtime(Skill skill) => 3000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 30, 60); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 30f; + public int GetAttackspeed(Skill skill) => 0; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill465.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill465.cs.meta new file mode 100644 index 0000000000..be520be629 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill465.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 9d880ed682f05594ba4b714116e1f9ef \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill466.cs b/Assets/PerfectWorld/Scripts/Skills/skill466.cs new file mode 100644 index 0000000000..b27bc785ee --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill466.cs @@ -0,0 +1,163 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill466 : Skill + { + public const int SKILL_ID = 466; + + public Skill466() : base(SKILL_ID) + { + } + } +#endif + + public class Skill466Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 92 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9537 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 800; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(120); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(480); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill466Stub() : base(466) + { + cls = 1; + name = "真·霜刃"; + nativename = "真·霜刃"; + icon = "霜刃1.dds"; + max_level = 1; + type = 2; + apcost = 0; + arrowcost = 0; + apgain = 20; + attr = 4; + rank = 20; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1214; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "1霜刃.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(292); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(91, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill466Stub() { } + + public float GetMpcost(Skill skill) => 600f; + public int GetExecutetime(Skill skill) => 1000; + public int GetCoolingtime(Skill skill) => 3000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 30f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 30, 600, 40); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 36f; + public int GetAttackspeed(Skill skill) => 8; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill466.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill466.cs.meta new file mode 100644 index 0000000000..26cba21b7b --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill466.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 2d3ffdf7846c01c4ba60d4b5ccde8f5f \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill467.cs b/Assets/PerfectWorld/Scripts/Skills/skill467.cs new file mode 100644 index 0000000000..1b8b4abbd4 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill467.cs @@ -0,0 +1,163 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill467 : Skill + { + public const int SKILL_ID = 467; + + public Skill467() : base(SKILL_ID) + { + } + } +#endif + + public class Skill467Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 92 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9538 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 800; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(120); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(480); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill467Stub() : base(467) + { + cls = 1; + name = "狂·霜刃"; + nativename = "狂·霜刃"; + icon = "霜刃2.dds"; + max_level = 1; + type = 2; + apcost = 0; + arrowcost = 0; + apgain = 20; + attr = 4; + rank = 30; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1214; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "2霜刃.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(292); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(91, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill467Stub() { } + + public float GetMpcost(Skill skill) => 600f; + public int GetExecutetime(Skill skill) => 1000; + public int GetCoolingtime(Skill skill) => 3000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 30f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 30, 600, 40); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 36f; + public int GetAttackspeed(Skill skill) => 8; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill467.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill467.cs.meta new file mode 100644 index 0000000000..ae4d952a0f --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill467.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 550cc556dcebb9d40b8430caa9c900d0 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill468.cs b/Assets/PerfectWorld/Scripts/Skills/skill468.cs new file mode 100644 index 0000000000..3979caa70c --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill468.cs @@ -0,0 +1,166 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill468 : Skill + { + public const int SKILL_ID = 468; + + public Skill468() : base(SKILL_ID) + { + } + } +#endif + + public class Skill468Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 99 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9539 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 2500; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(89); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1800; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(356); + skill.SetPlus(6171); + skill.SetRatio(3); + skill.SetWaterdamage(skill.GetMagicattack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill468Stub() : base(468) + { + cls = 1; + name = "真·凌杀"; + nativename = "真·凌杀"; + icon = "凌杀1.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 20; + attr = 4; + rank = 21; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1215; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "1凌杀.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(292); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(92, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill468Stub() { } + + public float GetMpcost(Skill skill) => 445f; + public int GetExecutetime(Skill skill) => 1800; + public int GetCoolingtime(Skill skill) => 15000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 30f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 30, 445, 300, 6171, 95, 6); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 40f; + public int GetAttackspeed(Skill skill) => 34; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill468.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill468.cs.meta new file mode 100644 index 0000000000..0cc65e0380 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill468.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 3abe0c50e5a6f3143b10b3b7df81aaf0 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill469.cs b/Assets/PerfectWorld/Scripts/Skills/skill469.cs new file mode 100644 index 0000000000..a77062596b --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill469.cs @@ -0,0 +1,166 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill469 : Skill + { + public const int SKILL_ID = 469; + + public Skill469() : base(SKILL_ID) + { + } + } +#endif + + public class Skill469Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 99 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9540 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 2100; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(89); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1800; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(356); + skill.SetPlus(6171); + skill.SetRatio(3); + skill.SetWaterdamage(skill.GetMagicattack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill469Stub() : base(469) + { + cls = 1; + name = "狂·凌杀"; + nativename = "狂·凌杀"; + icon = "凌杀2.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 20; + attr = 4; + rank = 31; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1215; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "2凌杀.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(292); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(92, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill469Stub() { } + + public float GetMpcost(Skill skill) => 445f; + public int GetExecutetime(Skill skill) => 1800; + public int GetCoolingtime(Skill skill) => 15000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 30f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 30, 445, 300, 6171, 95, 6); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 40f; + public int GetAttackspeed(Skill skill) => 34; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill469.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill469.cs.meta new file mode 100644 index 0000000000..1677931d3a --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill469.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 280e9d38e1b618c4ab8bd9051ee32297 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill470.cs b/Assets/PerfectWorld/Scripts/Skills/skill470.cs new file mode 100644 index 0000000000..d7ee527393 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill470.cs @@ -0,0 +1,167 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill470 : Skill + { + public const int SKILL_ID = 470; + + public Skill470() : base(SKILL_ID) + { + } + } +#endif + + public class Skill470Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 99 }; + private static readonly int[] RequiredSpArray = { 2000000 }; + private static readonly int[] RequiredItemArray = { 9541 }; + private static readonly int[] RequiredMoneyArray = { 2000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 4000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(131); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1600; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(524); + skill.SetPlus(13955); + skill.SetRatio(5); + skill.SetWaterdamage(skill.GetMagicattack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill470Stub() : base(470) + { + cls = 1; + name = "真·玄冰水龙"; + nativename = "真·玄冰水龙"; + icon = "玄冰水龙1.dds"; + max_level = 1; + type = 1; + apcost = 200; + arrowcost = 0; + apgain = 0; + attr = 4; + rank = 21; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1216; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "1玄冰水龙.sgc"; + doenchant = 1; + dobless = 1; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(292); + range = new Range(); + range.type = 3; + pre_skills = new Dictionary(); + pre_skills.Add(93, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill470Stub() { } + + public float GetMpcost(Skill skill) => 655f; + public int GetExecutetime(Skill skill) => 1600; + public int GetCoolingtime(Skill skill) => 30000; + public float GetRadius(Skill skill) => 12f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 30f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 30, 655, 8); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 10000; + public bool StateAttack(Skill skill) => true; + public bool BlessMe(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 40f; + public int GetAttackspeed(Skill skill) => 6; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill470.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill470.cs.meta new file mode 100644 index 0000000000..0908cf3ae0 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill470.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: d1ef6a62eb9b0c44984303c95938aab4 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill471.cs b/Assets/PerfectWorld/Scripts/Skills/skill471.cs new file mode 100644 index 0000000000..aa507ba800 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill471.cs @@ -0,0 +1,167 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill471 : Skill + { + public const int SKILL_ID = 471; + + public Skill471() : base(SKILL_ID) + { + } + } +#endif + + public class Skill471Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 99 }; + private static readonly int[] RequiredSpArray = { 2000000 }; + private static readonly int[] RequiredItemArray = { 9542 }; + private static readonly int[] RequiredMoneyArray = { 2000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 4000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(131); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1600; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(524); + skill.SetPlus(13955); + skill.SetRatio(5); + skill.SetWaterdamage(skill.GetMagicattack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill471Stub() : base(471) + { + cls = 1; + name = "狂·玄冰水龙"; + nativename = "狂·玄冰水龙"; + icon = "玄冰水龙2.dds"; + max_level = 1; + type = 1; + apcost = 200; + arrowcost = 0; + apgain = 0; + attr = 4; + rank = 31; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1216; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "1玄冰水龙.sgc"; + doenchant = 1; + dobless = 1; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(292); + range = new Range(); + range.type = 3; + pre_skills = new Dictionary(); + pre_skills.Add(93, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill471Stub() { } + + public float GetMpcost(Skill skill) => 655f; + public int GetExecutetime(Skill skill) => 1600; + public int GetCoolingtime(Skill skill) => 30000; + public float GetRadius(Skill skill) => 12f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 30f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 30, 655, 8); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 10000; + public bool StateAttack(Skill skill) => true; + public bool BlessMe(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 40f; + public int GetAttackspeed(Skill skill) => 6; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill471.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill471.cs.meta new file mode 100644 index 0000000000..13c67e363d --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill471.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 2678249c081cf444f855bf13576c3595 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill472.cs b/Assets/PerfectWorld/Scripts/Skills/skill472.cs new file mode 100644 index 0000000000..462c0f9495 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill472.cs @@ -0,0 +1,165 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill472 : Skill + { + public const int SKILL_ID = 472; + + public Skill472() : base(SKILL_ID) + { + } + } +#endif + + public class Skill472Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 89 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 9543 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 1300; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(75); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1400; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(300); + skill.SetPlus(4804); + skill.SetRatio(2); + skill.SetEarthdamage(skill.GetMagicattack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill472Stub() : base(472) + { + cls = 1; + name = "真·落石术"; + nativename = "真·落石术"; + icon = "落石术1.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 15; + attr = 6; + rank = 20; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1218; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "1落石术.sgc"; + doenchant = 0; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(292); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(97, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill472Stub() { } + + public float GetMpcost(Skill skill) => 375f; + public int GetExecutetime(Skill skill) => 1400; + public int GetCoolingtime(Skill skill) => 3000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 30f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 30, 375, 200, 4804); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 40f; + public int GetAttackspeed(Skill skill) => 11; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill472.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill472.cs.meta new file mode 100644 index 0000000000..8649159724 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill472.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: a56516e4e8f976448ba73830b804a025 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill473.cs b/Assets/PerfectWorld/Scripts/Skills/skill473.cs new file mode 100644 index 0000000000..8fac0b879a --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill473.cs @@ -0,0 +1,166 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill473 : Skill + { + public const int SKILL_ID = 473; + + public Skill473() : base(SKILL_ID) + { + } + } +#endif + + public class Skill473Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 89 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 9544 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 1600; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(75); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1400; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(300); + skill.SetPlus(4804); + skill.SetRatio(2); + skill.SetEarthdamage(skill.GetMagicattack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill473Stub() : base(473) + { + cls = 1; + name = "狂·落石术"; + nativename = "狂·落石术"; + icon = "落石术2.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 15; + attr = 6; + rank = 30; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1218; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "2落石术.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(292); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(97, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill473Stub() { } + + public float GetMpcost(Skill skill) => 375f; + public int GetExecutetime(Skill skill) => 1400; + public int GetCoolingtime(Skill skill) => 3000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 30f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 30, 375, 200, 4804); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 40f; + public int GetAttackspeed(Skill skill) => 11; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill473.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill473.cs.meta new file mode 100644 index 0000000000..78a772c0ef --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill473.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 06ade23ecce04924c9b48f03dd921001 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill474.cs b/Assets/PerfectWorld/Scripts/Skills/skill474.cs new file mode 100644 index 0000000000..b1ed9dc2cd --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill474.cs @@ -0,0 +1,163 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill474 : Skill + { + public const int SKILL_ID = 474; + + public Skill474() : base(SKILL_ID) + { + } + } +#endif + + public class Skill474Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 89 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 9545 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(53); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(212); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill474Stub() : base(474) + { + cls = 1; + name = "真·磐石护甲"; + nativename = "真·磐石护甲"; + icon = "奇门护甲1.dds"; + max_level = 1; + type = 2; + apcost = 30; + arrowcost = 0; + apgain = 0; + attr = 0; + rank = 20; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1219; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = ""; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(292); + range = new Range(); + range.type = 5; + pre_skills = new Dictionary(); + pre_skills.Add(181, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill474Stub() { } + + public float GetMpcost(Skill skill) => 265f; + public int GetExecutetime(Skill skill) => 1200; + public int GetCoolingtime(Skill skill) => 3000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 265); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 20f; + public int GetAttackspeed(Skill skill) => 4; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill474.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill474.cs.meta new file mode 100644 index 0000000000..9f901bb845 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill474.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 1c24a9e5834b69b409d93a8ceea3955f \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill475.cs b/Assets/PerfectWorld/Scripts/Skills/skill475.cs new file mode 100644 index 0000000000..961ed77434 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill475.cs @@ -0,0 +1,163 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill475 : Skill + { + public const int SKILL_ID = 475; + + public Skill475() : base(SKILL_ID) + { + } + } +#endif + + public class Skill475Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 89 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 9546 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(53); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(212); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill475Stub() : base(475) + { + cls = 1; + name = "狂·磐石护甲"; + nativename = "狂·磐石护甲"; + icon = "奇门护甲2.dds"; + max_level = 1; + type = 2; + apcost = 30; + arrowcost = 0; + apgain = 0; + attr = 0; + rank = 30; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1219; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = ""; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(292); + range = new Range(); + range.type = 5; + pre_skills = new Dictionary(); + pre_skills.Add(181, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill475Stub() { } + + public float GetMpcost(Skill skill) => 265f; + public int GetExecutetime(Skill skill) => 1200; + public int GetCoolingtime(Skill skill) => 3000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 265); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 20f; + public int GetAttackspeed(Skill skill) => 4; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill475.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill475.cs.meta new file mode 100644 index 0000000000..73f114eb13 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill475.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 0164f43d44097144ea13f51f6840a59c \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill476.cs b/Assets/PerfectWorld/Scripts/Skills/skill476.cs new file mode 100644 index 0000000000..9c5a4e9277 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill476.cs @@ -0,0 +1,166 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill476 : Skill + { + public const int SKILL_ID = 476; + + public Skill476() : base(SKILL_ID) + { + } + } +#endif + + public class Skill476Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 89 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 9547 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(64); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(256); + skill.SetPlus(0); + skill.SetRatio(0); + skill.SetEarthdamage(skill.GetMagicattack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill476Stub() : base(476) + { + cls = 1; + name = "真·沙陷"; + nativename = "真·沙陷"; + icon = "沙陷1.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 10; + attr = 6; + rank = 20; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1220; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "1沙陷.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(292); + restrict_weapons.Add(0); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(10, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill476Stub() { } + + public float GetMpcost(Skill skill) => 320f; + public int GetExecutetime(Skill skill) => 1000; + public int GetCoolingtime(Skill skill) => 8000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 30f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 30, 320); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 36f; + public int GetAttackspeed(Skill skill) => 7; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill476.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill476.cs.meta new file mode 100644 index 0000000000..16892a3681 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill476.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: f6bf3323add5d7445aa2ef7178eeb5e1 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill477.cs b/Assets/PerfectWorld/Scripts/Skills/skill477.cs new file mode 100644 index 0000000000..e2edcddb92 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill477.cs @@ -0,0 +1,166 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill477 : Skill + { + public const int SKILL_ID = 477; + + public Skill477() : base(SKILL_ID) + { + } + } +#endif + + public class Skill477Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 89 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 9548 }; + private static readonly int[] RequiredMoneyArray = { 1000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(64); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(256); + skill.SetPlus(0); + skill.SetRatio(0); + skill.SetEarthdamage(skill.GetMagicattack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill477Stub() : base(477) + { + cls = 1; + name = "狂·沙陷"; + nativename = "狂·沙陷"; + icon = "沙陷2.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 10; + attr = 6; + rank = 30; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1220; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "2沙陷.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(292); + restrict_weapons.Add(0); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(10, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill477Stub() { } + + public float GetMpcost(Skill skill) => 320f; + public int GetExecutetime(Skill skill) => 1000; + public int GetCoolingtime(Skill skill) => 8000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 30f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 30, 320); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 36f; + public int GetAttackspeed(Skill skill) => 7; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill477.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill477.cs.meta new file mode 100644 index 0000000000..5c8a39fed8 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill477.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: cc2eeb615accf1148882cec0cfaed4be \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill478.cs b/Assets/PerfectWorld/Scripts/Skills/skill478.cs new file mode 100644 index 0000000000..dad165e9d1 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill478.cs @@ -0,0 +1,162 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill478 : Skill + { + public const int SKILL_ID = 478; + + public Skill478() : base(SKILL_ID) + { + } + } +#endif + + public class Skill478Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 92 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9549 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(60); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill478Stub() : base(478) + { + cls = 1; + name = "真·缩地术"; + nativename = "真·缩地术"; + icon = "缩地术1.dds"; + max_level = 1; + type = 8; + apcost = 10; + arrowcost = 0; + apgain = 0; + attr = 0; + rank = 20; + eventflag = 0; + is_senior = 1; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1221; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "1缩地术.sgc"; + doenchant = 0; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(292); + range = new Range(); + range.type = 5; + pre_skills = new Dictionary(); + pre_skills.Add(100, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill478Stub() { } + + public float GetMpcost(Skill skill) => 60f; + public int GetExecutetime(Skill skill) => 1000; + public int GetCoolingtime(Skill skill) => 10000; + public float GetRadius(Skill skill) => (float)(2 + 0.3 * skill.GetLevel()); + public float GetAttackdistance(Skill skill) => (float)(4 + 0.4 * skill.GetLevel()); + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 25f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 10, 25); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 15f; + public int GetAttackspeed(Skill skill) => 0; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill478.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill478.cs.meta new file mode 100644 index 0000000000..fe3f22e161 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill478.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: ed401095343634347a948aa64707bcf5 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill479.cs b/Assets/PerfectWorld/Scripts/Skills/skill479.cs new file mode 100644 index 0000000000..5fc44af247 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill479.cs @@ -0,0 +1,162 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill479 : Skill + { + public const int SKILL_ID = 479; + + public Skill479() : base(SKILL_ID) + { + } + } +#endif + + public class Skill479Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 92 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9550 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(60); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill479Stub() : base(479) + { + cls = 1; + name = "狂·缩地术"; + nativename = "狂·缩地术"; + icon = "缩地术2.dds"; + max_level = 1; + type = 8; + apcost = 20; + arrowcost = 0; + apgain = 0; + attr = 0; + rank = 30; + eventflag = 0; + is_senior = 1; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1221; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "缩地术.sgc"; + doenchant = 0; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(292); + range = new Range(); + range.type = 5; + pre_skills = new Dictionary(); + pre_skills.Add(100, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill479Stub() { } + + public float GetMpcost(Skill skill) => 60f; + public int GetExecutetime(Skill skill) => 1000; + public int GetCoolingtime(Skill skill) => 10000; + public float GetRadius(Skill skill) => (float)(2 + 0.3 * skill.GetLevel()); + public float GetAttackdistance(Skill skill) => (float)(4 + 0.4 * skill.GetLevel()); + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 30f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 10, 25); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 15f; + public int GetAttackspeed(Skill skill) => 0; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill479.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill479.cs.meta new file mode 100644 index 0000000000..08503d96f6 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill479.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 5fa8eeaa909ca5748a9064f4d0fe7275 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill480.cs b/Assets/PerfectWorld/Scripts/Skills/skill480.cs new file mode 100644 index 0000000000..e7f0b8a081 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill480.cs @@ -0,0 +1,166 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill480 : Skill + { + public const int SKILL_ID = 480; + + public Skill480() : base(SKILL_ID) + { + } + } +#endif + + public class Skill480Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 92 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9551 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 2500; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(89); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1500; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(356); + skill.SetPlus(6560); + skill.SetRatio(3); + skill.SetEarthdamage(skill.GetMagicattack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill480Stub() : base(480) + { + cls = 1; + name = "真·飞沙术"; + nativename = "真·飞沙术"; + icon = "飞沙术1.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 15; + attr = 6; + rank = 20; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1222; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "1飞沙术.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(292); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(98, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill480Stub() { } + + public float GetMpcost(Skill skill) => 445f; + public int GetExecutetime(Skill skill) => 1500; + public int GetCoolingtime(Skill skill) => 5000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => (float)(15 + 0.4 * skill.GetLevel()); + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 30f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 30, 445, 50); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 40f; + public int GetAttackspeed(Skill skill) => 18; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill480.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill480.cs.meta new file mode 100644 index 0000000000..bf858bd062 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill480.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 2b2633f2eeae93045a816cf25aa314d5 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill481.cs b/Assets/PerfectWorld/Scripts/Skills/skill481.cs new file mode 100644 index 0000000000..4c0855e1bd --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill481.cs @@ -0,0 +1,166 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill481 : Skill + { + public const int SKILL_ID = 481; + + public Skill481() : base(SKILL_ID) + { + } + } +#endif + + public class Skill481Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 92 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9552 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 2500; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(89); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1500; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(356); + skill.SetPlus(7760); + skill.SetRatio(3); + skill.SetEarthdamage(skill.GetMagicattack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill481Stub() : base(481) + { + cls = 1; + name = "狂·飞沙术"; + nativename = "狂·飞沙术"; + icon = "飞沙术2.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 15; + attr = 6; + rank = 30; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1222; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "2飞沙术.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(292); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(98, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill481Stub() { } + + public float GetMpcost(Skill skill) => 445f; + public int GetExecutetime(Skill skill) => 1500; + public int GetCoolingtime(Skill skill) => 5000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => (float)(15 + 0.4 * skill.GetLevel()); + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 30f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 30, 445, 50); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 40f; + public int GetAttackspeed(Skill skill) => 18; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill481.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill481.cs.meta new file mode 100644 index 0000000000..5e52ca5646 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill481.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: f923b25459fc93a4b8aee23cfed5ecb2 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill482.cs b/Assets/PerfectWorld/Scripts/Skills/skill482.cs new file mode 100644 index 0000000000..cccf5ea347 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill482.cs @@ -0,0 +1,163 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill482 : Skill + { + public const int SKILL_ID = 482; + + public Skill482() : base(SKILL_ID) + { + } + } +#endif + + public class Skill482Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 99 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9553 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 500; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(59); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 2000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(236); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill482Stub() : base(482) + { + cls = 1; + name = "真·石破天惊"; + nativename = "真·石破天惊"; + icon = "石破天惊1.dds"; + max_level = 1; + type = 3; + apcost = 0; + arrowcost = 0; + apgain = 10; + attr = 0; + rank = 21; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1223; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "1石破天惊.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(292); + restrict_weapons.Add(0); + range = new Range(); + range.type = 3; + pre_skills = new Dictionary(); + pre_skills.Add(184, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill482Stub() { } + + public float GetMpcost(Skill skill) => 295f; + public int GetExecutetime(Skill skill) => 2000; + public int GetCoolingtime(Skill skill) => 20000; + public float GetRadius(Skill skill) => 3f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 30f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 30, 295, 20); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 100; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 36f; + public int GetAttackspeed(Skill skill) => 27; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill482.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill482.cs.meta new file mode 100644 index 0000000000..8ca3b6bbd4 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill482.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 1aba44afc5efeea42bd5a34d1e04190a \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill483.cs b/Assets/PerfectWorld/Scripts/Skills/skill483.cs new file mode 100644 index 0000000000..c1b97430cb --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill483.cs @@ -0,0 +1,163 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill483 : Skill + { + public const int SKILL_ID = 483; + + public Skill483() : base(SKILL_ID) + { + } + } +#endif + + public class Skill483Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 99 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9554 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 500; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(59); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 2000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(236); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill483Stub() : base(483) + { + cls = 1; + name = "狂·石破天惊"; + nativename = "狂·石破天惊"; + icon = "石破天惊2.dds"; + max_level = 1; + type = 3; + apcost = 0; + arrowcost = 0; + apgain = 10; + attr = 0; + rank = 31; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1223; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "2石破天惊.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(292); + restrict_weapons.Add(0); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(184, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill483Stub() { } + + public float GetMpcost(Skill skill) => 295f; + public int GetExecutetime(Skill skill) => 2000; + public int GetCoolingtime(Skill skill) => 18000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 30f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 30, 295, 20); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 100; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 36f; + public int GetAttackspeed(Skill skill) => 27; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill483.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill483.cs.meta new file mode 100644 index 0000000000..83f485dbe1 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill483.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: da0fece22d768bc4dba2cea4f15a54fd \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill484.cs b/Assets/PerfectWorld/Scripts/Skills/skill484.cs new file mode 100644 index 0000000000..32c3dc61e5 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill484.cs @@ -0,0 +1,167 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill484 : Skill + { + public const int SKILL_ID = 484; + + public Skill484() : base(SKILL_ID) + { + } + } +#endif + + public class Skill484Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 99 }; + private static readonly int[] RequiredSpArray = { 2000000 }; + private static readonly int[] RequiredItemArray = { 9555 }; + private static readonly int[] RequiredMoneyArray = { 2000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 5000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(131); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1400; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(524); + skill.SetPlus(12149); + skill.SetRatio(5); + skill.SetEarthdamage(skill.GetMagicattack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill484Stub() : base(484) + { + cls = 1; + name = "真·泰山压顶"; + nativename = "真·泰山压顶"; + icon = "泰山压顶1.dds"; + max_level = 1; + type = 1; + apcost = 200; + arrowcost = 0; + apgain = 0; + attr = 6; + rank = 21; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1224; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "1泰山压顶.sgc"; + doenchant = 1; + dobless = 1; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(292); + range = new Range(); + range.type = 3; + pre_skills = new Dictionary(); + pre_skills.Add(99, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill484Stub() { } + + public float GetMpcost(Skill skill) => 655f; + public int GetExecutetime(Skill skill) => 1400; + public int GetCoolingtime(Skill skill) => 30000; + public float GetRadius(Skill skill) => 12f; + public float GetAttackdistance(Skill skill) => (float)(4 + 0.4 * skill.GetLevel()); + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 30f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 30, 655); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 10000; + public bool StateAttack(Skill skill) => true; + public bool BlessMe(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 40f; + public int GetAttackspeed(Skill skill) => 31; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill484.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill484.cs.meta new file mode 100644 index 0000000000..62dff53638 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill484.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 34f4c773f3d3d88419e373b659fc19c4 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill485.cs b/Assets/PerfectWorld/Scripts/Skills/skill485.cs new file mode 100644 index 0000000000..433f3f7b6e --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill485.cs @@ -0,0 +1,166 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill485 : Skill + { + public const int SKILL_ID = 485; + + public Skill485() : base(SKILL_ID) + { + } + } +#endif + + public class Skill485Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 99 }; + private static readonly int[] RequiredSpArray = { 2000000 }; + private static readonly int[] RequiredItemArray = { 9556 }; + private static readonly int[] RequiredMoneyArray = { 2000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 5000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(131); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1400; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(524); + skill.SetPlus(12149); + skill.SetRatio(5); + skill.SetEarthdamage(skill.GetMagicattack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill485Stub() : base(485) + { + cls = 1; + name = "狂·泰山压顶"; + nativename = "狂·泰山压顶"; + icon = "泰山压顶2.dds"; + max_level = 1; + type = 1; + apcost = 200; + arrowcost = 0; + apgain = 0; + attr = 6; + rank = 31; + eventflag = 0; + is_senior = 1; + clslimit = 0; + time_type = 0; + showorder = 1224; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "2泰山压顶.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(292); + range = new Range(); + range.type = 3; + pre_skills = new Dictionary(); + pre_skills.Add(99, 10); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill485Stub() { } + + public float GetMpcost(Skill skill) => 655f; + public int GetExecutetime(Skill skill) => 1400; + public int GetCoolingtime(Skill skill) => 30000; + public float GetRadius(Skill skill) => 12f; + public float GetAttackdistance(Skill skill) => (float)(4 + 0.4 * skill.GetLevel()); + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 35f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 30, 655); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 10000; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 45f; + public int GetAttackspeed(Skill skill) => 31; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill485.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill485.cs.meta new file mode 100644 index 0000000000..6d294a5340 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill485.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: cc84548ea9289bb46a48bd33baa69440 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill486.cs b/Assets/PerfectWorld/Scripts/Skills/skill486.cs new file mode 100644 index 0000000000..20c76c00aa --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill486.cs @@ -0,0 +1,104 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill486 : Skill + { + public const int SKILL_ID = 486; + + public Skill486() : base(SKILL_ID) + { + } + } +#endif + + public class Skill486Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 92 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9557 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + + public Skill486Stub() : base(486) + { + cls = 1; + name = "真·火精通"; + nativename = "真·火精通"; + icon = "火精通1.DDS"; + max_level = 1; + type = 5; + apcost = 0; + arrowcost = 0; + apgain = 0; + attr = 0; + rank = 20; + eventflag = 1; + is_senior = 1; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1225; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 0; + effect = ""; + doenchant = 0; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(53, 10); + + } + + ~Skill486Stub() { } + + public float GetMpcost(Skill skill) => 0f; + public int GetExecutetime(Skill skill) => 0; + public int GetCoolingtime(Skill skill) => 0; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, skill.GetLevel(), 20); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 0f; + public float GetHitrate(Skill skill) => 1.0f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill486.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill486.cs.meta new file mode 100644 index 0000000000..499dea5f12 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill486.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 42e67be556ea7f043b6031b7719a58c5 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill487.cs b/Assets/PerfectWorld/Scripts/Skills/skill487.cs new file mode 100644 index 0000000000..a1b9edf412 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill487.cs @@ -0,0 +1,104 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill487 : Skill + { + public const int SKILL_ID = 487; + + public Skill487() : base(SKILL_ID) + { + } + } +#endif + + public class Skill487Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 92 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9558 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + + public Skill487Stub() : base(487) + { + cls = 1; + name = "狂·火精通"; + nativename = "狂·火精通"; + icon = "火精通2.DDS"; + max_level = 1; + type = 5; + apcost = 0; + arrowcost = 0; + apgain = 0; + attr = 0; + rank = 30; + eventflag = 1; + is_senior = 1; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1225; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 0; + effect = ""; + doenchant = 0; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(53, 10); + + } + + ~Skill487Stub() { } + + public float GetMpcost(Skill skill) => 0f; + public int GetExecutetime(Skill skill) => 0; + public int GetCoolingtime(Skill skill) => 0; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, skill.GetLevel(), 20); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 0f; + public float GetHitrate(Skill skill) => 1.0f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill487.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill487.cs.meta new file mode 100644 index 0000000000..382ea9dffc --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill487.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: c95e2b72414c34945b7e558a15d4026b \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill488.cs b/Assets/PerfectWorld/Scripts/Skills/skill488.cs new file mode 100644 index 0000000000..f744a8739c --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill488.cs @@ -0,0 +1,104 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill488 : Skill + { + public const int SKILL_ID = 488; + + public Skill488() : base(SKILL_ID) + { + } + } +#endif + + public class Skill488Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 92 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9559 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + + public Skill488Stub() : base(488) + { + cls = 1; + name = "真·水精通"; + nativename = "真·水精通"; + icon = "水精通1.dds"; + max_level = 1; + type = 5; + apcost = 0; + arrowcost = 0; + apgain = 0; + attr = 0; + rank = 20; + eventflag = 1; + is_senior = 1; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1226; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 0; + effect = ""; + doenchant = 0; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(9, 10); + + } + + ~Skill488Stub() { } + + public float GetMpcost(Skill skill) => 0f; + public int GetExecutetime(Skill skill) => 0; + public int GetCoolingtime(Skill skill) => 0; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, skill.GetLevel(), 20); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 0f; + public float GetHitrate(Skill skill) => 1.0f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill488.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill488.cs.meta new file mode 100644 index 0000000000..4575c149d2 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill488.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 52a3bfdb09f54d24189c17279a59fdfe \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill489.cs b/Assets/PerfectWorld/Scripts/Skills/skill489.cs new file mode 100644 index 0000000000..8215aa2927 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill489.cs @@ -0,0 +1,104 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill489 : Skill + { + public const int SKILL_ID = 489; + + public Skill489() : base(SKILL_ID) + { + } + } +#endif + + public class Skill489Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 92 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9560 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + + public Skill489Stub() : base(489) + { + cls = 1; + name = "狂·水精通"; + nativename = "狂·水精通"; + icon = "水精通2.dds"; + max_level = 1; + type = 5; + apcost = 0; + arrowcost = 0; + apgain = 0; + attr = 0; + rank = 30; + eventflag = 1; + is_senior = 1; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1226; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 0; + effect = ""; + doenchant = 0; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(9, 10); + + } + + ~Skill489Stub() { } + + public float GetMpcost(Skill skill) => 0f; + public int GetExecutetime(Skill skill) => 0; + public int GetCoolingtime(Skill skill) => 0; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, skill.GetLevel(), 20); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 0f; + public float GetHitrate(Skill skill) => 1.0f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill489.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill489.cs.meta new file mode 100644 index 0000000000..84c0bbfafb --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill489.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 8c793eb92d9d28f48b17a46e5302638e \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill490.cs b/Assets/PerfectWorld/Scripts/Skills/skill490.cs new file mode 100644 index 0000000000..a3834d2da7 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill490.cs @@ -0,0 +1,104 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill490 : Skill + { + public const int SKILL_ID = 490; + + public Skill490() : base(SKILL_ID) + { + } + } +#endif + + public class Skill490Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 92 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9561 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + + public Skill490Stub() : base(490) + { + cls = 1; + name = "真·土精通"; + nativename = "真·土精通"; + icon = "土精通1.dds"; + max_level = 1; + type = 5; + apcost = 0; + arrowcost = 0; + apgain = 0; + attr = 0; + rank = 20; + eventflag = 1; + is_senior = 1; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1227; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 0; + effect = ""; + doenchant = 0; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(101, 10); + + } + + ~Skill490Stub() { } + + public float GetMpcost(Skill skill) => 0f; + public int GetExecutetime(Skill skill) => 0; + public int GetCoolingtime(Skill skill) => 0; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, skill.GetLevel(), 20); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 0f; + public float GetHitrate(Skill skill) => 1.0f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill490.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill490.cs.meta new file mode 100644 index 0000000000..77842e335b --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill490.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: b3d7ae09b814d3a479bca53daae30853 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill491.cs b/Assets/PerfectWorld/Scripts/Skills/skill491.cs new file mode 100644 index 0000000000..b39fecbdd4 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill491.cs @@ -0,0 +1,104 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill491 : Skill + { + public const int SKILL_ID = 491; + + public Skill491() : base(SKILL_ID) + { + } + } +#endif + + public class Skill491Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 92 }; + private static readonly int[] RequiredSpArray = { 1500000 }; + private static readonly int[] RequiredItemArray = { 9562 }; + private static readonly int[] RequiredMoneyArray = { 1500000 }; + + + public Skill491Stub() : base(491) + { + cls = 1; + name = "狂·土精通"; + nativename = "狂·土精通"; + icon = "土精通2.dds"; + max_level = 1; + type = 5; + apcost = 0; + arrowcost = 0; + apgain = 0; + attr = 0; + rank = 30; + eventflag = 1; + is_senior = 1; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1227; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 0; + effect = ""; + doenchant = 0; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(101, 10); + + } + + ~Skill491Stub() { } + + public float GetMpcost(Skill skill) => 0f; + public int GetExecutetime(Skill skill) => 0; + public int GetCoolingtime(Skill skill) => 0; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, skill.GetLevel(), 20); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 0f; + public float GetHitrate(Skill skill) => 1.0f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill491.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill491.cs.meta new file mode 100644 index 0000000000..8a007ff060 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill491.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 5eba3990e5ea08340b939f39415f878b \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill5.cs b/Assets/PerfectWorld/Scripts/Skills/skill5.cs index 1b5df60ac4..ee1f7ed2fa 100644 --- a/Assets/PerfectWorld/Scripts/Skills/skill5.cs +++ b/Assets/PerfectWorld/Scripts/Skills/skill5.cs @@ -1,5 +1,6 @@ -#define SKILL_CLIENT +#define SKILL_CLIENT using BrewMonster.Scripts.Skills; +using System.Collections.Generic; using System.Text; using UnityEngine; using static BrewMonster.PET_EVOLVE_CONFIG; @@ -20,155 +21,72 @@ namespace BrewMonster public class Skill5Stub : SkillStub { - // Static arrays for skill requirements private static readonly int[] RequiredLevelArray = { 6, 11, 16, 21, 26, 31, 36, 41, 46, 51 }; private static readonly int[] RequiredSpArray = { 400, 1500, 3200, 5800, 9200, 13900, 20000, 28100, 38900, 53200 }; private static readonly int[] RequiredMoneyArray = { 50, 160, 320, 530, 820, 1270, 1720, 2180, 2680, 3180 }; + #if SKILL_SERVER public class State1 : SkillStub.State { - public int GetTime(Skill skill) - { - return 200; - } - - public bool Quit(Skill skill) - { - return false; - } - - public bool Loop(Skill skill) - { - return false; - } - - public bool Bypass(Skill skill) - { - return false; - } - + public int GetTime(Skill skill) => 200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; public void Calculate(Skill skill) { - skill.GetPlayer().SetDecmp(0.2f * (1.7f + 8.4f * skill.GetLevel())); + skill.GetPlayer().SetDecmp(0.2f *(1.7f + 8.4f * skill.GetLevel())); skill.GetPlayer().SetPray(1); } - - public bool Interrupt(Skill skill) - { - return false; - } - - public bool Cancel(Skill skill) - { - return true; - } - - public bool Skip(Skill skill) - { - return false; - } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; } #endif #if SKILL_SERVER public class State2 : SkillStub.State { - public int GetTime(Skill skill) - { - return 500; - } - - public bool Quit(Skill skill) - { - return false; - } - - public bool Loop(Skill skill) - { - return false; - } - - public bool Bypass(Skill skill) - { - return false; - } - + public int GetTime(Skill skill) => 500; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; public void Calculate(Skill skill) { - skill.GetPlayer().SetDecmp(0.8f * (1.7f + 8.4f * skill.GetLevel())); + skill.GetPlayer().SetDecmp(0.8f *(1.7f + 8.4f * skill.GetLevel())); skill.SetPlus(1.8f * skill.GetLevel() * skill.GetLevel() + 66.9f * skill.GetLevel() + 123.7f); skill.SetRatio(0); skill.SetDamage(skill.GetAttack()); skill.GetPlayer().SetPerform(1); } - - public bool Interrupt(Skill skill) - { - return false; - } - - public bool Cancel(Skill skill) - { - return false; - } - - public bool Skip(Skill skill) - { - return false; - } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; } #endif #if SKILL_SERVER public class State3 : SkillStub.State { - public int GetTime(Skill skill) - { - return 0; - } - - public bool Quit(Skill skill) - { - return false; - } - - public bool Loop(Skill skill) - { - return false; - } - - public bool Bypass(Skill skill) - { - return false; - } - + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; public void Calculate(Skill skill) - { - } - - public bool Interrupt(Skill skill) - { - return false; - } - - public bool Cancel(Skill skill) - { - return false; - } - - public bool Skip(Skill skill) - { - return false; + { } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; } #endif + public Skill5Stub() : base(5) { cls = 0; - name = "脕煤脧脰"; - nativename = "脕煤脧脰"; - icon = "脕煤脧脰.dds"; + name = "龙现"; + nativename = "龙现"; + icon = "龙现.dds"; max_level = 10; type = 1; apcost = 0; @@ -190,18 +108,9 @@ namespace BrewMonster restrict_corpse = 0; allow_forms = 1; restrict_weapons.Add(0); - restrict_weapons.Add(1); - restrict_weapons.Add(182); - restrict_weapons.Add(5); - restrict_weapons.Add(292); - restrict_weapons.Add(9); - effect = "脕煤脧脰.sgc"; + effect = ""; range = new Range(); range.type = 0; - doenchant = 0; - dobless = 0; - commoncooldown = 0; - commoncooldowntime = 0; #if SKILL_SERVER statestub.Add(new State1()); statestub.Add(new State2()); @@ -209,59 +118,18 @@ namespace BrewMonster #endif } - ~Skill5Stub() - { - } + ~Skill5Stub() { } - public float GetMpcost(Skill skill) - { - return (float)(1.7 + 8.4 * skill.GetLevel()); - } - - public int GetExecutetime(Skill skill) - { - return 500; - } - - public int GetCoolingtime(Skill skill) - { - return 6000; - } - - public int GetRequiredLevel(Skill skill) - { - return RequiredLevelArray[skill.GetLevel() - 1]; - } - - public int GetRequiredSp(Skill skill) - { - return RequiredSpArray[skill.GetLevel() - 1]; - } - - public int GetRequiredMoney(Skill skill) - { - return RequiredMoneyArray[skill.GetLevel() - 1]; - } - - public float GetRadius(Skill skill) - { - return 0f; - } - - public float GetAttackdistance(Skill skill) - { - return 0f; - } - - public float GetAngle(Skill skill) - { - return (float)(1 - 0.0111111 * 0); - } - - public float GetPraydistance(Skill skill) - { - return (float)(7 + skill.GetLevel() * 0.3); - } + public float GetMpcost(Skill skill) => (float)(1.7 + 8.4 * skill.GetLevel()); + public int GetExecutetime(Skill skill) => 500; + public int GetCoolingtime(Skill skill) => 6000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(7 + skill.GetLevel() * 0.3); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; #if SKILL_CLIENT public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) @@ -281,31 +149,12 @@ namespace BrewMonster #endif #if SKILL_SERVER - public int GetEnmity(Skill skill) - { - return 200 * skill.GetLevel(); - } - public bool TakeEffect(Skill skill) - { - return true; - } - - public float GetEffectdistance(Skill skill) - { - return (float)(12 + 0.5 * skill.GetLevel()); - } - - public int GetAttackspeed(Skill skill) - { - return 12; - } - - public float GetHitrate(Skill skill) - { - return (float)(1.5 + 0.05 * skill.GetLevel()); - } + public int GetEnmity(Skill skill) => 200; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 12 + 0.5f * skill.GetLevel(); + public int GetAttackspeed(Skill skill) => 12; + public float GetHitrate(Skill skill) => 1.5f + 0.05f * skill.GetLevel(); #endif } } - diff --git a/Assets/PerfectWorld/Scripts/Skills/skill53.cs b/Assets/PerfectWorld/Scripts/Skills/skill53.cs new file mode 100644 index 0000000000..0754e68778 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill53.cs @@ -0,0 +1,100 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill53 : Skill + { + public const int SKILL_ID = 53; + + public Skill53() : base(SKILL_ID) + { + } + } +#endif + + public class Skill53Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 29, 34, 39, 44, 49, 54, 59, 64, 69, 74 }; + private static readonly int[] RequiredSpArray = { 11800, 17300, 24600, 34200, 47000, 64000, 87000, 118000, 160000, 217000 }; + private static readonly int[] RequiredMoneyArray = { 1090, 1540, 1990, 2480, 2980, 3480, 3980, 12980, 51980, 151980 }; + + + public Skill53Stub() : base(53) + { + cls = 1; + name = "火精通"; + nativename = "火精通"; + icon = "火精通.dds"; + max_level = 10; + type = 5; + apcost = 0; + arrowcost = 0; + apgain = 0; + attr = 0; + rank = 3; + eventflag = 1; + posdouble = 0; + time_type = 0; + showorder = 1225; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 0; + effect = ""; + doenchant = 0; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(0, 1); + + } + + ~Skill53Stub() { } + + public float GetMpcost(Skill skill) => 0f; + public int GetExecutetime(Skill skill) => 0; + public int GetCoolingtime(Skill skill) => 0; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, skill.GetLevel(), 2 * skill.GetLevel()); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 0f; + public float GetHitrate(Skill skill) => 1.0f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill53.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill53.cs.meta new file mode 100644 index 0000000000..4851ec095a --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill53.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: d9672fa6b53755e41aef9e44ef72f6f6 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill54.cs b/Assets/PerfectWorld/Scripts/Skills/skill54.cs index 723657f04d..889380ef7c 100644 --- a/Assets/PerfectWorld/Scripts/Skills/skill54.cs +++ b/Assets/PerfectWorld/Scripts/Skills/skill54.cs @@ -1,4 +1,4 @@ -#define SKILL_CLIENT +#define SKILL_CLIENT using BrewMonster.Scripts.Skills; using System.Collections.Generic; using System.Text; @@ -21,150 +21,67 @@ namespace BrewMonster public class Skill54Stub : SkillStub { - // Static arrays for skill requirements private static readonly int[] RequiredLevelArray = { 9, 14, 19, 24, 29, 34, 39, 44, 49, 54 }; private static readonly int[] RequiredSpArray = { 1000, 2400, 4600, 7700, 11800, 17300, 24600, 34200, 47000, 64000 }; - private static readonly int[] RequiredItemArray = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; + private static readonly int[] RequiredItemArray = { 0 }; private static readonly int[] RequiredMoneyArray = { 110, 250, 440, 680, 1090, 1540, 1990, 2480, 2980, 3480 }; + #if SKILL_SERVER public class State1 : SkillStub.State { - public int GetTime(Skill skill) - { - return 200; - } - - public bool Quit(Skill skill) - { - return false; - } - - public bool Loop(Skill skill) - { - return false; - } - - public bool Bypass(Skill skill) - { - return false; - } - + public int GetTime(Skill skill) => 200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; public void Calculate(Skill skill) { - skill.GetPlayer().SetDecmp(0.2f * (5.6f + 7 * skill.GetLevel())); + skill.GetPlayer().SetDecmp(0.2f *(5.6f + 7 * skill.GetLevel())); skill.GetPlayer().SetPray(1); } - - public bool Interrupt(Skill skill) - { - return false; - } - - public bool Cancel(Skill skill) - { - return true; - } - - public bool Skip(Skill skill) - { - return false; - } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; } #endif #if SKILL_SERVER public class State2 : SkillStub.State { - public int GetTime(Skill skill) - { - return 1000; - } - - public bool Quit(Skill skill) - { - return false; - } - - public bool Loop(Skill skill) - { - return false; - } - - public bool Bypass(Skill skill) - { - return false; - } - + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; public void Calculate(Skill skill) { - skill.GetPlayer().SetDecmp(0.8f * (5.6f + 7 * skill.GetLevel())); + skill.GetPlayer().SetDecmp(0.8f *(5.6f + 7 * skill.GetLevel())); skill.SetPlus(2.9f * skill.GetLevel() * skill.GetLevel() + 89.9f * skill.GetLevel() + 174.6f); skill.SetRatio(0); skill.SetDamage(skill.GetAttack()); skill.GetPlayer().SetPerform(1); } - - public bool Interrupt(Skill skill) - { - return false; - } - - public bool Cancel(Skill skill) - { - return false; - } - - public bool Skip(Skill skill) - { - return false; - } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; } #endif #if SKILL_SERVER public class State3 : SkillStub.State { - public int GetTime(Skill skill) - { - return 0; - } - - public bool Quit(Skill skill) - { - return false; - } - - public bool Loop(Skill skill) - { - return false; - } - - public bool Bypass(Skill skill) - { - return false; - } - + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; public void Calculate(Skill skill) - { - } - - public bool Interrupt(Skill skill) - { - return false; - } - - public bool Cancel(Skill skill) - { - return false; - } - - public bool Skip(Skill skill) - { - return false; + { } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; } #endif + public Skill54Stub() : base(54) { cls = 0; @@ -192,20 +109,9 @@ namespace BrewMonster restrict_corpse = 0; allow_forms = 1; restrict_weapons.Add(0); - restrict_weapons.Add(1); - restrict_weapons.Add(182); - restrict_weapons.Add(5); - restrict_weapons.Add(292); - restrict_weapons.Add(9); - effect = "流水.sgc"; + effect = ""; range = new Range(); range.type = 0; - doenchant = 0; - dobless = 0; - commoncooldown = 0; - commoncooldowntime = 0; - pre_skills = new Dictionary(); - pre_skills.Add(2, 1); #if SKILL_SERVER statestub.Add(new State1()); statestub.Add(new State2()); @@ -213,72 +119,24 @@ namespace BrewMonster #endif } - ~Skill54Stub() - { - } + ~Skill54Stub() { } - public float GetMpcost(Skill skill) - { - return (float)(5.6 + 7 * skill.GetLevel()); - } - - public int GetExecutetime(Skill skill) - { - return 1000; - } - - public int GetCoolingtime(Skill skill) - { - return 3000; - } - - public int GetRequiredLevel(Skill skill) - { - return RequiredLevelArray[skill.GetLevel() - 1]; - } - - public int GetRequiredSp(Skill skill) - { - return RequiredSpArray[skill.GetLevel() - 1]; - } - - public int GetRequiredItem(Skill skill) - { - return RequiredItemArray[skill.GetLevel() - 1]; - } - - public int GetRequiredMoney(Skill skill) - { - return RequiredMoneyArray[skill.GetLevel() - 1]; - } - - public float GetRadius(Skill skill) - { - return 0f; - } - - public float GetAttackdistance(Skill skill) - { - return 0f; - } - - public float GetAngle(Skill skill) - { - return (float)(1 - 0.0111111 * 0); - } - - public float GetPraydistance(Skill skill) - { - return (float)skill.GetPlayer().GetRange(); - } + public float GetMpcost(Skill skill) => (float)(5.6 + 7 * skill.GetLevel()); + public int GetExecutetime(Skill skill) => 1000; + public int GetCoolingtime(Skill skill) => 3000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; #if SKILL_CLIENT public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) { - string result = string.Format(format, - skill.GetLevel(), - 5.6 + 7 * skill.GetLevel(), - 2.9 * skill.GetLevel() * skill.GetLevel() + 89.9 * skill.GetLevel() + 174.6); + string result = string.Format(format, skill.GetLevel(), 5.6 + 7 * skill.GetLevel(), 2.9 * skill.GetLevel() * skill.GetLevel() + 89.9 * skill.GetLevel() + 174.6); if (result.Length < length) { buffer.Append(result); @@ -289,49 +147,12 @@ namespace BrewMonster #endif #if SKILL_SERVER - public int GetEnmity(Skill skill) - { - return 400 * skill.GetLevel(); - } - - public bool TakeEffect(Skill skill) - { - return true; - } - - public float GetEffectdistance(Skill skill) - { - return 14.1f; - } - - public int GetAttackspeed(Skill skill) - { - return 12; - } - - public float GetHitrate(Skill skill) - { - return (float)(2 + 0.1 * skill.GetLevel()); - } + public int GetEnmity(Skill skill) => 400; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 14.1f; + public int GetAttackspeed(Skill skill) => 12; + public float GetHitrate(Skill skill) => 2 + 0.1f * skill.GetLevel(); #endif } } - - - - - - - - - - - - - - - - - - diff --git a/Assets/PerfectWorld/Scripts/Skills/skill55.cs b/Assets/PerfectWorld/Scripts/Skills/skill55.cs new file mode 100644 index 0000000000..4f1f00d532 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill55.cs @@ -0,0 +1,156 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill55 : Skill + { + public const int SKILL_ID = 55; + + public Skill55() : base(SKILL_ID) + { + } + } +#endif + + public class Skill55Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 34, 39, 44, 49, 54, 59, 64, 69, 74, 79 }; + private static readonly int[] RequiredSpArray = { 17300, 24600, 34200, 47000, 64000, 87000, 118000, 160000, 239000, 399000 }; + private static readonly int[] RequiredMoneyArray = { 1540, 1990, 2480, 2980, 3480, 3980, 12980, 51980, 151980, 331980 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 300; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.2f *(60.9f + 10.5f * skill.GetLevel())); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 700; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.8f *(60.9f + 10.5f * skill.GetLevel())); + skill.SetPlus(2.2f * skill.GetLevel() * skill.GetLevel() + 106.7f * skill.GetLevel() + 522.4f); + skill.SetRatio(0); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill55Stub() : base(55) + { + cls = 0; + name = "狂龙斩"; + nativename = "狂龙斩"; + icon = "狂龙斩.dds"; + max_level = 10; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 10; + attr = 1; + rank = 3; + eventflag = 0; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1107; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + restrict_weapons.Add(0); + effect = ""; + range = new Range(); + range.type = 0; +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill55Stub() { } + + public float GetMpcost(Skill skill) => (float)(60.9 + 10.5 * skill.GetLevel()); + public int GetExecutetime(Skill skill) => 700; + public int GetCoolingtime(Skill skill) => 8000; + public float GetRadius(Skill skill) => 8f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 120); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, skill.GetLevel(), 60.9 + 10.5 * skill.GetLevel(), 2.2 * skill.GetLevel() * skill.GetLevel() + 106.7 * skill.GetLevel() + 522.4); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 5f; + public int GetAttackspeed(Skill skill) => 5; + public float GetHitrate(Skill skill) => 1.5f + 0.05f * skill.GetLevel(); +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill55.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill55.cs.meta new file mode 100644 index 0000000000..cf9e47dfbf --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill55.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: b2f45618088a9574eb1898704eb8de7e \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill56.cs b/Assets/PerfectWorld/Scripts/Skills/skill56.cs index ea85a3fc9b..e516c302f8 100644 --- a/Assets/PerfectWorld/Scripts/Skills/skill56.cs +++ b/Assets/PerfectWorld/Scripts/Skills/skill56.cs @@ -1,4 +1,4 @@ -#define SKILL_CLIENT +#define SKILL_CLIENT using BrewMonster.Scripts.Skills; using System.Collections.Generic; using System.Text; @@ -21,149 +21,66 @@ namespace BrewMonster public class Skill56Stub : SkillStub { - // Static arrays for skill requirements private static readonly int[] RequiredLevelArray = { 44, 48, 52, 56, 60, 64, 68, 72, 76, 80 }; private static readonly int[] RequiredSpArray = { 34200, 44100, 56600, 72400, 92400, 118000, 151000, 192000, 295000, 440000 }; private static readonly int[] RequiredMoneyArray = { 2480, 2880, 3280, 3680, 4980, 12980, 41980, 111980, 211980, 371980 }; + #if SKILL_SERVER public class State1 : SkillStub.State { - public int GetTime(Skill skill) - { - return 300; - } - - public bool Quit(Skill skill) - { - return false; - } - - public bool Loop(Skill skill) - { - return false; - } - - public bool Bypass(Skill skill) - { - return false; - } - + public int GetTime(Skill skill) => 300; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; public void Calculate(Skill skill) { - skill.GetPlayer().SetDecmp(0.2f * (84 + 8.4f * skill.GetLevel())); + skill.GetPlayer().SetDecmp(0.2f *(84 + 8.4f * skill.GetLevel())); skill.GetPlayer().SetPray(1); } - - public bool Interrupt(Skill skill) - { - return false; - } - - public bool Cancel(Skill skill) - { - return true; - } - - public bool Skip(Skill skill) - { - return false; - } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; } #endif #if SKILL_SERVER public class State2 : SkillStub.State { - public int GetTime(Skill skill) - { - return 900; - } - - public bool Quit(Skill skill) - { - return false; - } - - public bool Loop(Skill skill) - { - return false; - } - - public bool Bypass(Skill skill) - { - return false; - } - + public int GetTime(Skill skill) => 900; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; public void Calculate(Skill skill) { - skill.GetPlayer().SetDecmp(0.8f * (84 + 8.4f * skill.GetLevel())); + skill.GetPlayer().SetDecmp(0.8f *(84 + 8.4f * skill.GetLevel())); skill.SetPlus(1.1f * skill.GetLevel() * skill.GetLevel() + 107.6f * skill.GetLevel() + 850.8f); skill.SetRatio(0); skill.SetDamage(skill.GetAttack()); skill.GetPlayer().SetPerform(1); } - - public bool Interrupt(Skill skill) - { - return false; - } - - public bool Cancel(Skill skill) - { - return false; - } - - public bool Skip(Skill skill) - { - return false; - } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; } #endif #if SKILL_SERVER public class State3 : SkillStub.State { - public int GetTime(Skill skill) - { - return 0; - } - - public bool Quit(Skill skill) - { - return false; - } - - public bool Loop(Skill skill) - { - return false; - } - - public bool Bypass(Skill skill) - { - return false; - } - + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; public void Calculate(Skill skill) - { - } - - public bool Interrupt(Skill skill) - { - return false; - } - - public bool Cancel(Skill skill) - { - return false; - } - - public bool Skip(Skill skill) - { - return false; + { } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; } #endif + public Skill56Stub() : base(56) { cls = 0; @@ -191,20 +108,9 @@ namespace BrewMonster restrict_corpse = 0; allow_forms = 1; restrict_weapons.Add(0); - restrict_weapons.Add(1); - restrict_weapons.Add(182); - restrict_weapons.Add(5); - restrict_weapons.Add(292); - restrict_weapons.Add(9); - effect = "横扫千军.sgc"; + effect = ""; range = new Range(); - range.type = 2; - doenchant = 0; - dobless = 0; - commoncooldown = 0; - commoncooldowntime = 0; - pre_skills = new Dictionary(); - pre_skills.Add(55, 1); + range.type = 0; #if SKILL_SERVER statestub.Add(new State1()); statestub.Add(new State2()); @@ -212,67 +118,23 @@ namespace BrewMonster #endif } - ~Skill56Stub() - { - } + ~Skill56Stub() { } - public float GetMpcost(Skill skill) - { - return (float)(84 + 8.4 * skill.GetLevel()); - } - - public int GetExecutetime(Skill skill) - { - return 900; - } - - public int GetCoolingtime(Skill skill) - { - return 8000; - } - - public int GetRequiredLevel(Skill skill) - { - return RequiredLevelArray[skill.GetLevel() - 1]; - } - - public int GetRequiredSp(Skill skill) - { - return RequiredSpArray[skill.GetLevel() - 1]; - } - - public int GetRequiredMoney(Skill skill) - { - return RequiredMoneyArray[skill.GetLevel() - 1]; - } - - public float GetRadius(Skill skill) - { - return 8f; - } - - public float GetAttackdistance(Skill skill) - { - return 0f; - } - - public float GetAngle(Skill skill) - { - return (float)(1 - 0.0111111 * 0); - } - - public float GetPraydistance(Skill skill) - { - return (float)skill.GetPlayer().GetRange(); - } + public float GetMpcost(Skill skill) => (float)(84 + 8.4 * skill.GetLevel()); + public int GetExecutetime(Skill skill) => 900; + public int GetCoolingtime(Skill skill) => 8000; + public float GetRadius(Skill skill) => 8f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; #if SKILL_CLIENT public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) { - string result = string.Format(format, - skill.GetLevel(), - 84 + 8.4 * skill.GetLevel(), - 1.1 * skill.GetLevel() * skill.GetLevel() + 107.6 * skill.GetLevel() + 850.8); + string result = string.Format(format, skill.GetLevel(), 84 + 8.4 * skill.GetLevel(), 1.1 * skill.GetLevel() * skill.GetLevel() + 107.6 * skill.GetLevel() + 850.8); if (result.Length < length) { buffer.Append(result); @@ -283,49 +145,12 @@ namespace BrewMonster #endif #if SKILL_SERVER - public int GetEnmity(Skill skill) - { - return 0; - } - - public bool TakeEffect(Skill skill) - { - return true; - } - - public float GetEffectdistance(Skill skill) - { - return 5f; - } - - public int GetAttackspeed(Skill skill) - { - return 6; - } - - public float GetHitrate(Skill skill) - { - return (float)(1.5 + 0.05 * skill.GetLevel()); - } + public int GetEnmity(Skill skill) => 0; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 5f; + public int GetAttackspeed(Skill skill) => 6; + public float GetHitrate(Skill skill) => 1.5f + 0.05f * skill.GetLevel(); #endif } } - - - - - - - - - - - - - - - - - - diff --git a/Assets/PerfectWorld/Scripts/Skills/skill57.cs b/Assets/PerfectWorld/Scripts/Skills/skill57.cs index 5a90bca39b..8adf2fdb38 100644 --- a/Assets/PerfectWorld/Scripts/Skills/skill57.cs +++ b/Assets/PerfectWorld/Scripts/Skills/skill57.cs @@ -1,4 +1,4 @@ -#define SKILL_CLIENT +#define SKILL_CLIENT using BrewMonster.Scripts.Skills; using System.Collections.Generic; using System.Text; @@ -21,149 +21,66 @@ namespace BrewMonster public class Skill57Stub : SkillStub { - // Static arrays for skill requirements private static readonly int[] RequiredLevelArray = { 26, 31, 36, 41, 46, 51, 56, 61, 66, 71 }; private static readonly int[] RequiredSpArray = { 9200, 13900, 20000, 28100, 38900, 53200, 72400, 98300, 133000, 181000 }; private static readonly int[] RequiredMoneyArray = { 820, 1270, 1720, 2180, 2680, 3180, 3680, 6980, 22980, 91980 }; + #if SKILL_SERVER public class State1 : SkillStub.State { - public int GetTime(Skill skill) - { - return 300; - } - - public bool Quit(Skill skill) - { - return false; - } - - public bool Loop(Skill skill) - { - return false; - } - - public bool Bypass(Skill skill) - { - return false; - } - + public int GetTime(Skill skill) => 300; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; public void Calculate(Skill skill) { - skill.GetPlayer().SetDecmp(0.2f * (29.4f + 7 * skill.GetLevel())); + skill.GetPlayer().SetDecmp(0.2f *(29.4f + 7 * skill.GetLevel())); skill.GetPlayer().SetPray(1); } - - public bool Interrupt(Skill skill) - { - return false; - } - - public bool Cancel(Skill skill) - { - return true; - } - - public bool Skip(Skill skill) - { - return false; - } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; } #endif #if SKILL_SERVER public class State2 : SkillStub.State { - public int GetTime(Skill skill) - { - return 1000; - } - - public bool Quit(Skill skill) - { - return false; - } - - public bool Loop(Skill skill) - { - return false; - } - - public bool Bypass(Skill skill) - { - return false; - } - + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; public void Calculate(Skill skill) { - skill.GetPlayer().SetDecmp(0.8f * (29.4f + 7 * skill.GetLevel())); + skill.GetPlayer().SetDecmp(0.8f *(29.4f + 7 * skill.GetLevel())); skill.SetPlus(2.7f * skill.GetLevel() * skill.GetLevel() + 115.4f * skill.GetLevel() + 474.1f); skill.SetRatio(0); skill.SetDamage(skill.GetAttack()); skill.GetPlayer().SetPerform(1); } - - public bool Interrupt(Skill skill) - { - return false; - } - - public bool Cancel(Skill skill) - { - return false; - } - - public bool Skip(Skill skill) - { - return false; - } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; } #endif #if SKILL_SERVER public class State3 : SkillStub.State { - public int GetTime(Skill skill) - { - return 0; - } - - public bool Quit(Skill skill) - { - return false; - } - - public bool Loop(Skill skill) - { - return false; - } - - public bool Bypass(Skill skill) - { - return false; - } - + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; public void Calculate(Skill skill) - { - } - - public bool Interrupt(Skill skill) - { - return false; - } - - public bool Cancel(Skill skill) - { - return false; - } - - public bool Skip(Skill skill) - { - return false; + { } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; } #endif + public Skill57Stub() : base(57) { cls = 0; @@ -191,20 +108,9 @@ namespace BrewMonster restrict_corpse = 0; allow_forms = 1; restrict_weapons.Add(0); - restrict_weapons.Add(1); - restrict_weapons.Add(182); - restrict_weapons.Add(5); - restrict_weapons.Add(292); - restrict_weapons.Add(9); - effect = "断岩斩.sgc"; + effect = ""; range = new Range(); range.type = 0; - doenchant = 1; - dobless = 0; - commoncooldown = 0; - commoncooldowntime = 0; - pre_skills = new Dictionary(); - pre_skills.Add(5, 1); #if SKILL_SERVER statestub.Add(new State1()); statestub.Add(new State2()); @@ -212,59 +118,18 @@ namespace BrewMonster #endif } - ~Skill57Stub() - { - } + ~Skill57Stub() { } - public float GetMpcost(Skill skill) - { - return (float)(29.4 + 7 * skill.GetLevel()); - } - - public int GetExecutetime(Skill skill) - { - return 1000; - } - - public int GetCoolingtime(Skill skill) - { - return 3000; - } - - public int GetRequiredLevel(Skill skill) - { - return RequiredLevelArray[skill.GetLevel() - 1]; - } - - public int GetRequiredSp(Skill skill) - { - return RequiredSpArray[skill.GetLevel() - 1]; - } - - public int GetRequiredMoney(Skill skill) - { - return RequiredMoneyArray[skill.GetLevel() - 1]; - } - - public float GetRadius(Skill skill) - { - return 0f; - } - - public float GetAttackdistance(Skill skill) - { - return (float)(skill.GetPlayer().GetRange() + 3 + 0.3 * skill.GetLevel()); - } - - public float GetAngle(Skill skill) - { - return (float)(1 - 0.0111111 * 0); - } - - public float GetPraydistance(Skill skill) - { - return (float)skill.GetPlayer().GetRange(); - } + public float GetMpcost(Skill skill) => (float)(29.4 + 7 * skill.GetLevel()); + public int GetExecutetime(Skill skill) => 1000; + public int GetCoolingtime(Skill skill) => 3000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => (float)(skill.GetPlayer().GetRange() + 3 + 0.3 * skill.GetLevel()); + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; #if SKILL_CLIENT public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) @@ -285,58 +150,16 @@ namespace BrewMonster #endif #if SKILL_SERVER - public int GetEnmity(Skill skill) - { - return 0; - } - + public int GetEnmity(Skill skill) => 0; public bool StateAttack(Skill skill) { - skill.GetVictim().SetProbability(1.0f * (75 + 2 * skill.GetLevel())); - skill.GetVictim().SetTime(10000); - skill.GetVictim().SetRatio(0.4f + 0.02f * skill.GetLevel()); - skill.GetVictim().SetSlow(1); return true; } - - public bool TakeEffect(Skill skill) - { - return true; - } - - public float GetEffectdistance(Skill skill) - { - return 14.9f; - } - - public int GetAttackspeed(Skill skill) - { - return 6; - } - - public float GetHitrate(Skill skill) - { - return (float)(1.5 + 0.1 * skill.GetLevel()); - } + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 14.9f; + public int GetAttackspeed(Skill skill) => 6; + public float GetHitrate(Skill skill) => 1.5f + 0.1f * skill.GetLevel(); #endif } } - - - - - - - - - - - - - - - - - - diff --git a/Assets/PerfectWorld/Scripts/Skills/skill58.cs b/Assets/PerfectWorld/Scripts/Skills/skill58.cs index aea5aae697..10753e8455 100644 --- a/Assets/PerfectWorld/Scripts/Skills/skill58.cs +++ b/Assets/PerfectWorld/Scripts/Skills/skill58.cs @@ -1,4 +1,4 @@ -#define SKILL_CLIENT +#define SKILL_CLIENT using BrewMonster.Scripts.Skills; using System.Collections.Generic; using System.Text; @@ -21,144 +21,61 @@ namespace BrewMonster public class Skill58Stub : SkillStub { - // Static arrays for skill requirements private static readonly int[] RequiredLevelArray = { 29, 34, 39, 44, 49, 54, 59, 64, 69, 74 }; private static readonly int[] RequiredSpArray = { 3540, 5190, 7380, 10260, 14100, 19200, 26100, 35400, 48000, 71700 }; private static readonly int[] RequiredMoneyArray = { 1090, 1540, 1990, 2480, 2980, 3480, 3980, 12980, 51980, 151980 }; + #if SKILL_SERVER public class State1 : SkillStub.State { - public int GetTime(Skill skill) - { - return 0; - } - - public bool Quit(Skill skill) - { - return false; - } - - public bool Loop(Skill skill) - { - return false; - } - - public bool Bypass(Skill skill) - { - return false; - } - + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; public void Calculate(Skill skill) { skill.GetPlayer().SetPray(1); } - - public bool Interrupt(Skill skill) - { - return false; - } - - public bool Cancel(Skill skill) - { - return true; - } - - public bool Skip(Skill skill) - { - return false; - } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; } #endif #if SKILL_SERVER public class State2 : SkillStub.State { - public int GetTime(Skill skill) - { - return 1000; - } - - public bool Quit(Skill skill) - { - return false; - } - - public bool Loop(Skill skill) - { - return false; - } - - public bool Bypass(Skill skill) - { - return false; - } - + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; public void Calculate(Skill skill) { skill.GetPlayer().SetPerform(1); } - - public bool Interrupt(Skill skill) - { - return false; - } - - public bool Cancel(Skill skill) - { - return false; - } - - public bool Skip(Skill skill) - { - return false; - } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; } #endif #if SKILL_SERVER public class State3 : SkillStub.State { - public int GetTime(Skill skill) - { - return 0; - } - - public bool Quit(Skill skill) - { - return false; - } - - public bool Loop(Skill skill) - { - return false; - } - - public bool Bypass(Skill skill) - { - return false; - } - + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; public void Calculate(Skill skill) - { - } - - public bool Interrupt(Skill skill) - { - return false; - } - - public bool Cancel(Skill skill) - { - return false; - } - - public bool Skip(Skill skill) - { - return false; + { } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; } #endif + public Skill58Stub() : base(58) { cls = 0; @@ -186,20 +103,9 @@ namespace BrewMonster restrict_corpse = 0; allow_forms = 1; restrict_weapons.Add(0); - restrict_weapons.Add(1); - restrict_weapons.Add(182); - restrict_weapons.Add(5); - restrict_weapons.Add(292); - restrict_weapons.Add(9); - effect = "龙腾.sgc"; + effect = ""; range = new Range(); - range.type = 5; - doenchant = 1; - dobless = 0; - commoncooldown = 0; - commoncooldowntime = 0; - pre_skills = new Dictionary(); - pre_skills.Add(0, 1); + range.type = 0; #if SKILL_SERVER statestub.Add(new State1()); statestub.Add(new State2()); @@ -207,67 +113,23 @@ namespace BrewMonster #endif } - ~Skill58Stub() - { - } + ~Skill58Stub() { } - public float GetMpcost(Skill skill) - { - return 0f; - } - - public int GetExecutetime(Skill skill) - { - return 1000; - } - - public int GetCoolingtime(Skill skill) - { - return 16000 - 1000 * skill.GetLevel(); - } - - public int GetRequiredLevel(Skill skill) - { - return RequiredLevelArray[skill.GetLevel() - 1]; - } - - public int GetRequiredSp(Skill skill) - { - return RequiredSpArray[skill.GetLevel() - 1]; - } - - public int GetRequiredMoney(Skill skill) - { - return RequiredMoneyArray[skill.GetLevel() - 1]; - } - - public float GetRadius(Skill skill) - { - return 0f; - } - - public float GetAttackdistance(Skill skill) - { - return 0f; - } - - public float GetAngle(Skill skill) - { - return (float)(1 - 0.0111111 * 0); - } - - public float GetPraydistance(Skill skill) - { - return (float)(-10 - 0.6 * skill.GetLevel()); - } + public float GetMpcost(Skill skill) => 0f; + public int GetExecutetime(Skill skill) => 1000; + public int GetCoolingtime(Skill skill) => 16000 - 1000 * skill.GetLevel(); + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(-10 - 0.6 * skill.GetLevel()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; #if SKILL_CLIENT public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) { - string result = string.Format(format, - skill.GetLevel(), - 16 - skill.GetLevel(), - 10 + 0.6 * skill.GetLevel()); + string result = string.Format(format, skill.GetLevel(), 16 - skill.GetLevel(), 10 + 0.6 * skill.GetLevel()); if (result.Length < length) { buffer.Append(result); @@ -278,58 +140,16 @@ namespace BrewMonster #endif #if SKILL_SERVER - public int GetEnmity(Skill skill) - { - return 0; - } - + public int GetEnmity(Skill skill) => 0; public bool StateAttack(Skill skill) { - skill.GetVictim().SetProbability(1.0f * 100); - skill.GetVictim().SetTime(2100); - skill.GetVictim().SetRatio(0.35f); - skill.GetVictim().SetIncdamagedodge(1); return true; } - - public bool TakeEffect(Skill skill) - { - return true; - } - - public float GetEffectdistance(Skill skill) - { - return 20f; - } - - public int GetAttackspeed(Skill skill) - { - return 0; - } - - public float GetHitrate(Skill skill) - { - return 1f; - } + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 20f; + public int GetAttackspeed(Skill skill) => 0; + public float GetHitrate(Skill skill) => 1f; #endif } } - - - - - - - - - - - - - - - - - - diff --git a/Assets/PerfectWorld/Scripts/Skills/skill59.cs b/Assets/PerfectWorld/Scripts/Skills/skill59.cs index 0ccf57141b..ddfd9cccf9 100644 --- a/Assets/PerfectWorld/Scripts/Skills/skill59.cs +++ b/Assets/PerfectWorld/Scripts/Skills/skill59.cs @@ -7,6 +7,7 @@ using static BrewMonster.PET_EVOLVE_CONFIG; namespace BrewMonster { + #if SKILL_SERVER public class Skill59 : Skill { @@ -24,137 +25,54 @@ namespace BrewMonster private static readonly int[] RequiredSpArray = { 3540, 5190, 7380, 10260, 14100, 19200, 26100, 35400, 48000, 71700 }; private static readonly int[] RequiredMoneyArray = { 1090, 1540, 1990, 2480, 2980, 3480, 3980, 12980, 51980, 151980 }; + #if SKILL_SERVER public class State1 : SkillStub.State { - public int GetTime(Skill skill) - { - return 0; - } - - public bool Quit(Skill skill) - { - return false; - } - - public bool Loop(Skill skill) - { - return false; - } - - public bool Bypass(Skill skill) - { - return false; - } - + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; public void Calculate(Skill skill) { skill.GetPlayer().SetPray(1); } - - public bool Interrupt(Skill skill) - { - return false; - } - - public bool Cancel(Skill skill) - { - return true; - } - - public bool Skip(Skill skill) - { - return false; - } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; } #endif #if SKILL_SERVER public class State2 : SkillStub.State { - public int GetTime(Skill skill) - { - return 1000; - } - - public bool Quit(Skill skill) - { - return false; - } - - public bool Loop(Skill skill) - { - return false; - } - - public bool Bypass(Skill skill) - { - return false; - } - + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; public void Calculate(Skill skill) { skill.GetPlayer().SetPerform(1); } - - public bool Interrupt(Skill skill) - { - return false; - } - - public bool Cancel(Skill skill) - { - return false; - } - - public bool Skip(Skill skill) - { - return false; - } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; } #endif #if SKILL_SERVER public class State3 : SkillStub.State { - public int GetTime(Skill skill) - { - return 0; - } - - public bool Quit(Skill skill) - { - return false; - } - - public bool Loop(Skill skill) - { - return false; - } - - public bool Bypass(Skill skill) - { - return false; - } - + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; public void Calculate(Skill skill) - { - } - - public bool Interrupt(Skill skill) - { - return false; - } - - public bool Cancel(Skill skill) - { - return false; - } - - public bool Skip(Skill skill) - { - return false; + { } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; } #endif @@ -184,21 +102,10 @@ namespace BrewMonster long_range = 0; restrict_corpse = 0; allow_forms = 1; - effect = "虎跃.sgc"; - range = new Range(); - range.type = 5; - doenchant = 1; - dobless = 0; - commoncooldown = 0; - commoncooldowntime = 0; - pre_skills = new Dictionary(); - pre_skills.Add(0, 1); restrict_weapons.Add(0); - restrict_weapons.Add(1); - restrict_weapons.Add(182); - restrict_weapons.Add(5); - restrict_weapons.Add(292); - restrict_weapons.Add(9); + effect = ""; + range = new Range(); + range.type = 0; #if SKILL_SERVER statestub.Add(new State1()); statestub.Add(new State2()); @@ -206,67 +113,23 @@ namespace BrewMonster #endif } - ~Skill59Stub() - { - } + ~Skill59Stub() { } - public float GetMpcost(Skill skill) - { - return 0f; - } - - public int GetExecutetime(Skill skill) - { - return 1000; - } - - public int GetCoolingtime(Skill skill) - { - return 16000 - 1000 * skill.GetLevel(); - } - - public int GetRequiredLevel(Skill skill) - { - return RequiredLevelArray[skill.GetLevel() - 1]; - } - - public int GetRequiredSp(Skill skill) - { - return RequiredSpArray[skill.GetLevel() - 1]; - } - - public int GetRequiredMoney(Skill skill) - { - return RequiredMoneyArray[skill.GetLevel() - 1]; - } - - public float GetRadius(Skill skill) - { - return 0f; - } - - public float GetAttackdistance(Skill skill) - { - return 0f; - } - - public float GetAngle(Skill skill) - { - return (float)(1 - 0.0111111 * 0); - } - - public override float GetPraydistance(Skill skill) - { - return (float)(10 + 0.6 * skill.GetLevel()); - } + public float GetMpcost(Skill skill) => 0f; + public int GetExecutetime(Skill skill) => 1000; + public int GetCoolingtime(Skill skill) => 16000 - 1000 * skill.GetLevel(); + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(10 + 0.6 * skill.GetLevel()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; #if SKILL_CLIENT public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) { - string result = string.Format(format, - skill.GetLevel(), - 16 - skill.GetLevel(), - 10 + 0.6 * skill.GetLevel()); + string result = string.Format(format, skill.GetLevel(), 16 - skill.GetLevel(), 10 + 0.6 * skill.GetLevel()); if (result.Length < length) { buffer.Append(result); @@ -277,39 +140,15 @@ namespace BrewMonster #endif #if SKILL_SERVER - public int GetEnmity(Skill skill) - { - return 0; - } - + public int GetEnmity(Skill skill) => 0; public bool StateAttack(Skill skill) { - skill.GetVictim().SetProbability(1.0f * 100); - skill.GetVictim().SetTime(2100); - skill.GetVictim().SetRatio(0.65f); - skill.GetVictim().SetIncdebuffdodge(1); return true; } - - public bool TakeEffect(Skill skill) - { - return true; - } - - public float GetEffectdistance(Skill skill) - { - return 25f; - } - - public int GetAttackspeed(Skill skill) - { - return 0; - } - - public float GetHitrate(Skill skill) - { - return 1f; - } + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 25f; + public int GetAttackspeed(Skill skill) => 0; + public float GetHitrate(Skill skill) => 1f; #endif } } diff --git a/Assets/PerfectWorld/Scripts/Skills/skill6.cs b/Assets/PerfectWorld/Scripts/Skills/skill6.cs index 81e68ffd12..90fbc27e83 100644 --- a/Assets/PerfectWorld/Scripts/Skills/skill6.cs +++ b/Assets/PerfectWorld/Scripts/Skills/skill6.cs @@ -1,5 +1,6 @@ -#define SKILL_CLIENT +#define SKILL_CLIENT using BrewMonster.Scripts.Skills; +using System.Collections.Generic; using System.Text; using UnityEngine; using static BrewMonster.PET_EVOLVE_CONFIG; @@ -20,11 +21,11 @@ namespace BrewMonster public class Skill6Stub : SkillStub { - // Static arrays for skill requirements private static readonly int[] RequiredLevelArray = { 29, 34, 39, 44, 49, 54, 59, 64, 69, 74 }; private static readonly int[] RequiredSpArray = { 11800, 17300, 24600, 34200, 47000, 64000, 87000, 118000, 160000, 239000 }; private static readonly int[] RequiredMoneyArray = { 1090, 1540, 1990, 2480, 2980, 3480, 3980, 12980, 51980, 151980 }; + public Skill6Stub() : base(6) { cls = 0; @@ -51,65 +52,36 @@ namespace BrewMonster long_range = 0; restrict_corpse = 0; allow_forms = 1; - effect = "刀剑精通"; - range = new Range(); - range.type = 0; + effect = ""; doenchant = 0; dobless = 0; commoncooldown = 0; commoncooldowntime = 0; -#if SKILL_SERVER -#endif - } - ~Skill6Stub() - { - } - public float GetMpcost(Skill skill) - { - return 0f; - } - public int GetExecutetime(Skill skill) - { - return 0; - } - public int GetCoolingtime(Skill skill) - { - return 0; - } - public int GetRequiredLevel(Skill skill) - { - return RequiredLevelArray[skill.GetLevel() - 1]; - } - public int GetRequiredSp(Skill skill) - { - return RequiredSpArray[skill.GetLevel() - 1]; - } - public int GetRequiredMoney(Skill skill) - { - return RequiredMoneyArray[skill.GetLevel() - 1]; - } - public float GetRadius(Skill skill) - { - return 0f; - } - public float GetAttackdistance(Skill skill) - { - return 0f; - } - public float GetAngle(Skill skill) - { - return (float)(1 - 0.0111111 * 0); - } - public float GetPraydistance(Skill skill) - { - return 0f; + effect = ""; + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(0, 1); + } + + ~Skill6Stub() { } + + public float GetMpcost(Skill skill) => 0f; + public int GetExecutetime(Skill skill) => 0; + public int GetCoolingtime(Skill skill) => 0; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + #if SKILL_CLIENT public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) { - string result = string.Format(format, - skill.GetLevel(), - 6 * skill.GetLevel()); + string result = string.Format(format, skill.GetLevel(), 6 * skill.GetLevel()); if (result.Length < length) { buffer.Append(result); @@ -118,26 +90,13 @@ namespace BrewMonster return 0; } #endif + #if SKILL_SERVER - public int GetEnmity(Skill skill) - { - return 0; - } - public bool TakeEffect(Skill skill) - { - skill.GetPlayer().SetIncsword(0.06f * skill.GetLevel()); - return true; - } - public float GetEffectdistance(Skill skill) - { - return 0f; - } - public float GetHitrate(Skill skill) - { - return 1.0f; - } + public int GetEnmity(Skill skill) => 0; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 0f; + public float GetHitrate(Skill skill) => 1.0f; #endif } } - diff --git a/Assets/PerfectWorld/Scripts/Skills/skill60.cs b/Assets/PerfectWorld/Scripts/Skills/skill60.cs new file mode 100644 index 0000000000..a5f125f447 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill60.cs @@ -0,0 +1,164 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill60 : Skill + { + public const int SKILL_ID = 60; + + public Skill60() : base(SKILL_ID) + { + } + } +#endif + + public class Skill60Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 29, 34, 39, 44, 49, 54, 59, 64, 69, 74 }; + private static readonly int[] RequiredSpArray = { 11800, 17300, 24600, 34200, 47000, 64000, 87000, 118000, 160000, 239000 }; + private static readonly int[] RequiredMoneyArray = { 1090, 1540, 1990, 2480, 2980, 3480, 3980, 12980, 51980, 151980 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 300; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.2f *(33.6f + 7 * skill.GetLevel())); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 700; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.8f *(33.6f + 7 * skill.GetLevel())); + skill.SetPlus(5.3f * skill.GetLevel() * skill.GetLevel() + 183.2f * skill.GetLevel() + 758.4f); + skill.SetRatio(0); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill60Stub() : base(60) + { + cls = 0; + name = "劈空掌"; + nativename = "劈空掌"; + icon = "劈空掌.dds"; + max_level = 10; + type = 1; + apcost = 100; + arrowcost = 0; + apgain = 0; + attr = 1; + rank = 3; + eventflag = 0; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1109; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + restrict_weapons.Add(182); + effect = ""; + range = new Range(); + range.type = 0; +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill60Stub() { } + + public float GetMpcost(Skill skill) => (float)(33.6 + 7 * skill.GetLevel()); + public int GetExecutetime(Skill skill) => 700; + public int GetCoolingtime(Skill skill) => 15000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, + skill.GetLevel(), + 33.6 + 7 * skill.GetLevel(), + 5.3 * skill.GetLevel() * skill.GetLevel() + 183.2 * skill.GetLevel() + 758.4, + 50 + 3 * skill.GetLevel()); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 300; + public bool StateAttack(Skill skill) + { + return true; + } + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 12.5f; + public int GetAttackspeed(Skill skill) => 10; + public float GetHitrate(Skill skill) => 1.5f + 0.1f * skill.GetLevel(); +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill60.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill60.cs.meta new file mode 100644 index 0000000000..1acf933f12 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill60.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: a28aaa61fc067f442b70beee81a67a24 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill61.cs b/Assets/PerfectWorld/Scripts/Skills/skill61.cs new file mode 100644 index 0000000000..4b60367297 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill61.cs @@ -0,0 +1,160 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill61 : Skill + { + public const int SKILL_ID = 61; + + public Skill61() : base(SKILL_ID) + { + } + } +#endif + + public class Skill61Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 39, 43, 47, 51, 55, 59, 63, 67, 71, 75 }; + private static readonly int[] RequiredSpArray = { 24600, 32000, 41400, 53200, 68100, 87000, 111000, 142000, 181000, 266000 }; + private static readonly int[] RequiredMoneyArray = { 1990, 2380, 2780, 3180, 3580, 3980, 10980, 31980, 91980, 171980 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.2f *(58.8f + 6.7f * skill.GetLevel())); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.8f *(58.8f + 6.7f * skill.GetLevel())); + skill.SetPlus(1.9f * skill.GetLevel() * skill.GetLevel() + 135.2f * skill.GetLevel() + 931.4f); + skill.SetRatio(0); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill61Stub() : base(61) + { + cls = 0; + name = "无影脚"; + nativename = "无影脚"; + icon = "无影脚.dds"; + max_level = 10; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 8; + attr = 1; + rank = 4; + eventflag = 0; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1110; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + restrict_weapons.Add(182); + effect = ""; + range = new Range(); + range.type = 0; +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill61Stub() { } + + public float GetMpcost(Skill skill) => (float)(58.8 + 6.7 * skill.GetLevel()); + public int GetExecutetime(Skill skill) => 1200; + public int GetCoolingtime(Skill skill) => 12000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, skill.GetLevel(), 58.8 + 6.7 * skill.GetLevel(), 1.9 * skill.GetLevel() * skill.GetLevel() + 135.2 * skill.GetLevel() + 931.4); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) + { + return true; + } + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 15.7f; + public int GetAttackspeed(Skill skill) => 10; + public float GetHitrate(Skill skill) => 1.5f + 0.1f * skill.GetLevel(); +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill61.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill61.cs.meta new file mode 100644 index 0000000000..7fddf0bcb3 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill61.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 7d7cd41f21f2fdc4db1777f7dfdcad9e \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill62.cs b/Assets/PerfectWorld/Scripts/Skills/skill62.cs new file mode 100644 index 0000000000..8331e487ee --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill62.cs @@ -0,0 +1,166 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill62 : Skill + { + public const int SKILL_ID = 62; + + public Skill62() : base(SKILL_ID) + { + } + } +#endif + + public class Skill62Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 49, 53, 57, 61, 65, 69, 73, 77, 81, 85 }; + private static readonly int[] RequiredSpArray = { 47000, 60200, 76900, 98300, 125000, 160000, 215000, 327000, 484000, 705000 }; + private static readonly int[] RequiredMoneyArray = { 2980, 3380, 3780, 6980, 14980, 51980, 131980, 251980, 451980, 771980 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.2f *(94.5f + 8.4f * skill.GetLevel())); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1800; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.8f *(94.5f + 8.4f * skill.GetLevel())); + skill.SetPlus(1.5f * skill.GetLevel() * skill.GetLevel() + 130.8f * skill.GetLevel() + 1100.5f); + skill.SetRatio(0.5f + 0.05f * skill.GetLevel()); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill62Stub() : base(62) + { + cls = 0; + name = "风卷残云"; + nativename = "风卷残云"; + icon = "风卷残云.dds"; + max_level = 10; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 10; + attr = 1; + rank = 5; + eventflag = 0; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1111; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + restrict_weapons.Add(182); + effect = ""; + range = new Range(); + range.type = 0; +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill62Stub() { } + + public float GetMpcost(Skill skill) => (float)(94.5 + 8.4 * skill.GetLevel()); + public int GetExecutetime(Skill skill) => 1800; + public int GetCoolingtime(Skill skill) => 15000; + public float GetRadius(Skill skill) => 8f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, + skill.GetLevel(), + 94.5 + 8.4 * skill.GetLevel(), + 50 + 5 * skill.GetLevel(), + 1.5 * skill.GetLevel() * skill.GetLevel() + 130.8 * skill.GetLevel() + 1100.5, + 5 + skill.GetLevel(), + 2 + skill.GetLevel()); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool BlessMe(Skill skill) + { + return true; + } + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 8f; + public int GetAttackspeed(Skill skill) => 16; + public float GetHitrate(Skill skill) => 2 + 0.15f * skill.GetLevel(); +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill62.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill62.cs.meta new file mode 100644 index 0000000000..763b26ec67 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill62.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 23fb80e4d06f4824eac4b7038f600523 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill63.cs b/Assets/PerfectWorld/Scripts/Skills/skill63.cs new file mode 100644 index 0000000000..8ecf4cafd1 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill63.cs @@ -0,0 +1,166 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill63 : Skill + { + public const int SKILL_ID = 63; + + public Skill63() : base(SKILL_ID) + { + } + } +#endif + + public class Skill63Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 59, 62, 65, 68, 71, 74, 77, 80, 83, 86 }; + private static readonly int[] RequiredSpArray = { 87000, 104000, 125000, 151000, 181000, 239000, 327000, 440000, 586000, 773000 }; + private static readonly int[] RequiredMoneyArray = { 3980, 8980, 14980, 41980, 91980, 151980, 251980, 371980, 611980, 851980 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 600; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.2f *(156.8f + 8.4f * skill.GetLevel())); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.8f *(156.8f + 8.4f * skill.GetLevel())); + skill.SetPlus(3.8f * skill.GetLevel() * skill.GetLevel() + 237.8f * skill.GetLevel() + 3123.7f); + skill.SetRatio(0.5f + 0.05f * skill.GetLevel()); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill63Stub() : base(63) + { + cls = 0; + name = "云龙九现"; + nativename = "云龙九现"; + icon = "云龙九现.dds"; + max_level = 10; + type = 1; + apcost = 200; + arrowcost = 0; + apgain = 0; + attr = 1; + rank = 6; + eventflag = 0; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1112; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + restrict_weapons.Add(182); + effect = ""; + range = new Range(); + range.type = 0; +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill63Stub() { } + + public float GetMpcost(Skill skill) => (float)(156.8 + 8.4 * skill.GetLevel()); + public int GetExecutetime(Skill skill) => 1000; + public int GetCoolingtime(Skill skill) => 30000; + public float GetRadius(Skill skill) => 4f; + public float GetAttackdistance(Skill skill) => (float)(8 + 0.4 * skill.GetLevel()); + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, + skill.GetLevel(), + 156.8 + 8.4 * skill.GetLevel(), + 8 + 0.4 * skill.GetLevel(), + 50 + 5 * skill.GetLevel(), + 3.8 * skill.GetLevel() * skill.GetLevel() + 237.8 * skill.GetLevel() + 3123.7, + 30 + 5 * skill.GetLevel()); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 1000; + public bool BlessMe(Skill skill) + { + return true; + } + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 20f; + public int GetAttackspeed(Skill skill) => 11; + public float GetHitrate(Skill skill) => 3 + 0.2f * skill.GetLevel(); +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill63.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill63.cs.meta new file mode 100644 index 0000000000..69bf3d26a8 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill63.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 2999180c015f1364ca1585c8bcc645b3 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill64.cs b/Assets/PerfectWorld/Scripts/Skills/skill64.cs new file mode 100644 index 0000000000..ad60ac8fb5 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill64.cs @@ -0,0 +1,165 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill64 : Skill + { + public const int SKILL_ID = 64; + + public Skill64() : base(SKILL_ID) + { + } + } +#endif + + public class Skill64Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 29, 34, 39, 44, 49, 54, 59, 64, 69, 74 }; + private static readonly int[] RequiredSpArray = { 11800, 17300, 24600, 34200, 47000, 64000, 87000, 118000, 160000, 239000 }; + private static readonly int[] RequiredMoneyArray = { 1090, 1540, 1990, 2480, 2980, 3480, 3980, 12980, 51980, 151980 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.2f *(33.6f + 7 * skill.GetLevel())); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 800; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.8f *(33.6f + 7 * skill.GetLevel())); + skill.SetPlus(5.3f * skill.GetLevel() * skill.GetLevel() + 183.2f * skill.GetLevel() + 758.4f); + skill.SetRatio(0); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill64Stub() : base(64) + { + cls = 0; + name = "疾风刺"; + nativename = "疾风刺"; + icon = "疾风霹雳.dds"; + max_level = 10; + type = 1; + apcost = 100; + arrowcost = 0; + apgain = 0; + attr = 1; + rank = 3; + eventflag = 0; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1113; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + restrict_weapons.Add(5); + effect = ""; + range = new Range(); + range.type = 0; +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill64Stub() { } + + public float GetMpcost(Skill skill) => (float)(33.6 + 7 * skill.GetLevel()); + public int GetExecutetime(Skill skill) => 800; + public int GetCoolingtime(Skill skill) => 15000; + public float GetRadius(Skill skill) => 3.5f; + public float GetAttackdistance(Skill skill) => (float)(8 + 0.4 * skill.GetLevel()); + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, + skill.GetLevel(), + 33.6 + 7 * skill.GetLevel(), + 8 + 0.4 * skill.GetLevel(), + 5.3 * skill.GetLevel() * skill.GetLevel() + 183.2 * skill.GetLevel() + 758.4, + 7 * skill.GetLevel() * skill.GetLevel() + 174.4 * skill.GetLevel() + 676.4); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 300; + public bool StateAttack(Skill skill) + { + return true; + } + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 6f; + public int GetAttackspeed(Skill skill) => 4; + public float GetHitrate(Skill skill) => 1.2f + 0.05f * skill.GetLevel(); +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill64.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill64.cs.meta new file mode 100644 index 0000000000..9b86aae6a5 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill64.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: e9fce8184e546084e9b9422cede9fc8f \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill65.cs b/Assets/PerfectWorld/Scripts/Skills/skill65.cs new file mode 100644 index 0000000000..470a8474d7 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill65.cs @@ -0,0 +1,161 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill65 : Skill + { + public const int SKILL_ID = 65; + + public Skill65() : base(SKILL_ID) + { + } + } +#endif + + public class Skill65Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 39, 43, 47, 51, 55, 59, 63, 67, 71, 75 }; + private static readonly int[] RequiredSpArray = { 24600, 32000, 41400, 53200, 68100, 87000, 111000, 142000, 181000, 266000 }; + private static readonly int[] RequiredMoneyArray = { 1990, 2380, 2780, 3180, 3580, 3980, 10980, 31980, 91980, 171980 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 800; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.2f *(58.8f + 6.7f * skill.GetLevel())); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.8f *(58.8f + 6.7f * skill.GetLevel())); + skill.SetPlus(2.2f * skill.GetLevel() * skill.GetLevel() + 142.4f * skill.GetLevel() + 1002.5f); + skill.SetRatio(0.5f + 0.05f * skill.GetLevel()); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill65Stub() : base(65) + { + cls = 0; + name = "回马枪"; + nativename = "回马枪"; + icon = "回马枪.dds"; + max_level = 10; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 10; + attr = 1; + rank = 4; + eventflag = 0; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1114; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + restrict_weapons.Add(5); + effect = ""; + range = new Range(); + range.type = 0; +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill65Stub() { } + + public float GetMpcost(Skill skill) => (float)(58.8 + 6.7 * skill.GetLevel()); + public int GetExecutetime(Skill skill) => 1200; + public int GetCoolingtime(Skill skill) => 6000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => (float)(skill.GetPlayer().GetRange() + 0.3 * skill.GetLevel()); + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(10 + 0.5 * skill.GetLevel() + skill.GetPlayer().GetRange() - 4.5); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, + skill.GetLevel(), + 10 + 0.5 * skill.GetLevel(), + 58.8 + 6.7 * skill.GetLevel(), + 50 + 5 * skill.GetLevel(), + 2.2 * skill.GetLevel() * skill.GetLevel() + 142.4 * skill.GetLevel() + 1002.5); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 20 + 0.5f * skill.GetLevel() + skill.GetPlayer().GetRange() - 4.5f; + public int GetAttackspeed(Skill skill) => 12; + public float GetHitrate(Skill skill) => 1.5f + 0.1f * skill.GetLevel(); +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill65.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill65.cs.meta new file mode 100644 index 0000000000..1ccb6b177f --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill65.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: ffc4ef92d4cfa6a4b985a8e5302c410e \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill66.cs b/Assets/PerfectWorld/Scripts/Skills/skill66.cs new file mode 100644 index 0000000000..f087a7a317 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill66.cs @@ -0,0 +1,165 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill66 : Skill + { + public const int SKILL_ID = 66; + + public Skill66() : base(SKILL_ID) + { + } + } +#endif + + public class Skill66Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 49, 53, 57, 61, 65, 69, 73, 77, 81, 85 }; + private static readonly int[] RequiredSpArray = { 47000, 60200, 76900, 98300, 125000, 160000, 215000, 327000, 484000, 705000 }; + private static readonly int[] RequiredMoneyArray = { 2980, 3380, 3780, 6980, 14980, 51980, 131980, 251980, 451980, 771980 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 300; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.2f *(75.6f + 6.7f * skill.GetLevel())); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 800; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.8f *(75.6f + 6.7f * skill.GetLevel())); + skill.SetPlus(2.1f * skill.GetLevel() * skill.GetLevel() + 156.8f * skill.GetLevel() + 1314.5f); + skill.SetRatio(0); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill66Stub() : base(66) + { + cls = 0; + name = "流星赶月"; + nativename = "流星赶月"; + icon = "流星赶月.dds"; + max_level = 10; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 12; + attr = 1; + rank = 5; + eventflag = 0; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1116; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + restrict_weapons.Add(5); + effect = ""; + range = new Range(); + range.type = 0; +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill66Stub() { } + + public float GetMpcost(Skill skill) => (float)(75.6 + 6.7 * skill.GetLevel()); + public int GetExecutetime(Skill skill) => 800; + public int GetCoolingtime(Skill skill) => 6000; + public float GetRadius(Skill skill) => 3f; + public float GetAttackdistance(Skill skill) => (float)(9 + 0.3 * skill.GetLevel()); + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, + skill.GetLevel(), + 75.6 + 6.7 * skill.GetLevel(), + 9 + 0.3 * skill.GetLevel(), + 2.1 * skill.GetLevel() * skill.GetLevel() + 156.8 * skill.GetLevel() + 1314.5, + 12 + 0.6 * skill.GetLevel()); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) + { + return true; + } + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 8f; + public int GetAttackspeed(Skill skill) => 6; + public float GetHitrate(Skill skill) => 1.2f + 0.05f * skill.GetLevel(); +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill66.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill66.cs.meta new file mode 100644 index 0000000000..e86d3500e0 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill66.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 111ae7111fe995d4a8d8685aebcdcf88 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill67.cs b/Assets/PerfectWorld/Scripts/Skills/skill67.cs new file mode 100644 index 0000000000..b48faba6a9 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill67.cs @@ -0,0 +1,165 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill67 : Skill + { + public const int SKILL_ID = 67; + + public Skill67() : base(SKILL_ID) + { + } + } +#endif + + public class Skill67Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 59, 62, 65, 68, 71, 74, 77, 80, 83, 86 }; + private static readonly int[] RequiredSpArray = { 87000, 104000, 125000, 151000, 181000, 239000, 327000, 440000, 586000, 773000 }; + private static readonly int[] RequiredMoneyArray = { 3980, 8980, 14980, 41980, 91980, 151980, 251980, 371980, 611980, 851980 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 300; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.2f *(156.8f + 8.4f * skill.GetLevel())); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1800; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.8f *(156.8f + 8.4f * skill.GetLevel())); + skill.SetPlus(3.8f * skill.GetLevel() * skill.GetLevel() + 237.8f * skill.GetLevel() + 3123.7f); + skill.SetRatio(0.5f + 0.05f * skill.GetLevel()); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill67Stub() : base(67) + { + cls = 0; + name = "寒冰刃域"; + nativename = "寒冰刃域"; + icon = "刃域.dds"; + max_level = 10; + type = 1; + apcost = 200; + arrowcost = 0; + apgain = 0; + attr = 1; + rank = 6; + eventflag = 0; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1116; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + restrict_weapons.Add(5); + effect = ""; + range = new Range(); + range.type = 0; +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill67Stub() { } + + public float GetMpcost(Skill skill) => (float)(156.8 + 8.4 * skill.GetLevel()); + public int GetExecutetime(Skill skill) => 1800; + public int GetCoolingtime(Skill skill) => 30000; + public float GetRadius(Skill skill) => 12f; + public float GetAttackdistance(Skill skill) => (float)(skill.GetPlayer().GetRange() + 0.4 * skill.GetLevel()); + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, + skill.GetLevel(), + 156.8 + 8.4 * skill.GetLevel(), + 50 + 5 * skill.GetLevel(), + 3.8 * skill.GetLevel() * skill.GetLevel() + 237.8 * skill.GetLevel() + 3123.7, + 20 + 3 * skill.GetLevel()); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 1000; + public bool StateAttack(Skill skill) + { + return true; + } + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 8f; + public int GetAttackspeed(Skill skill) => 16; + public float GetHitrate(Skill skill) => 2 + 0.1f * skill.GetLevel(); +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill67.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill67.cs.meta new file mode 100644 index 0000000000..034b8115e7 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill67.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: b083992fffa370d49975fcb8edfec517 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill68.cs b/Assets/PerfectWorld/Scripts/Skills/skill68.cs new file mode 100644 index 0000000000..8b0e1db396 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill68.cs @@ -0,0 +1,166 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill68 : Skill + { + public const int SKILL_ID = 68; + + public Skill68() : base(SKILL_ID) + { + } + } +#endif + + public class Skill68Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 29, 34, 39, 44, 49, 54, 59, 64, 69, 74 }; + private static readonly int[] RequiredSpArray = { 11800, 17300, 24600, 34200, 47000, 64000, 87000, 118000, 160000, 239000 }; + private static readonly int[] RequiredMoneyArray = { 1090, 1540, 1990, 2480, 2980, 3480, 3980, 12980, 51980, 151980 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 400; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.2f *(33.6f + 7 * skill.GetLevel())); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1500; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.8f *(33.6f + 7 * skill.GetLevel())); + skill.SetPlus(5.7f * skill.GetLevel() * skill.GetLevel() + 191 * skill.GetLevel() + 816.1f); + skill.SetRatio(0.5f + 0.05f * skill.GetLevel()); + skill.SetDamage(skill.GetAttack()); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill68Stub() : base(68) + { + cls = 0; + name = "龙飞击"; + nativename = "龙飞击"; + icon = "霸王龙飞.dds"; + max_level = 10; + type = 1; + apcost = 100; + arrowcost = 0; + apgain = 0; + attr = 1; + rank = 3; + eventflag = 0; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1117; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + restrict_weapons.Add(9); + effect = ""; + range = new Range(); + range.type = 0; +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill68Stub() { } + + public float GetMpcost(Skill skill) => (float)(33.6 + 7 * skill.GetLevel()); + public int GetExecutetime(Skill skill) => 1500; + public int GetCoolingtime(Skill skill) => 15000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, + skill.GetLevel(), + 33.6 + 7 * skill.GetLevel(), + 50 + 5 * skill.GetLevel(), + 5.7 * skill.GetLevel() * skill.GetLevel() + 191 * skill.GetLevel() + 816.1, + 3 + 0.3 * skill.GetLevel()); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 300; + public bool StateAttack(Skill skill) + { + return true; + } + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 19.7f; + public int GetAttackspeed(Skill skill) => 13; + public float GetHitrate(Skill skill) => 1.2f + 0.05f * skill.GetLevel(); +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill68.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill68.cs.meta new file mode 100644 index 0000000000..d9a5d12b5f --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill68.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 2fde50a31bfd5a348bf4f7fb9f352719 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill69.cs b/Assets/PerfectWorld/Scripts/Skills/skill69.cs new file mode 100644 index 0000000000..d5d56fc16e --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill69.cs @@ -0,0 +1,165 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill69 : Skill + { + public const int SKILL_ID = 69; + + public Skill69() : base(SKILL_ID) + { + } + } +#endif + + public class Skill69Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 59, 62, 65, 68, 71, 74, 77, 80, 83, 86 }; + private static readonly int[] RequiredSpArray = { 87000, 104000, 125000, 151000, 181000, 239000, 327000, 440000, 586000, 773000 }; + private static readonly int[] RequiredMoneyArray = { 3980, 8980, 14980, 41980, 91980, 151980, 251980, 371980, 611980, 851980 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 400; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.2f *(156.8f + 8.4f * skill.GetLevel())); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1500; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.8f *(156.8f + 8.4f * skill.GetLevel())); + skill.SetPlus(2.7f * skill.GetLevel() * skill.GetLevel() + 167.1f * skill.GetLevel() + 2194.7f); + skill.SetRatio(0.5f + 0.05f * skill.GetLevel()); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill69Stub() : base(69) + { + cls = 0; + name = "天火狂龙"; + nativename = "天火狂龙"; + icon = "天火狂龙.dds"; + max_level = 10; + type = 1; + apcost = 200; + arrowcost = 0; + apgain = 0; + attr = 1; + rank = 6; + eventflag = 0; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1120; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + restrict_weapons.Add(9); + effect = ""; + range = new Range(); + range.type = 0; +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill69Stub() { } + + public float GetMpcost(Skill skill) => (float)(156.8 + 8.4 * skill.GetLevel()); + public int GetExecutetime(Skill skill) => 1500; + public int GetCoolingtime(Skill skill) => 30000; + public float GetRadius(Skill skill) => 12f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 *(60 + 2.5 * skill.GetLevel())); + public float GetPraydistance(Skill skill) => 8f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, + skill.GetLevel(), + 156.8 + 8.4 * skill.GetLevel(), + 50 + 5 * skill.GetLevel(), + 2.7 * skill.GetLevel() * skill.GetLevel() + 167.1 * skill.GetLevel() + 2194.7, + 50 + 5 * skill.GetLevel()); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 1000; + public bool StateAttack(Skill skill) + { + return true; + } + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 19.7f; + public int GetAttackspeed(Skill skill) => 14; + public float GetHitrate(Skill skill) => 2 + 0.1f * skill.GetLevel(); +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill69.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill69.cs.meta new file mode 100644 index 0000000000..2021041346 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill69.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 784ca5125550d9f4c81e3205f7d4dd50 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill7.cs b/Assets/PerfectWorld/Scripts/Skills/skill7.cs new file mode 100644 index 0000000000..2f3a6a44c3 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill7.cs @@ -0,0 +1,164 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill7 : Skill + { + public const int SKILL_ID = 7; + + public Skill7() : base(SKILL_ID) + { + } + } +#endif + + public class Skill7Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 13, 18, 23, 28, 33, 38, 43, 48, 53, 58 }; + private static readonly int[] RequiredSpArray = { 2100, 4100, 7000, 10900, 16100, 23000, 32000, 44100, 60200, 81800 }; + private static readonly int[] RequiredMoneyArray = { 220, 400, 630, 1000, 1450, 1900, 2380, 2880, 3380, 3880 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.2f *(24 + 15 * skill.GetLevel())); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.8f *(24 + 15 * skill.GetLevel())); + skill.SetPlus(0); + skill.SetRatio(0); + skill.SetFiredamage(skill.GetMagicattack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill7Stub() : base(7) + { + cls = 1; + name = "火煞天灯"; + nativename = "火煞天灯"; + icon = "火煞天灯.dds"; + max_level = 10; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 10; + attr = 5; + rank = 1; + eventflag = 0; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1203; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + restrict_weapons.Add(292); + effect = ""; + range = new Range(); + range.type = 0; +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill7Stub() { } + + public float GetMpcost(Skill skill) => (float)(24 + 15 * skill.GetLevel()); + public int GetExecutetime(Skill skill) => 1000; + public int GetCoolingtime(Skill skill) => 8000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(19.5 + 0.9 * skill.GetLevel()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, + skill.GetLevel(), + 19.5 + 0.9 * skill.GetLevel(), + 24 + 15 * skill.GetLevel(), + 7.6 * skill.GetLevel() * skill.GetLevel() + 185.9 * skill.GetLevel() + 393.9); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) + { + return true; + } + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 25 + skill.GetLevel(); + public int GetAttackspeed(Skill skill) => 9; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill7.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill7.cs.meta new file mode 100644 index 0000000000..77342a33d5 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill7.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 917cc21948fdcb144861bf8d563000e1 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill70.cs b/Assets/PerfectWorld/Scripts/Skills/skill70.cs new file mode 100644 index 0000000000..e884880182 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill70.cs @@ -0,0 +1,160 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill70 : Skill + { + public const int SKILL_ID = 70; + + public Skill70() : base(SKILL_ID) + { + } + } +#endif + + public class Skill70Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 39, 43, 47, 51, 55, 59, 63, 67, 71, 75 }; + private static readonly int[] RequiredSpArray = { 24600, 32000, 41400, 53200, 68100, 87000, 111000, 142000, 181000, 266000 }; + private static readonly int[] RequiredMoneyArray = { 1990, 2380, 2780, 3180, 3580, 3980, 10980, 31980, 91980, 171980 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 400; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.2f *(73.5f + 8.4f * skill.GetLevel())); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 2000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.8f *(73.5f + 8.4f * skill.GetLevel())); + skill.SetPlus(1.5f * skill.GetLevel() * skill.GetLevel() + 114.1f * skill.GetLevel() + 827.2f); + skill.SetRatio(0.5f + 0.05f * skill.GetLevel()); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill70Stub() : base(70) + { + cls = 0; + name = "断岳扫"; + nativename = "断岳扫"; + icon = "霸王断岳.dds"; + max_level = 10; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 12; + attr = 1; + rank = 4; + eventflag = 0; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1118; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + restrict_weapons.Add(9); + effect = ""; + range = new Range(); + range.type = 0; +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill70Stub() { } + + public float GetMpcost(Skill skill) => (float)(73.5 + 8.4 * skill.GetLevel()); + public int GetExecutetime(Skill skill) => 2000; + public int GetCoolingtime(Skill skill) => 6000; + public float GetRadius(Skill skill) => 10f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 *(20 + 3 * skill.GetLevel())); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, + skill.GetLevel(), + 73.5 + 8.4 * skill.GetLevel(), + 50 + 5 * skill.GetLevel(), + 1.5 * skill.GetLevel() * skill.GetLevel() + 114.1 * skill.GetLevel() + 827.2); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 20f; + public int GetAttackspeed(Skill skill) => 5; + public float GetHitrate(Skill skill) => 1.2f + 0.05f * skill.GetLevel(); +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill70.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill70.cs.meta new file mode 100644 index 0000000000..348e171f79 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill70.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: ab14fe553d0651941a13428a69ef6594 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill71.cs b/Assets/PerfectWorld/Scripts/Skills/skill71.cs new file mode 100644 index 0000000000..b62d3ccf50 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill71.cs @@ -0,0 +1,165 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill71 : Skill + { + public const int SKILL_ID = 71; + + public Skill71() : base(SKILL_ID) + { + } + } +#endif + + public class Skill71Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 49, 53, 57, 61, 65, 69, 73, 77, 81, 85 }; + private static readonly int[] RequiredSpArray = { 47000, 60200, 76900, 98300, 125000, 160000, 215000, 327000, 484000, 705000 }; + private static readonly int[] RequiredMoneyArray = { 2980, 3380, 3780, 6980, 14980, 51980, 131980, 251980, 451980, 771980 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 300; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.2f *(94.5f + 8.4f * skill.GetLevel())); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1400; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.8f *(94.5f + 8.4f * skill.GetLevel())); + skill.SetPlus(1.3f * skill.GetLevel() * skill.GetLevel() + 123.5f * skill.GetLevel() + 1077.7f); + skill.SetRatio(0); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill71Stub() : base(71) + { + cls = 0; + name = "裂岩炎震"; + nativename = "裂岩炎震"; + icon = "霸王暴怒.dds"; + max_level = 10; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 10; + attr = 1; + rank = 5; + eventflag = 0; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1119; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + restrict_weapons.Add(9); + effect = ""; + range = new Range(); + range.type = 0; +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill71Stub() { } + + public float GetMpcost(Skill skill) => (float)(94.5 + 8.4 * skill.GetLevel()); + public int GetExecutetime(Skill skill) => 1400; + public int GetCoolingtime(Skill skill) => 8000; + public float GetRadius(Skill skill) => 10f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 *(20 + 3 * skill.GetLevel())); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, + skill.GetLevel(), + 94.5 + 8.4 * skill.GetLevel(), + 1.3 * skill.GetLevel() * skill.GetLevel() + 123.5 * skill.GetLevel() + 1077.7, + 30 + 2 * skill.GetLevel(), + 4 + 0.4 * skill.GetLevel()); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) + { + return true; + } + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 0f; + public int GetAttackspeed(Skill skill) => 11; + public float GetHitrate(Skill skill) => 1.5f + 0.1f * skill.GetLevel(); +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill71.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill71.cs.meta new file mode 100644 index 0000000000..07b7d5bd71 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill71.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 690d874e324b8da4b831cdb32bca0808 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill72.cs b/Assets/PerfectWorld/Scripts/Skills/skill72.cs new file mode 100644 index 0000000000..d32dbd9f36 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill72.cs @@ -0,0 +1,164 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill72 : Skill + { + public const int SKILL_ID = 72; + + public Skill72() : base(SKILL_ID) + { + } + } +#endif + + public class Skill72Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 29, 34, 39, 44, 49, 54, 59, 64, 69, 74 }; + private static readonly int[] RequiredSpArray = { 11800, 17300, 24600, 34200, 47000, 64000, 87000, 118000, 160000, 239000 }; + private static readonly int[] RequiredMoneyArray = { 1090, 1540, 1990, 2480, 2980, 3480, 3980, 12980, 51980, 151980 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 400; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.2f *(33.6f + 7 * skill.GetLevel())); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 700; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.8f *(33.6f + 7 * skill.GetLevel())); + skill.SetPlus(5.3f * skill.GetLevel() * skill.GetLevel() + 183.2f * skill.GetLevel() + 758.4f); + skill.SetRatio(0); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill72Stub() : base(72) + { + cls = 0; + name = "忘情式"; + nativename = "忘情式"; + icon = "忘情式.dds"; + max_level = 10; + type = 1; + apcost = 100; + arrowcost = 0; + apgain = 0; + attr = 7; + rank = 3; + eventflag = 0; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1121; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + restrict_weapons.Add(1); + effect = ""; + range = new Range(); + range.type = 0; +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill72Stub() { } + + public float GetMpcost(Skill skill) => (float)(33.6 + 7 * skill.GetLevel()); + public int GetExecutetime(Skill skill) => 700; + public int GetCoolingtime(Skill skill) => 15000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, + skill.GetLevel(), + 33.6 + 7 * skill.GetLevel(), + 5.3 * skill.GetLevel() * skill.GetLevel() + 183.2 * skill.GetLevel() + 758.4, + 3 + 0.5 * skill.GetLevel()); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 300; + public bool StateAttack(Skill skill) + { + return true; + } + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 13.3f; + public int GetAttackspeed(Skill skill) => 2; + public float GetHitrate(Skill skill) => 1.5f + 0.1f * skill.GetLevel(); +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill72.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill72.cs.meta new file mode 100644 index 0000000000..d810a78823 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill72.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 68429d9c62114a940ad6b3e6bc876326 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill73.cs b/Assets/PerfectWorld/Scripts/Skills/skill73.cs new file mode 100644 index 0000000000..44d776027f --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill73.cs @@ -0,0 +1,160 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill73 : Skill + { + public const int SKILL_ID = 73; + + public Skill73() : base(SKILL_ID) + { + } + } +#endif + + public class Skill73Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 39, 43, 47, 51, 55, 59, 63, 67, 71, 75 }; + private static readonly int[] RequiredSpArray = { 24600, 32000, 41400, 53200, 68100, 87000, 111000, 142000, 181000, 266000 }; + private static readonly int[] RequiredMoneyArray = { 1990, 2380, 2780, 3180, 3580, 3980, 10980, 31980, 91980, 171980 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 800; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.2f *(49 + 5.6f * skill.GetLevel())); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 900; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.8f *(49 + 5.6f * skill.GetLevel())); + skill.SetPlus(1.9f * skill.GetLevel() * skill.GetLevel() + 135.2f * skill.GetLevel() + 931.4f); + skill.SetRatio(0); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill73Stub() : base(73) + { + cls = 0; + name = "追魂诀"; + nativename = "追魂诀"; + icon = "追魂诀.dds"; + max_level = 10; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 12; + attr = 1; + rank = 4; + eventflag = 0; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1122; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + restrict_weapons.Add(1); + effect = ""; + range = new Range(); + range.type = 0; +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill73Stub() { } + + public float GetMpcost(Skill skill) => (float)(49 + 5.6 * skill.GetLevel()); + public int GetExecutetime(Skill skill) => 900; + public int GetCoolingtime(Skill skill) => 6000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(9 + 0.3 * skill.GetLevel() + skill.GetPlayer().GetRange() - 3); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, + skill.GetLevel(), + 9 + skill.GetLevel() * 0.3, + 49 + 5.6 * skill.GetLevel(), + 1.9 * skill.GetLevel() * skill.GetLevel() + 135.2 * skill.GetLevel() + 931.4); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 18.1f + skill.GetPlayer().GetRange() - 3; + public int GetAttackspeed(Skill skill) => 3; + public float GetHitrate(Skill skill) => 1.5f + 0.1f * skill.GetLevel(); +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill73.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill73.cs.meta new file mode 100644 index 0000000000..a9e5f696c1 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill73.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 491214a7ccef1304ca171ed6fca89010 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill74.cs b/Assets/PerfectWorld/Scripts/Skills/skill74.cs new file mode 100644 index 0000000000..ca8593d9e3 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill74.cs @@ -0,0 +1,165 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill74 : Skill + { + public const int SKILL_ID = 74; + + public Skill74() : base(SKILL_ID) + { + } + } +#endif + + public class Skill74Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 49, 53, 57, 61, 65, 69, 73, 77, 81, 85 }; + private static readonly int[] RequiredSpArray = { 47000, 60200, 76900, 98300, 125000, 160000, 215000, 327000, 484000, 705000 }; + private static readonly int[] RequiredMoneyArray = { 2980, 3380, 3780, 6980, 14980, 51980, 131980, 251980, 451980, 771980 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.2f *(63 + 5.6f * skill.GetLevel())); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1700; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.8f *(63 + 5.6f * skill.GetLevel())); + skill.SetPlus(2.5f * skill.GetLevel() * skill.GetLevel() + 172.4f * skill.GetLevel() + 1442.9f); + skill.SetRatio(0.5f + 0.05f * skill.GetLevel()); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill74Stub() : base(74) + { + cls = 0; + name = "剑气纵横"; + nativename = "剑气纵横"; + icon = "剑气纵横.dds"; + max_level = 10; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 10; + attr = 1; + rank = 5; + eventflag = 0; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1123; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + restrict_weapons.Add(1); + effect = ""; + range = new Range(); + range.type = 0; +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill74Stub() { } + + public float GetMpcost(Skill skill) => (float)(63 + 5.6 * skill.GetLevel()); + public int GetExecutetime(Skill skill) => 1700; + public int GetCoolingtime(Skill skill) => 8000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => (float)(skill.GetPlayer().GetRange() + 3 + 0.3 * skill.GetLevel()); + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, + skill.GetLevel(), + 63 + 5.6 * skill.GetLevel(), + 50 + 5 * skill.GetLevel(), + 2.5 * skill.GetLevel() * skill.GetLevel() + 172.4 * skill.GetLevel() + 1442.9, + 12 + 0.6 * skill.GetLevel()); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) + { + return true; + } + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 19.7f; + public int GetAttackspeed(Skill skill) => 3; + public float GetHitrate(Skill skill) => 2 + 0.15f * skill.GetLevel(); +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill74.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill74.cs.meta new file mode 100644 index 0000000000..7571eaeb85 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill74.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: c3228185f85962f4282d21ad899dee92 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill75.cs b/Assets/PerfectWorld/Scripts/Skills/skill75.cs new file mode 100644 index 0000000000..d370a3aa2a --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill75.cs @@ -0,0 +1,166 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill75 : Skill + { + public const int SKILL_ID = 75; + + public Skill75() : base(SKILL_ID) + { + } + } +#endif + + public class Skill75Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 59, 62, 65, 68, 71, 74, 77, 80, 83, 86 }; + private static readonly int[] RequiredSpArray = { 87000, 104000, 125000, 151000, 181000, 239000, 327000, 440000, 586000, 773000 }; + private static readonly int[] RequiredMoneyArray = { 3980, 8980, 14980, 41980, 91980, 151980, 251980, 371980, 611980, 851980 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.2f *(156.8f + 8.4f * skill.GetLevel())); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 3000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.8f *(156.8f + 8.4f * skill.GetLevel())); + skill.SetPlus(3.9f * skill.GetLevel() * skill.GetLevel() + 246.7f * skill.GetLevel() + 3239.8f); + skill.SetRatio(1 + 0.1f * skill.GetLevel()); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill75Stub() : base(75) + { + cls = 0; + name = "万剑诀"; + nativename = "万剑诀"; + icon = "万剑诀.dds"; + max_level = 10; + type = 1; + apcost = 200; + arrowcost = 0; + apgain = 0; + attr = 1; + rank = 6; + eventflag = 0; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1124; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + restrict_weapons.Add(1); + effect = ""; + range = new Range(); + range.type = 0; +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill75Stub() { } + + public float GetMpcost(Skill skill) => (float)(156.8 + 8.4 * skill.GetLevel()); + public int GetExecutetime(Skill skill) => 3000; + public int GetCoolingtime(Skill skill) => 30000; + public float GetRadius(Skill skill) => (float)(8 + 0.4 * skill.GetLevel()); + public float GetAttackdistance(Skill skill) => (float)(skill.GetPlayer().GetRange() + 0.4 * skill.GetLevel()); + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(8 + skill.GetPlayer().GetRange() - 3); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, + skill.GetLevel(), + 156.8 + 8.4 * skill.GetLevel(), + 8 + 0.4 * skill.GetLevel(), + 100 + 10 * skill.GetLevel(), + 3.9 * skill.GetLevel() * skill.GetLevel() + 246.7 * skill.GetLevel() + 3239.8, + 30 + 2 * skill.GetLevel()); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 1000; + public bool StateAttack(Skill skill) + { + return true; + } + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 20.5f + skill.GetPlayer().GetRange() - 3; + public int GetAttackspeed(Skill skill) => 15; + public float GetHitrate(Skill skill) => 2.47f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill75.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill75.cs.meta new file mode 100644 index 0000000000..e27fcca694 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill75.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: ceb1eeafb50e14442aec8291f5e52bc5 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill76.cs b/Assets/PerfectWorld/Scripts/Skills/skill76.cs index 38bb80c9a2..2728e04603 100644 --- a/Assets/PerfectWorld/Scripts/Skills/skill76.cs +++ b/Assets/PerfectWorld/Scripts/Skills/skill76.cs @@ -1,4 +1,4 @@ -#define SKILL_CLIENT +#define SKILL_CLIENT using BrewMonster.Scripts.Skills; using System.Collections.Generic; using System.Text; @@ -21,56 +21,29 @@ namespace BrewMonster public class Skill76Stub : SkillStub { - // Static arrays for skill requirements private static readonly int[] RequiredLevelArray = { 9, 14, 19, 24, 29, 34, 39, 44, 49, 54 }; private static readonly int[] RequiredSpArray = { 700, 1680, 3220, 5390, 8260, 12110, 17220, 23940, 32900, 44800 }; private static readonly int[] RequiredMoneyArray = { 110, 250, 440, 680, 1090, 1540, 1990, 2480, 2980, 3480 }; + #if SKILL_SERVER public class State1 : SkillStub.State { - public int GetTime(Skill skill) - { - return 0; - } - - public bool Quit(Skill skill) - { - return false; - } - - public bool Loop(Skill skill) - { - return false; - } - - public bool Bypass(Skill skill) - { - return false; - } - + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; public void Calculate(Skill skill) { skill.GetPlayer().SetDecmp(10 + 5 * skill.GetLevel()); skill.GetPlayer().SetPerform(1); } - - public bool Interrupt(Skill skill) - { - return false; - } - - public bool Cancel(Skill skill) - { - return true; - } - - public bool Skip(Skill skill) - { - return false; - } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; } #endif + public Skill76Stub() : base(76) { cls = 0; @@ -98,86 +71,31 @@ namespace BrewMonster restrict_corpse = 0; allow_forms = 1; restrict_weapons.Add(0); - restrict_weapons.Add(1); - restrict_weapons.Add(182); - restrict_weapons.Add(5); - restrict_weapons.Add(292); - restrict_weapons.Add(9); - effect = "疾云步.sgc"; + effect = ""; range = new Range(); - range.type = 5; - doenchant = 1; - dobless = 0; - commoncooldown = 0; - commoncooldowntime = 0; - pre_skills = new Dictionary(); - pre_skills.Add(0, 1); + range.type = 0; #if SKILL_SERVER statestub.Add(new State1()); #endif } - ~Skill76Stub() - { - } + ~Skill76Stub() { } - public float GetMpcost(Skill skill) - { - return (float)(10 + 5 * skill.GetLevel()); - } - - public int GetExecutetime(Skill skill) - { - return 0; - } - - public int GetCoolingtime(Skill skill) - { - return 60000; - } - - public int GetRequiredLevel(Skill skill) - { - return RequiredLevelArray[skill.GetLevel() - 1]; - } - - public int GetRequiredSp(Skill skill) - { - return RequiredSpArray[skill.GetLevel() - 1]; - } - - public int GetRequiredMoney(Skill skill) - { - return RequiredMoneyArray[skill.GetLevel() - 1]; - } - - public float GetRadius(Skill skill) - { - return 0f; - } - - public float GetAttackdistance(Skill skill) - { - return 0f; - } - - public float GetAngle(Skill skill) - { - return (float)(1 - 0.0111111 * 0); - } - - public float GetPraydistance(Skill skill) - { - return 0f; - } + public float GetMpcost(Skill skill) => (float)(10 + 5 * skill.GetLevel()); + public int GetExecutetime(Skill skill) => 0; + public int GetCoolingtime(Skill skill) => 60000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; #if SKILL_CLIENT public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) { - string result = string.Format(format, - skill.GetLevel(), - 10 + 5 * skill.GetLevel(), - 40 + 5 * skill.GetLevel()); + string result = string.Format(format, skill.GetLevel(), 10 + 5 * skill.GetLevel(), 40 + 5 * skill.GetLevel()); if (result.Length < length) { buffer.Append(result); @@ -188,58 +106,16 @@ namespace BrewMonster #endif #if SKILL_SERVER - public int GetEnmity(Skill skill) - { - return 0; - } - + public int GetEnmity(Skill skill) => 0; public bool StateAttack(Skill skill) { - skill.GetVictim().SetProbability(1.0f * 100); - skill.GetVictim().SetTime(15000); - skill.GetVictim().SetRatio(0.4f + 0.05f * skill.GetLevel()); - skill.GetVictim().SetSpeedup(1); return true; } - - public bool TakeEffect(Skill skill) - { - return true; - } - - public float GetEffectdistance(Skill skill) - { - return 5f; - } - - public int GetAttackspeed(Skill skill) - { - return 0; - } - - public float GetHitrate(Skill skill) - { - return 0f; - } + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 5f; + public int GetAttackspeed(Skill skill) => 0; + public float GetHitrate(Skill skill) => 0f; #endif } } - - - - - - - - - - - - - - - - - - diff --git a/Assets/PerfectWorld/Scripts/Skills/skill77.cs b/Assets/PerfectWorld/Scripts/Skills/skill77.cs index 73c8afe241..37f40188b4 100644 --- a/Assets/PerfectWorld/Scripts/Skills/skill77.cs +++ b/Assets/PerfectWorld/Scripts/Skills/skill77.cs @@ -1,4 +1,4 @@ -#define SKILL_CLIENT +#define SKILL_CLIENT using BrewMonster.Scripts.Skills; using System.Collections.Generic; using System.Text; @@ -21,146 +21,63 @@ namespace BrewMonster public class Skill77Stub : SkillStub { - // Static arrays for skill requirements private static readonly int[] RequiredLevelArray = { 13, 18, 23, 28, 33, 38, 43, 48, 53, 58 }; private static readonly int[] RequiredSpArray = { 1680, 3280, 5600, 8720, 12880, 18400, 25600, 35280, 48160, 65440 }; private static readonly int[] RequiredMoneyArray = { 220, 400, 630, 1000, 1450, 1900, 2380, 2880, 3380, 3880 }; + #if SKILL_SERVER public class State1 : SkillStub.State { - public int GetTime(Skill skill) - { - return 600; - } - - public bool Quit(Skill skill) - { - return false; - } - - public bool Loop(Skill skill) - { - return false; - } - - public bool Bypass(Skill skill) - { - return false; - } - + public int GetTime(Skill skill) => 600; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; public void Calculate(Skill skill) { - skill.GetPlayer().SetDecmp(0.2f * (56 + 35 * skill.GetLevel())); + skill.GetPlayer().SetDecmp(0.2f *(56 + 35 * skill.GetLevel())); skill.GetPlayer().SetPray(1); } - - public bool Interrupt(Skill skill) - { - return false; - } - - public bool Cancel(Skill skill) - { - return true; - } - - public bool Skip(Skill skill) - { - return false; - } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; } #endif #if SKILL_SERVER public class State2 : SkillStub.State { - public int GetTime(Skill skill) - { - return 1800; - } - - public bool Quit(Skill skill) - { - return false; - } - - public bool Loop(Skill skill) - { - return false; - } - - public bool Bypass(Skill skill) - { - return false; - } - + public int GetTime(Skill skill) => 1800; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; public void Calculate(Skill skill) { - skill.GetPlayer().SetDecmp(0.8f * (56 + 35 * skill.GetLevel())); + skill.GetPlayer().SetDecmp(0.8f *(56 + 35 * skill.GetLevel())); skill.GetPlayer().SetPerform(1); } - - public bool Interrupt(Skill skill) - { - return false; - } - - public bool Cancel(Skill skill) - { - return false; - } - - public bool Skip(Skill skill) - { - return false; - } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; } #endif #if SKILL_SERVER public class State3 : SkillStub.State { - public int GetTime(Skill skill) - { - return 0; - } - - public bool Quit(Skill skill) - { - return false; - } - - public bool Loop(Skill skill) - { - return false; - } - - public bool Bypass(Skill skill) - { - return false; - } - + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; public void Calculate(Skill skill) - { - } - - public bool Interrupt(Skill skill) - { - return false; - } - - public bool Cancel(Skill skill) - { - return false; - } - - public bool Skip(Skill skill) - { - return false; + { } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; } #endif + public Skill77Stub() : base(77) { cls = 0; @@ -188,20 +105,9 @@ namespace BrewMonster restrict_corpse = 0; allow_forms = 1; restrict_weapons.Add(0); - restrict_weapons.Add(1); - restrict_weapons.Add(182); - restrict_weapons.Add(5); - restrict_weapons.Add(292); - restrict_weapons.Add(9); - effect = "金钟罩.sgc"; + effect = ""; range = new Range(); - range.type = 2; - doenchant = 1; - dobless = 0; - commoncooldown = 0; - commoncooldowntime = 0; - pre_skills = new Dictionary(); - pre_skills.Add(0, 1); + range.type = 0; #if SKILL_SERVER statestub.Add(new State1()); statestub.Add(new State2()); @@ -209,67 +115,23 @@ namespace BrewMonster #endif } - ~Skill77Stub() - { - } + ~Skill77Stub() { } - public float GetMpcost(Skill skill) - { - return (float)(56 + 35 * skill.GetLevel()); - } - - public int GetExecutetime(Skill skill) - { - return 1800; - } - - public int GetCoolingtime(Skill skill) - { - return 3000; - } - - public int GetRequiredLevel(Skill skill) - { - return RequiredLevelArray[skill.GetLevel() - 1]; - } - - public int GetRequiredSp(Skill skill) - { - return RequiredSpArray[skill.GetLevel() - 1]; - } - - public int GetRequiredMoney(Skill skill) - { - return RequiredMoneyArray[skill.GetLevel() - 1]; - } - - public float GetRadius(Skill skill) - { - return 16f; - } - - public float GetAttackdistance(Skill skill) - { - return 0f; - } - - public float GetAngle(Skill skill) - { - return (float)(1 - 0.0111111 * 0); - } - - public float GetPraydistance(Skill skill) - { - return 0f; - } + public float GetMpcost(Skill skill) => (float)(56 + 35 * skill.GetLevel()); + public int GetExecutetime(Skill skill) => 1800; + public int GetCoolingtime(Skill skill) => 3000; + public float GetRadius(Skill skill) => 16f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; #if SKILL_CLIENT public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) { - string result = string.Format(format, - skill.GetLevel(), - 56 + 35 * skill.GetLevel(), - 10 + 5 * skill.GetLevel()); + string result = string.Format(format, skill.GetLevel(), 56 + 35 * skill.GetLevel(), 10 + 5 * skill.GetLevel()); if (result.Length < length) { buffer.Append(result); @@ -280,38 +142,15 @@ namespace BrewMonster #endif #if SKILL_SERVER - public int GetEnmity(Skill skill) - { - return 0; - } - + public int GetEnmity(Skill skill) => 0; public bool StateAttack(Skill skill) { - skill.GetVictim().SetTime(1800000); - skill.GetVictim().SetRatio(0.1f + 0.05f * skill.GetLevel()); - skill.GetVictim().SetIronshield(1); return true; } - - public bool TakeEffect(Skill skill) - { - return true; - } - - public float GetEffectdistance(Skill skill) - { - return 5f; - } - - public int GetAttackspeed(Skill skill) - { - return 9; - } - - public float GetHitrate(Skill skill) - { - return 1.0f; - } + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 5f; + public int GetAttackspeed(Skill skill) => 9; + public float GetHitrate(Skill skill) => 1.0f; #endif } } diff --git a/Assets/PerfectWorld/Scripts/Skills/skill78.cs b/Assets/PerfectWorld/Scripts/Skills/skill78.cs new file mode 100644 index 0000000000..cba3d793c1 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill78.cs @@ -0,0 +1,102 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill78 : Skill + { + public const int SKILL_ID = 78; + + public Skill78() : base(SKILL_ID) + { + } + } +#endif + + public class Skill78Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 29, 34, 39, 44, 49, 54, 59, 64, 69, 74 }; + private static readonly int[] RequiredSpArray = { 11800, 17300, 24600, 34200, 47000, 64000, 87000, 118000, 160000, 239000 }; + private static readonly int[] RequiredMoneyArray = { 1090, 1540, 1990, 2480, 2980, 3480, 3980, 12980, 51980, 151980 }; + + + public Skill78Stub() : base(78) + { + cls = 0; + name = "长兵精通"; + nativename = "长兵精通"; + icon = "长兵精通.dds"; + max_level = 10; + type = 5; + apcost = 0; + arrowcost = 0; + apgain = 0; + attr = 0; + rank = 3; + eventflag = 2; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1135; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = ""; + doenchant = 0; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + effect = ""; + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(0, 1); + + } + + ~Skill78Stub() { } + + public float GetMpcost(Skill skill) => 0f; + public int GetExecutetime(Skill skill) => 0; + public int GetCoolingtime(Skill skill) => 0; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, skill.GetLevel(), 6 * skill.GetLevel()); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 0f; + public float GetHitrate(Skill skill) => 1.0f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill78.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill78.cs.meta new file mode 100644 index 0000000000..cd9492104c --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill78.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: f4bd49c533e253e4f8dc7eeb3e549f53 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill79.cs b/Assets/PerfectWorld/Scripts/Skills/skill79.cs new file mode 100644 index 0000000000..be49fda34b --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill79.cs @@ -0,0 +1,102 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill79 : Skill + { + public const int SKILL_ID = 79; + + public Skill79() : base(SKILL_ID) + { + } + } +#endif + + public class Skill79Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 29, 34, 39, 44, 49, 54, 59, 64, 69, 74 }; + private static readonly int[] RequiredSpArray = { 11800, 17300, 24600, 34200, 47000, 64000, 87000, 118000, 160000, 239000 }; + private static readonly int[] RequiredMoneyArray = { 1090, 1540, 1990, 2480, 2980, 3480, 3980, 12980, 51980, 151980 }; + + + public Skill79Stub() : base(79) + { + cls = 0; + name = "斧锤精通"; + nativename = "斧锤精通"; + icon = "斧锤精通.dds"; + max_level = 10; + type = 5; + apcost = 0; + arrowcost = 0; + apgain = 0; + attr = 0; + rank = 3; + eventflag = 2; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1136; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = ""; + doenchant = 0; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + effect = ""; + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(0, 1); + + } + + ~Skill79Stub() { } + + public float GetMpcost(Skill skill) => 0f; + public int GetExecutetime(Skill skill) => 0; + public int GetCoolingtime(Skill skill) => 0; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, skill.GetLevel(), 6 * skill.GetLevel()); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 0f; + public float GetHitrate(Skill skill) => 1.0f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill79.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill79.cs.meta new file mode 100644 index 0000000000..a6dc60ecab --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill79.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: f03d8c7d0a771b34ca4389ed3b2c3c96 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill8.cs b/Assets/PerfectWorld/Scripts/Skills/skill8.cs new file mode 100644 index 0000000000..49af30e73d --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill8.cs @@ -0,0 +1,162 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill8 : Skill + { + public const int SKILL_ID = 8; + + public Skill8() : base(SKILL_ID) + { + } + } +#endif + + public class Skill8Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 49, 53, 57, 61, 65, 69, 73, 77, 81, 85 }; + private static readonly int[] RequiredSpArray = { 47000, 60200, 76900, 98300, 125000, 160000, 215000, 327000, 484000, 705000 }; + private static readonly int[] RequiredMoneyArray = { 2980, 3380, 3780, 6980, 14980, 51980, 131980, 251980, 451980, 771980 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 5200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + float tmp1 = skill.GetPlayer().GetHp() *(1 - 0.6f * skill.GetCharging() /(5200 - 200 * skill.GetLevel())); + float tmp2 = skill.GetPlayer().GetHp() * 0.6f * skill.GetCharging() /(5200 - 200 * skill.GetLevel()); + skill.GetPlayer().SetDecmp(135 + 12 * skill.GetLevel()); + skill.GetPlayer().SetHp(tmp1); + skill.SetPlus(2000 + 200 * skill.GetLevel() + tmp2 *(2 + 0.2f * skill.GetLevel())); + skill.SetFiredamage(skill.GetPlus()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill8Stub() : base(8) + { + cls = 1; + name = "血祭炎爆"; + nativename = "血祭炎爆"; + icon = "血祭炎爆.dds"; + max_level = 10; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 20; + attr = 5; + rank = 5; + eventflag = 0; + posdouble = 0; + clslimit = 0; + time_type = 3; + showorder = 1207; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + restrict_weapons.Add(0); + effect = ""; + range = new Range(); + range.type = 0; +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill8Stub() { } + + public float GetMpcost(Skill skill) => (float)(135 + 12 * skill.GetLevel()); + public int GetExecutetime(Skill skill) => 1000; + public int GetCoolingtime(Skill skill) => 15000; + public float GetRadius(Skill skill) => 12f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 6f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, + skill.GetLevel(), + 135 + 12 * skill.GetLevel(), + 5.2 - 0.2 * skill.GetLevel(), + 2000 + 200 * skill.GetLevel(), + 2 + 0.2 * skill.GetLevel()); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 25f; + public int GetAttackspeed(Skill skill) => 5; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill8.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill8.cs.meta new file mode 100644 index 0000000000..f95369f5b8 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill8.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 34d7c5a1c1af87149b8e022ee2968a09 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill80.cs b/Assets/PerfectWorld/Scripts/Skills/skill80.cs new file mode 100644 index 0000000000..826138a71d --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill80.cs @@ -0,0 +1,102 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill80 : Skill + { + public const int SKILL_ID = 80; + + public Skill80() : base(SKILL_ID) + { + } + } +#endif + + public class Skill80Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 29, 34, 39, 44, 49, 54, 59, 64, 69, 74 }; + private static readonly int[] RequiredSpArray = { 11800, 17300, 24600, 34200, 47000, 64000, 87000, 118000, 160000, 239000 }; + private static readonly int[] RequiredMoneyArray = { 1090, 1540, 1990, 2480, 2980, 3480, 3980, 12980, 51980, 151980 }; + + + public Skill80Stub() : base(80) + { + cls = 0; + name = "拳术精通"; + nativename = "拳术精通"; + icon = "拳术精通.dds"; + max_level = 10; + type = 5; + apcost = 0; + arrowcost = 0; + apgain = 0; + attr = 0; + rank = 3; + eventflag = 2; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1137; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = ""; + doenchant = 0; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + effect = ""; + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(0, 1); + + } + + ~Skill80Stub() { } + + public float GetMpcost(Skill skill) => 0f; + public int GetExecutetime(Skill skill) => 0; + public int GetCoolingtime(Skill skill) => 0; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, skill.GetLevel(), 6 * skill.GetLevel()); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 0f; + public float GetHitrate(Skill skill) => 1.0f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill80.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill80.cs.meta new file mode 100644 index 0000000000..9973961a9d --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill80.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 2236abf8877978b4b972645d8516d12d \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill81.cs b/Assets/PerfectWorld/Scripts/Skills/skill81.cs new file mode 100644 index 0000000000..e0ecd06546 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill81.cs @@ -0,0 +1,168 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill81 : Skill + { + public const int SKILL_ID = 81; + + public Skill81() : base(SKILL_ID) + { + } + } +#endif + + public class Skill81Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 0, 5, 10, 15, 20, 25, 30, 35, 40, 45 }; + private static readonly int[] RequiredSpArray = { 0, 300, 1200, 2800, 5200, 8400, 12800, 18600, 26300, 36500 }; + private static readonly int[] RequiredMoneyArray = { 0, 30, 130, 280, 480, 730, 1180, 1630, 2080, 2580 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 1500; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.2f *(-9 + 15 * skill.GetLevel())); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 800; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.8f *(-9 + 15 * skill.GetLevel())); + skill.SetPlus(4.1f * skill.GetLevel() * skill.GetLevel() + 93.8f * skill.GetLevel() + 31.6f); + skill.SetRatio(0.5f + 0.05f * skill.GetLevel()); + skill.SetFiredamage(skill.GetMagicattack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill81Stub() : base(81) + { + cls = 1; + name = "烈火符"; + nativename = "烈火符"; + icon = "烈火符.dds"; + max_level = 10; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 15; + attr = 5; + rank = 0; + eventflag = 0; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1201; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "烈火符.sgc"; + doenchant = 0; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(292); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(0, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill81Stub() { } + + public float GetMpcost(Skill skill) => (float)(-9 + 15 * skill.GetLevel()); + public int GetExecutetime(Skill skill) => 800; + public int GetCoolingtime(Skill skill) => 3000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(19.5 + 0.9 * skill.GetLevel()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, + skill.GetLevel(), + 19.5 + 0.9 * skill.GetLevel(), + -9 + 15 * skill.GetLevel(), + 50 + 5 * skill.GetLevel(), + 4.1 * skill.GetLevel() * skill.GetLevel() + 93.8 * skill.GetLevel() + 31.6); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 25 + skill.GetLevel(); + public int GetAttackspeed(Skill skill) => 27; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill81.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill81.cs.meta new file mode 100644 index 0000000000..814ec414c3 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill81.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: ba68eb53355aed3408a35396e2967eba \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill84.cs b/Assets/PerfectWorld/Scripts/Skills/skill84.cs new file mode 100644 index 0000000000..a76fae0181 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill84.cs @@ -0,0 +1,170 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill84 : Skill + { + public const int SKILL_ID = 84; + + public Skill84() : base(SKILL_ID) + { + } + } +#endif + + public class Skill84Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 39, 43, 47, 51, 55, 59, 63, 67, 71, 75 }; + private static readonly int[] RequiredSpArray = { 24600, 32000, 41400, 53200, 68100, 87000, 111000, 142000, 181000, 266000 }; + private static readonly int[] RequiredMoneyArray = { 1990, 2380, 2780, 3180, 3580, 3980, 10980, 31980, 91980, 171980 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.2f *(157.5f + 18 * skill.GetLevel())); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.8f *(157.5f + 18 * skill.GetLevel())); + skill.SetPlus(3.1f * skill.GetLevel() * skill.GetLevel() + 187.9f * skill.GetLevel() + 1345.5f); + skill.SetRatio(0.5f + 0.05f * skill.GetLevel()); + skill.SetFiredamage(skill.GetMagicattack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill84Stub() : base(84) + { + cls = 1; + name = "烈火炽翼"; + nativename = "烈火炽翼"; + icon = "烈火炽翼.dds"; + max_level = 10; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 15; + attr = 5; + rank = 4; + eventflag = 0; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1206; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "炎索.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(292); + restrict_weapons.Add(0); + range = new Range(); + range.type = 1; + pre_skills = new Dictionary(); + pre_skills.Add(86, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill84Stub() { } + + public float GetMpcost(Skill skill) => (float)(157.5 + 18 * skill.GetLevel()); + public int GetExecutetime(Skill skill) => 1000; + public int GetCoolingtime(Skill skill) => 8000; + public float GetRadius(Skill skill) => (float)(3 + 0.2 * skill.GetLevel()); + public float GetAttackdistance(Skill skill) => (float)(13 + 0.5 * skill.GetLevel()); + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 10f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, + skill.GetLevel(), + 157.5 + 18 * skill.GetLevel(), + 13 + 0.5 * skill.GetLevel(), + 12 + 0.6 * skill.GetLevel(), + 50 + 5 * skill.GetLevel(), + 3.1 * skill.GetLevel() * skill.GetLevel() + 187.9 * skill.GetLevel() + 1345.5); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 20f; + public int GetAttackspeed(Skill skill) => 7; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill84.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill84.cs.meta new file mode 100644 index 0000000000..efccbdc861 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill84.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 8d0df6f9d27df8f4ca195eea296404cc \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill85.cs b/Assets/PerfectWorld/Scripts/Skills/skill85.cs new file mode 100644 index 0000000000..1249c4a80e --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill85.cs @@ -0,0 +1,168 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill85 : Skill + { + public const int SKILL_ID = 85; + + public Skill85() : base(SKILL_ID) + { + } + } +#endif + + public class Skill85Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 19, 24, 29, 34, 39, 44, 49, 54, 59, 64 }; + private static readonly int[] RequiredSpArray = { 4600, 7700, 11800, 17300, 24600, 34200, 47000, 64000, 87000, 118000 }; + private static readonly int[] RequiredMoneyArray = { 440, 680, 1090, 1540, 1990, 2480, 2980, 3480, 3980, 12980 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 3000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.2f *(50.4f + 25 * skill.GetLevel())); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.8f *(50.4f + 25 * skill.GetLevel())); + skill.SetPlus(6.4f * skill.GetLevel() * skill.GetLevel() + 182 * skill.GetLevel() + 534.7f); + skill.SetRatio(1.5f + 0.15f * skill.GetLevel()); + skill.SetFiredamage(skill.GetMagicattack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill85Stub() : base(85) + { + cls = 1; + name = "神火符"; + nativename = "神火符"; + icon = "神火符.dds"; + max_level = 10; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 20; + attr = 5; + rank = 2; + eventflag = 0; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1204; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "神火符.sgc"; + doenchant = 0; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(292); + restrict_weapons.Add(0); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(7, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill85Stub() { } + + public float GetMpcost(Skill skill) => (float)(50.4 + 25 * skill.GetLevel()); + public int GetExecutetime(Skill skill) => 1000; + public int GetCoolingtime(Skill skill) => 3000; + public float GetRadius(Skill skill) => (float)(7 + 0.5 * skill.GetLevel()); + public float GetAttackdistance(Skill skill) => (float)(4 + 0.3 * skill.GetLevel()); + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(19.5 + 0.9 * skill.GetLevel()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, + skill.GetLevel(), + 19.5 + 0.9 * skill.GetLevel(), + 50.4 + 25 * skill.GetLevel(), + 150 + 15 * skill.GetLevel(), + 6.4 * skill.GetLevel() * skill.GetLevel() + 182 * skill.GetLevel() + 534.7); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 25 + skill.GetLevel(); + public int GetAttackspeed(Skill skill) => 29; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill85.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill85.cs.meta new file mode 100644 index 0000000000..a1ebfde490 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill85.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 7b7a8bf5420fbef4b967cc1ad340c9e9 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill86.cs b/Assets/PerfectWorld/Scripts/Skills/skill86.cs new file mode 100644 index 0000000000..3b4981b9fc --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill86.cs @@ -0,0 +1,185 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill86 : Skill + { + public const int SKILL_ID = 86; + + public Skill86() : base(SKILL_ID) + { + } + } +#endif + + public class Skill86Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 29, 34, 39, 44, 49, 54, 59, 64, 69, 74 }; + private static readonly int[] RequiredSpArray = { 11800, 17300, 24600, 34200, 47000, 64000, 87000, 118000, 160000, 239000 }; + private static readonly int[] RequiredMoneyArray = { 1090, 1540, 1990, 2480, 2980, 3480, 3980, 12980, 51980, 151980 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetPerform(2); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 2800; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(100 + 20 * skill.GetLevel()); + skill.SetPlus(8.2f * skill.GetLevel() * skill.GetLevel() + 256 * skill.GetLevel() + 1078.2f); + skill.SetRatio(0); + skill.SetFiredamage(skill.GetMagicattack()); + skill.GetPlayer().SetCombat(1); + skill.GetPlayer().SetPerform(0); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State4 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill86Stub() : base(86) + { + cls = 1; + name = "炙炎阵"; + nativename = "炙炎阵"; + icon = "炙炎阵.dds"; + max_level = 10; + type = 1; + apcost = 100; + arrowcost = 0; + apgain = 0; + attr = 5; + rank = 3; + eventflag = 0; + posdouble = 0; + clslimit = 0; + time_type = 2; + showorder = 1205; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "炙炎阵.sgc"; + doenchant = 0; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(292); + restrict_weapons.Add(0); + range = new Range(); + range.type = 2; + pre_skills = new Dictionary(); + pre_skills.Add(85, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); + statestub.Add(new State4()); +#endif + } + + ~Skill86Stub() { } + + public float GetMpcost(Skill skill) => (float)(100 + 20 * skill.GetLevel()); + public int GetExecutetime(Skill skill) => -1; + public int GetCoolingtime(Skill skill) => 15000; + public float GetRadius(Skill skill) => 12f; + public float GetAttackdistance(Skill skill) => (float)(4 + 0.3 * skill.GetLevel()); + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 6f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, + skill.GetLevel(), + 100 + 20 * skill.GetLevel(), + 100 + 20 * skill.GetLevel(), + 8.2 * skill.GetLevel() * skill.GetLevel() + 256 * skill.GetLevel() + 1078.2); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 1000; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 25f; + public int GetAttackspeed(Skill skill) => 30; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill86.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill86.cs.meta new file mode 100644 index 0000000000..c02c66c309 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill86.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 500d634f865a6c748be849f61855d3f3 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill87.cs b/Assets/PerfectWorld/Scripts/Skills/skill87.cs new file mode 100644 index 0000000000..2a40ceaa74 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill87.cs @@ -0,0 +1,172 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill87 : Skill + { + public const int SKILL_ID = 87; + + public Skill87() : base(SKILL_ID) + { + } + } +#endif + + public class Skill87Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 59, 62, 65, 68, 71, 74, 77, 80, 83, 86 }; + private static readonly int[] RequiredSpArray = { 87000, 104000, 125000, 151000, 181000, 239000, 327000, 440000, 586000, 773000 }; + private static readonly int[] RequiredMoneyArray = { 3980, 8980, 14980, 41980, 91980, 151980, 251980, 371980, 611980, 851980 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 4000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.2f *(336 + 18 * skill.GetLevel())); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1800; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.8f *(336 + 18 * skill.GetLevel())); + skill.SetPlus(2.5f * skill.GetLevel() * skill.GetLevel() + 156 * skill.GetLevel() + 2050.4f); + skill.SetRatio(1 + 0.1f * skill.GetLevel()); + skill.SetFiredamage(skill.GetMagicattack()); + skill.SetPlus(2.5f * skill.GetLevel() * skill.GetLevel() + 156 * skill.GetLevel() + 2050.4f); + skill.SetRatio(1 + 0.1f * skill.GetLevel()); + skill.SetDamage(skill.GetMagicattack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill87Stub() : base(87) + { + cls = 1; + name = "火海刀山"; + nativename = "火海刀山"; + icon = "火海刀山.dds"; + max_level = 10; + type = 1; + apcost = 200; + arrowcost = 0; + apgain = 0; + attr = 5; + rank = 6; + eventflag = 0; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1208; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "火海刀山.sgc"; + doenchant = 0; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(292); + restrict_weapons.Add(0); + range = new Range(); + range.type = 3; + pre_skills = new Dictionary(); + pre_skills.Add(8, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill87Stub() { } + + public float GetMpcost(Skill skill) => (float)(336 + 18 * skill.GetLevel()); + public int GetExecutetime(Skill skill) => 1800; + public int GetCoolingtime(Skill skill) => 30000; + public float GetRadius(Skill skill) => (float)(8 + 0.4 * skill.GetLevel()); + public float GetAttackdistance(Skill skill) => (float)(4 + 0.3 * skill.GetLevel()); + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(19.5 + 0.9 * skill.GetLevel()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, + skill.GetLevel(), + 19.5 + 0.9 * skill.GetLevel(), + 336 + 18 * skill.GetLevel(), + 8 + 0.4 * skill.GetLevel(), + 100 + 10 * skill.GetLevel(), + 2.5 * skill.GetLevel() * skill.GetLevel() + 156 * skill.GetLevel() + 2050.4); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 1000; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 25 + skill.GetLevel(); + public int GetAttackspeed(Skill skill) => 11; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill87.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill87.cs.meta new file mode 100644 index 0000000000..208a4a0a6d --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill87.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: ddd831c521d215249adb87013380c471 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill88.cs b/Assets/PerfectWorld/Scripts/Skills/skill88.cs new file mode 100644 index 0000000000..8fae35c5f4 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill88.cs @@ -0,0 +1,171 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill88 : Skill + { + public const int SKILL_ID = 88; + + public Skill88() : base(SKILL_ID) + { + } + } +#endif + + public class Skill88Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 3, 8, 13, 18, 23, 28, 33, 38, 43, 48 }; + private static readonly int[] RequiredSpArray = { 100, 800, 2100, 4100, 7000, 10900, 16100, 23000, 32000, 44100 }; + private static readonly int[] RequiredMoneyArray = { 10, 90, 220, 400, 630, 1000, 1450, 1900, 2380, 2880 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.2f *(-6 + 15 * skill.GetLevel())); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.8f *(-6 + 15 * skill.GetLevel())); + skill.SetPlus(3.7f * skill.GetLevel() * skill.GetLevel() + 92.5f * skill.GetLevel() + 77.6f); + skill.SetRatio(0.5f + 0.05f * skill.GetLevel()); + skill.SetWaterdamage(skill.GetMagicattack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill88Stub() : base(88) + { + cls = 1; + name = "涌泉"; + nativename = "涌泉"; + icon = "涌泉.dds"; + max_level = 10; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 10; + attr = 4; + rank = 0; + eventflag = 0; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1209; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "涌泉.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(292); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(0, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill88Stub() { } + + public float GetMpcost(Skill skill) => (float)(-6 + 15 * skill.GetLevel()); + public int GetExecutetime(Skill skill) => 1000; + public int GetCoolingtime(Skill skill) => 3000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(19.5 + 0.9 * skill.GetLevel()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, + skill.GetLevel(), + 19.5 + 0.9 * skill.GetLevel(), + -6 + 15 * skill.GetLevel(), + 50 + 5 * skill.GetLevel(), + 3.7 * skill.GetLevel() * skill.GetLevel() + 92.5 * skill.GetLevel() + 77.6, + 62 + 3 * skill.GetLevel(), + 5 + 0.3 * skill.GetLevel()); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 25 + skill.GetLevel(); + public int GetAttackspeed(Skill skill) => 12; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill88.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill88.cs.meta new file mode 100644 index 0000000000..37b134f9bd --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill88.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 621bf17587d2b2842b770a24355e4892 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill89.cs b/Assets/PerfectWorld/Scripts/Skills/skill89.cs new file mode 100644 index 0000000000..6b91169e27 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill89.cs @@ -0,0 +1,128 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill89 : Skill + { + public const int SKILL_ID = 89; + + public Skill89() : base(SKILL_ID) + { + } + } +#endif + + public class Skill89Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 29, 34, 39, 44, 49, 54, 59, 64, 69, 74 }; + private static readonly int[] RequiredSpArray = { 9440, 13840, 19680, 27360, 37600, 51200, 69600, 94400, 128000, 191200 }; + private static readonly int[] RequiredMoneyArray = { 1090, 1540, 1990, 2480, 2980, 3480, 3980, 12980, 51980, 151980 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(100); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill89Stub() : base(89) + { + cls = 1; + name = "润泽"; + nativename = "润泽"; + icon = "润泽.dds"; + max_level = 10; + type = 2; + apcost = 100; + arrowcost = 0; + apgain = 0; + attr = 0; + rank = 3; + eventflag = 1; + posdouble = 0; + clslimit = 0; + time_type = 1; + showorder = 1213; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "润泽.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(292); + restrict_weapons.Add(0); + range = new Range(); + range.type = 5; + pre_skills = new Dictionary(); + pre_skills.Add(0, 1); +#if SKILL_SERVER + statestub.Add(new State1()); +#endif + } + + ~Skill89Stub() { } + + public float GetMpcost(Skill skill) => 100f; + public int GetExecutetime(Skill skill) => 0; + public int GetCoolingtime(Skill skill) => 3000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, + skill.GetLevel(), + 10 + 2 * skill.GetLevel(), + 10 + 5 * skill.GetLevel()); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 30f; + public int GetAttackspeed(Skill skill) => 0; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill89.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill89.cs.meta new file mode 100644 index 0000000000..9e647d1507 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill89.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 7f51ad1b1029c814aa97e6efea9c8b35 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill896.cs b/Assets/PerfectWorld/Scripts/Skills/skill896.cs new file mode 100644 index 0000000000..f0923ebce7 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill896.cs @@ -0,0 +1,131 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill896 : Skill + { + public const int SKILL_ID = 896; + + public Skill896() : base(SKILL_ID) + { + } + } +#endif + + public class Skill896Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 79 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 19769 }; + private static readonly int[] RequiredMoneyArray = { 0 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(200); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill896Stub() : base(896) + { + cls = 0; + name = "狂龙之力"; + nativename = "狂龙之力"; + icon = "狂龙之力.dds"; + max_level = 1; + type = 2; + apcost = 100; + arrowcost = 0; + apgain = 0; + attr = 1; + rank = 8; + eventflag = 0; + clslimit = 0; + time_type = 1; + showorder = 2151; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "狂龙之力.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(182); + restrict_weapons.Add(1); + restrict_weapons.Add(5); + restrict_weapons.Add(9); + restrict_weapons.Add(13); + restrict_weapons.Add(291); + restrict_weapons.Add(292); + restrict_weapons.Add(0); + range = new Range(); + range.type = 5; + pre_skills = new Dictionary(); + pre_skills.Add(0, 1); +#if SKILL_SERVER + statestub.Add(new State1()); +#endif + } + + ~Skill896Stub() { } + + public float GetMpcost(Skill skill) => 200f; + public int GetExecutetime(Skill skill) => 0; + public int GetCoolingtime(Skill skill) => 300000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 200); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 13.3f; + public float GetHitrate(Skill skill) => 1.0f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill896.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill896.cs.meta new file mode 100644 index 0000000000..e0bb61fcc9 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill896.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: df50f78fc32c1c44ab674cf57cf3edb9 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill897.cs b/Assets/PerfectWorld/Scripts/Skills/skill897.cs new file mode 100644 index 0000000000..0f890e5de6 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill897.cs @@ -0,0 +1,163 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill897 : Skill + { + public const int SKILL_ID = 897; + + public Skill897() : base(SKILL_ID) + { + } + } +#endif + + public class Skill897Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 79 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 19770 }; + private static readonly int[] RequiredMoneyArray = { 0 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 400; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(20); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1500; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(180); + skill.SetDamage(skill.GetAttack() * 26 / 10); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill897Stub() : base(897) + { + cls = 0; + name = "雷霆震击"; + nativename = "雷霆震击"; + icon = "雷霆震击.dds"; + max_level = 1; + type = 1; + apcost = 100; + arrowcost = 0; + apgain = 0; + attr = 1; + rank = 8; + eventflag = 0; + clslimit = 0; + time_type = 0; + showorder = 2152; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "雷霆震击.sgc"; + doenchant = 1; + dobless = 1; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(182); + range = new Range(); + range.type = 2; + pre_skills = new Dictionary(); + pre_skills.Add(0, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill897Stub() { } + + public float GetMpcost(Skill skill) => 200f; + public int GetExecutetime(Skill skill) => 1500; + public int GetCoolingtime(Skill skill) => 120000; + public float GetRadius(Skill skill) => 15f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 12f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 200); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool BlessMe(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 19.7f; + public int GetAttackspeed(Skill skill) => 24; + public float GetHitrate(Skill skill) => 3f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill897.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill897.cs.meta new file mode 100644 index 0000000000..55ff80b649 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill897.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 4ca91919748a0c34c8ed48c2e1c52d43 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill898.cs b/Assets/PerfectWorld/Scripts/Skills/skill898.cs new file mode 100644 index 0000000000..68b6166261 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill898.cs @@ -0,0 +1,172 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill898 : Skill + { + public const int SKILL_ID = 898; + + public Skill898() : base(SKILL_ID) + { + } + } +#endif + + public class Skill898Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 79 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 19771 }; + private static readonly int[] RequiredMoneyArray = { 0 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(20); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1700; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(180); + skill.SetPlus(5135); + skill.SetRatio(1); + skill.SetDamage(skill.GetAttack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill898Stub() : base(898) + { + cls = 0; + name = "断空"; + nativename = "断空"; + icon = "剑啸长空.dds"; + max_level = 1; + type = 1; + apcost = 15; + arrowcost = 0; + apgain = 0; + attr = 7; + rank = 8; + eventflag = 0; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 2153; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = true; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "无影.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(1); + restrict_weapons.Add(0); + restrict_weapons.Add(5); + restrict_weapons.Add(9); + restrict_weapons.Add(13); + restrict_weapons.Add(182); + restrict_weapons.Add(291); + restrict_weapons.Add(292); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(0, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill898Stub() { } + + public float GetMpcost(Skill skill) => 200f; + public int GetExecutetime(Skill skill) => 1700; + public int GetCoolingtime(Skill skill) => 30000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => (float)(skill.GetPlayer().GetRange() + 3 + 0.3 * skill.GetLevel()); + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 18f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 200); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 25f; + public int GetAttackspeed(Skill skill) => 22; + public float GetHitrate(Skill skill) => 5f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill898.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill898.cs.meta new file mode 100644 index 0000000000..0d31cb80d7 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill898.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: ec515699512d02c4a9ed9a5a16c5695a \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill899.cs b/Assets/PerfectWorld/Scripts/Skills/skill899.cs new file mode 100644 index 0000000000..ee6eb080de --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill899.cs @@ -0,0 +1,166 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill899 : Skill + { + public const int SKILL_ID = 899; + + public Skill899() : base(SKILL_ID) + { + } + } +#endif + + public class Skill899Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 100 }; + private static readonly int[] RequiredSpArray = { 4000000 }; + private static readonly int[] RequiredItemArray = { 19772 }; + private static readonly int[] RequiredMoneyArray = { 3000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(50); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1500; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(450); + skill.SetRatio(2); + skill.SetDamage(skill.GetAttack() * 1.5f); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill899Stub() : base(899) + { + cls = 0; + name = "一闪"; + nativename = "一闪"; + icon = "一闪.dds"; + max_level = 1; + type = 1; + apcost = 100; + arrowcost = 0; + apgain = 0; + attr = 7; + rank = 22; + eventflag = 0; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 2154; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "一闪.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(1); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(0, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill899Stub() { } + + public float GetMpcost(Skill skill) => 500f; + public int GetExecutetime(Skill skill) => 1500; + public int GetCoolingtime(Skill skill) => 120000; + public float GetRadius(Skill skill) => 12f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 *(60 + 2.5 * skill.GetLevel())); + public float GetPraydistance(Skill skill) => 5f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 500); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 30f; + public int GetAttackspeed(Skill skill) => 16; + public float GetHitrate(Skill skill) => 5f; + public float GetTalent0(Skill skill) => 100 * player.GetHp (; + public float GetTalent1(Skill skill) => 2 * player.GetMaxhp (; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill899.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill899.cs.meta new file mode 100644 index 0000000000..64cb132610 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill899.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 7ada95101408f8e4d8662712d37aba62 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill9.cs b/Assets/PerfectWorld/Scripts/Skills/skill9.cs new file mode 100644 index 0000000000..2994ef13d4 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill9.cs @@ -0,0 +1,101 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill9 : Skill + { + public const int SKILL_ID = 9; + + public Skill9() : base(SKILL_ID) + { + } + } +#endif + + public class Skill9Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 29, 34, 39, 44, 49, 54, 59, 64, 69, 74 }; + private static readonly int[] RequiredSpArray = { 11800, 17300, 24600, 34200, 47000, 64000, 87000, 118000, 160000, 217000 }; + private static readonly int[] RequiredMoneyArray = { 1090, 1540, 1990, 2480, 2980, 3480, 3980, 12980, 51980, 151980 }; + + + public Skill9Stub() : base(9) + { + cls = 1; + name = "水精通"; + nativename = "水精通"; + icon = "水精通.dds"; + max_level = 10; + type = 5; + apcost = 0; + arrowcost = 0; + apgain = 0; + attr = 0; + rank = 3; + eventflag = 1; + posdouble = 0; + time_type = 0; + showorder = 1226; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 0; + effect = ""; + doenchant = 0; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + effect = ""; + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(0, 1); + + } + + ~Skill9Stub() { } + + public float GetMpcost(Skill skill) => 0f; + public int GetExecutetime(Skill skill) => 0; + public int GetCoolingtime(Skill skill) => 0; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, skill.GetLevel(), 2 * skill.GetLevel()); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 0f; + public float GetHitrate(Skill skill) => 1.0f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill9.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill9.cs.meta new file mode 100644 index 0000000000..f0434661c3 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill9.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: a501d69d7def89641859c79e8932e266 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill90.cs b/Assets/PerfectWorld/Scripts/Skills/skill90.cs new file mode 100644 index 0000000000..12fe2f12b7 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill90.cs @@ -0,0 +1,166 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill90 : Skill + { + public const int SKILL_ID = 90; + + public Skill90() : base(SKILL_ID) + { + } + } +#endif + + public class Skill90Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 24, 29, 34, 39, 44, 49, 54, 59, 64, 69 }; + private static readonly int[] RequiredSpArray = { 6160, 9440, 13840, 19680, 27360, 37600, 51200, 69600, 94400, 128000 }; + private static readonly int[] RequiredMoneyArray = { 680, 1090, 1540, 1990, 2480, 2980, 3480, 3980, 12980, 51980 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 4500; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.2f *(142.5f + 37.5f * skill.GetLevel())); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.8f *(142.5f + 37.5f * skill.GetLevel())); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill90Stub() : base(90) + { + cls = 1; + name = "寒露"; + nativename = "寒露"; + icon = "寒霜.dds"; + max_level = 10; + type = 2; + apcost = 0; + arrowcost = 0; + apgain = 15; + attr = 0; + rank = 2; + eventflag = 0; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1212; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "寒露.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(292); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(180, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill90Stub() { } + + public float GetMpcost(Skill skill) => (float)(142.5 + 37.5 * skill.GetLevel()); + public int GetExecutetime(Skill skill) => 1200; + public int GetCoolingtime(Skill skill) => 1000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(19.5 + 0.9 * skill.GetLevel()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, + skill.GetLevel(), + 19.5 + 0.9 * skill.GetLevel(), + 142.5 + 37.5 * skill.GetLevel(), + 300 + 70 * skill.GetLevel(), + 5 + 3 * skill.GetLevel()); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 300; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 25 + skill.GetLevel(); + public int GetAttackspeed(Skill skill) => 4; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill90.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill90.cs.meta new file mode 100644 index 0000000000..dc311b726d --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill90.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: a78855f6504032e43bb0584202427ade \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill900.cs b/Assets/PerfectWorld/Scripts/Skills/skill900.cs new file mode 100644 index 0000000000..0f11be0a9c --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill900.cs @@ -0,0 +1,167 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill900 : Skill + { + public const int SKILL_ID = 900; + + public Skill900() : base(SKILL_ID) + { + } + } +#endif + + public class Skill900Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 100 }; + private static readonly int[] RequiredSpArray = { 4000000 }; + private static readonly int[] RequiredItemArray = { 19773 }; + private static readonly int[] RequiredMoneyArray = { 3000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 600; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(100); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1800; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(300); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill900Stub() : base(900) + { + cls = 0; + name = "金刚气"; + nativename = "金刚气"; + icon = "金刚气.dds"; + max_level = 1; + type = 2; + apcost = 0; + arrowcost = 0; + apgain = 0; + attr = 1; + rank = 22; + eventflag = 0; + clslimit = 0; + time_type = 0; + showorder = 2155; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "1风卷残云.sgc.sgc"; + doenchant = 1; + dobless = 1; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(1); + restrict_weapons.Add(182); + restrict_weapons.Add(5); + restrict_weapons.Add(292); + restrict_weapons.Add(9); + range = new Range(); + range.type = 2; + pre_skills = new Dictionary(); + pre_skills.Add(0, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill900Stub() { } + + public float GetMpcost(Skill skill) => 400f; + public int GetExecutetime(Skill skill) => 1800; + public int GetCoolingtime(Skill skill) => 600000; + public float GetRadius(Skill skill) => 16f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 400); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool BlessMe(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 5f; + public int GetAttackspeed(Skill skill) => 9; + public float GetHitrate(Skill skill) => 1.0f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill900.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill900.cs.meta new file mode 100644 index 0000000000..3240501148 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill900.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 9ae00aac82f658945928b0d22daa4da2 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill901.cs b/Assets/PerfectWorld/Scripts/Skills/skill901.cs new file mode 100644 index 0000000000..d2014f1ddc --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill901.cs @@ -0,0 +1,148 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill901 : Skill + { + public const int SKILL_ID = 901; + + public Skill901() : base(SKILL_ID) + { + } + } +#endif + + public class Skill901Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 100 }; + private static readonly int[] RequiredSpArray = { 4000000 }; + private static readonly int[] RequiredItemArray = { 19774 }; + private static readonly int[] RequiredMoneyArray = { 3000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 800; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(1000); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill901Stub() : base(901) + { + cls = 1; + name = "气贯长虹"; + nativename = "气贯长虹"; + icon = "气贯长虹.dds"; + max_level = 1; + type = 2; + apcost = 100; + arrowcost = 0; + apgain = 0; + attr = 4; + rank = 22; + eventflag = 0; + clslimit = 0; + time_type = 0; + showorder = 2251; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "气惯长虹.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(292); + range = new Range(); + range.type = 5; + pre_skills = new Dictionary(); + pre_skills.Add(0, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill901Stub() { } + + public float GetMpcost(Skill skill) => 1000f; + public int GetExecutetime(Skill skill) => 1000; + public int GetCoolingtime(Skill skill) => 300000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 25 + skill.GetLevel(); + public int GetAttackspeed(Skill skill) => 8; + public float GetHitrate(Skill skill) => 1.0f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill901.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill901.cs.meta new file mode 100644 index 0000000000..01adeaf6fd --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill901.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 96e9cd05e73ac0643888e1036b4d4da7 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill902.cs b/Assets/PerfectWorld/Scripts/Skills/skill902.cs new file mode 100644 index 0000000000..c5b63f980d --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill902.cs @@ -0,0 +1,165 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill902 : Skill + { + public const int SKILL_ID = 902; + + public Skill902() : base(SKILL_ID) + { + } + } +#endif + + public class Skill902Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 79 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 19775 }; + private static readonly int[] RequiredMoneyArray = { 0 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(100); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 500; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(500); + skill.SetPlus(0); + skill.SetRatio(0); + skill.SetEarthdamage(skill.GetMagicattack() * 2 / 10); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill902Stub() : base(902) + { + cls = 1; + name = "土灵击"; + nativename = "土灵击"; + icon = "土灵击.dds"; + max_level = 1; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 0; + attr = 6; + rank = 8; + eventflag = 0; + clslimit = 0; + time_type = 0; + showorder = 2252; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "地缚.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(292); + restrict_weapons.Add(0); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(0, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill902Stub() { } + + public float GetMpcost(Skill skill) => 600f; + public int GetExecutetime(Skill skill) => 1000; + public int GetCoolingtime(Skill skill) => 1000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 27f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 27, 600); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 32f; + public int GetAttackspeed(Skill skill) => 7; + public float GetHitrate(Skill skill) => 3f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill902.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill902.cs.meta new file mode 100644 index 0000000000..7ddb032c61 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill902.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: a2342efd0494af0438caf6760e89d5aa \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill903.cs b/Assets/PerfectWorld/Scripts/Skills/skill903.cs new file mode 100644 index 0000000000..6aeeff974a --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill903.cs @@ -0,0 +1,125 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill903 : Skill + { + public const int SKILL_ID = 903; + + public Skill903() : base(SKILL_ID) + { + } + } +#endif + + public class Skill903Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 79 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 19776 }; + private static readonly int[] RequiredMoneyArray = { 0 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(600); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill903Stub() : base(903) + { + cls = 1; + name = "摄魂之力"; + nativename = "摄魂之力"; + icon = "摄魂之力.dds"; + max_level = 1; + type = 3; + apcost = 20; + arrowcost = 0; + apgain = 0; + attr = 6; + rank = 8; + eventflag = 0; + clslimit = 0; + time_type = 1; + showorder = 2253; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "疲惫.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(292); + restrict_weapons.Add(0); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(0, 1); +#if SKILL_SERVER + statestub.Add(new State1()); +#endif + } + + ~Skill903Stub() { } + + public float GetMpcost(Skill skill) => 600f; + public int GetExecutetime(Skill skill) => 0; + public int GetCoolingtime(Skill skill) => 120000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 20f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 20, 600, 2); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 100; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 25f; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill903.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill903.cs.meta new file mode 100644 index 0000000000..15279aef46 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill903.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 54a4171397170b3439549bf20ae4de71 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill904.cs b/Assets/PerfectWorld/Scripts/Skills/skill904.cs new file mode 100644 index 0000000000..2c41416dfb --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill904.cs @@ -0,0 +1,113 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill904 : Skill + { + public const int SKILL_ID = 904; + + public Skill904() : base(SKILL_ID) + { + } + } +#endif + + public class Skill904Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 79 }; + private static readonly int[] RequiredSpArray = { 1000000 }; + private static readonly int[] RequiredItemArray = { 19777 }; + private static readonly int[] RequiredMoneyArray = { 0 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(200); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill904Stub() : base(904) + { + cls = 1; + name = "真元护体"; + nativename = "真元护体"; + icon = "真元护体.dds"; + max_level = 1; + type = 2; + apcost = 0; + arrowcost = 0; + apgain = 15; + attr = 6; + rank = 8; + eventflag = 1; + clslimit = 0; + time_type = 1; + showorder = 2254; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "五行之护.sgc"; + doenchant = 1; + dobless = 1; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(292); + restrict_weapons.Add(0); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(0, 1); +#if SKILL_SERVER + statestub.Add(new State1()); +#endif + } + + ~Skill904Stub() { } + + public float GetMpcost(Skill skill) => 200f; + public int GetExecutetime(Skill skill) => 0; + public int GetCoolingtime(Skill skill) => 30000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 30f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool BlessMe(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 33f; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill904.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill904.cs.meta new file mode 100644 index 0000000000..26ae7c7099 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill904.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 414e047b37b35334982d9084f605aea1 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill905.cs b/Assets/PerfectWorld/Scripts/Skills/skill905.cs new file mode 100644 index 0000000000..75c623eb08 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill905.cs @@ -0,0 +1,165 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill905 : Skill + { + public const int SKILL_ID = 905; + + public Skill905() : base(SKILL_ID) + { + } + } +#endif + + public class Skill905Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 100 }; + private static readonly int[] RequiredSpArray = { 4000000 }; + private static readonly int[] RequiredItemArray = { 19778 }; + private static readonly int[] RequiredMoneyArray = { 3000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(1000); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + int temp = skill.GetPlayer().GetMaxmp() * 15 / 10; + skill.SetEarthdamage(temp); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill905Stub() : base(905) + { + cls = 1; + name = "灵气震爆"; + nativename = "灵气震爆"; + icon = "灵气震爆.dds"; + max_level = 1; + type = 1; + apcost = 100; + arrowcost = 0; + apgain = 0; + attr = 6; + rank = 22; + eventflag = 0; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 2255; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "元素虚空.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(292); + restrict_weapons.Add(0); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(0, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill905Stub() { } + + public float GetMpcost(Skill skill) => 1000f; + public int GetExecutetime(Skill skill) => 1000; + public int GetCoolingtime(Skill skill) => 300000; + public float GetRadius(Skill skill) => (float)(8 + 0.4 * skill.GetLevel()); + public float GetAttackdistance(Skill skill) => (float)(4 + 0.3 * skill.GetLevel()); + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 30f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 30, 1000); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 40f; + public int GetAttackspeed(Skill skill) => 30; + public float GetHitrate(Skill skill) => 3f; + public float GetTalent0(Skill skill) => player.GetPuremagicattack (; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill905.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill905.cs.meta new file mode 100644 index 0000000000..139ae8a16d --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill905.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: a22f13a39425fa54f99848cc09599840 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill91.cs b/Assets/PerfectWorld/Scripts/Skills/skill91.cs new file mode 100644 index 0000000000..fdc7474347 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill91.cs @@ -0,0 +1,165 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill91 : Skill + { + public const int SKILL_ID = 91; + + public Skill91() : base(SKILL_ID) + { + } + } +#endif + + public class Skill91Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 39, 43, 47, 51, 55, 59, 63, 67, 71, 75 }; + private static readonly int[] RequiredSpArray = { 6150, 8000, 10350, 13300, 17025, 21750, 27750, 35500, 45250, 66500 }; + private static readonly int[] RequiredMoneyArray = { 1990, 2380, 2780, 3180, 3580, 3980, 10980, 31980, 91980, 171980 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 800; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.2f *(200 + 25 * skill.GetLevel())); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.8f *(200 + 25 * skill.GetLevel())); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill91Stub() : base(91) + { + cls = 1; + name = "霜刃"; + nativename = "霜刃"; + icon = "霜刃.dds"; + max_level = 10; + type = 2; + apcost = 0; + arrowcost = 0; + apgain = 10; + attr = 4; + rank = 4; + eventflag = 0; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1214; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "霜刃.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(292); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(90, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill91Stub() { } + + public float GetMpcost(Skill skill) => (float)(200 + 25 * skill.GetLevel()); + public int GetExecutetime(Skill skill) => 1000; + public int GetCoolingtime(Skill skill) => 3000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(19.5 + 0.9 * skill.GetLevel()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, + skill.GetLevel(), + 19.5 + 0.9 * skill.GetLevel(), + 200 + 25 * skill.GetLevel(), + 10 + 2 * skill.GetLevel()); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 25 + skill.GetLevel(); + public int GetAttackspeed(Skill skill) => 8; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill91.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill91.cs.meta new file mode 100644 index 0000000000..49a10294f8 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill91.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 19a6a3c0ccccbc14b95cbb32c9e7ec47 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill92.cs b/Assets/PerfectWorld/Scripts/Skills/skill92.cs new file mode 100644 index 0000000000..fa4e511784 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill92.cs @@ -0,0 +1,171 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill92 : Skill + { + public const int SKILL_ID = 92; + + public Skill92() : base(SKILL_ID) + { + } + } +#endif + + public class Skill92Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 49, 53, 57, 61, 65, 69, 73, 77, 81, 85 }; + private static readonly int[] RequiredSpArray = { 47000, 60200, 76900, 98300, 125000, 160000, 215000, 327000, 484000, 705000 }; + private static readonly int[] RequiredMoneyArray = { 2980, 3380, 3780, 6980, 14980, 51980, 131980, 251980, 451980, 771980 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 2500; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.2f *(202.5f + 18 * skill.GetLevel())); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1800; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.8f *(202.5f + 18 * skill.GetLevel())); + skill.SetPlus(4 * skill.GetLevel() * skill.GetLevel() + 241.4f * skill.GetLevel() + 2066.1f); + skill.SetRatio(1.5f + 0.15f * skill.GetLevel()); + skill.SetWaterdamage(skill.GetMagicattack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill92Stub() : base(92) + { + cls = 1; + name = "凌杀"; + nativename = "凌杀"; + icon = "凌杀.dds"; + max_level = 10; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 20; + attr = 4; + rank = 5; + eventflag = 0; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1215; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "凌杀.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(292); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(91, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill92Stub() { } + + public float GetMpcost(Skill skill) => (float)(202.5 + 18 * skill.GetLevel()); + public int GetExecutetime(Skill skill) => 1800; + public int GetCoolingtime(Skill skill) => 15000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(19.5 + 0.9 * skill.GetLevel()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, + skill.GetLevel(), + 19.5 + 0.9 * skill.GetLevel(), + 202.5 + 18 * skill.GetLevel(), + 150 + 15 * skill.GetLevel(), + 4 * skill.GetLevel() * skill.GetLevel() + 241.4 * skill.GetLevel() + 2066.1, + 62 + 3 * skill.GetLevel(), + 4 + 0.2 * skill.GetLevel()); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 25 + skill.GetLevel(); + public int GetAttackspeed(Skill skill) => 34; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill92.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill92.cs.meta new file mode 100644 index 0000000000..47ff2d2b3a --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill92.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: af1960de2ca06b44094c0577b2e79d99 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill923.cs b/Assets/PerfectWorld/Scripts/Skills/skill923.cs new file mode 100644 index 0000000000..463b2cb3bc --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill923.cs @@ -0,0 +1,166 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill923 : Skill + { + public const int SKILL_ID = 923; + + public Skill923() : base(SKILL_ID) + { + } + } +#endif + + public class Skill923Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 100 }; + private static readonly int[] RequiredSpArray = { 4000000 }; + private static readonly int[] RequiredItemArray = { 19772 }; + private static readonly int[] RequiredMoneyArray = { 3000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(50); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1500; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(450); + skill.SetRatio(2); + skill.SetDamage(skill.GetAttack() * 1.5f); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill923Stub() : base(923) + { + cls = 0; + name = "一闪"; + nativename = "一闪"; + icon = "一闪.dds"; + max_level = 1; + type = 1; + apcost = 100; + arrowcost = 0; + apgain = 0; + attr = 7; + rank = 32; + eventflag = 0; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 2156; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "一闪.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(1); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(0, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill923Stub() { } + + public float GetMpcost(Skill skill) => 500f; + public int GetExecutetime(Skill skill) => 1500; + public int GetCoolingtime(Skill skill) => 120000; + public float GetRadius(Skill skill) => 12f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 *(60 + 2.5 * skill.GetLevel())); + public float GetPraydistance(Skill skill) => 5f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 500); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 30f; + public int GetAttackspeed(Skill skill) => 16; + public float GetHitrate(Skill skill) => 5f; + public float GetTalent0(Skill skill) => 100 * player.GetHp (; + public float GetTalent1(Skill skill) => 2 * player.GetMaxhp (; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill923.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill923.cs.meta new file mode 100644 index 0000000000..e121960fe9 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill923.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: deb2213de3136884d903ffeeb147accd \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill924.cs b/Assets/PerfectWorld/Scripts/Skills/skill924.cs new file mode 100644 index 0000000000..7efd5787d9 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill924.cs @@ -0,0 +1,167 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill924 : Skill + { + public const int SKILL_ID = 924; + + public Skill924() : base(SKILL_ID) + { + } + } +#endif + + public class Skill924Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 100 }; + private static readonly int[] RequiredSpArray = { 4000000 }; + private static readonly int[] RequiredItemArray = { 19773 }; + private static readonly int[] RequiredMoneyArray = { 3000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 600; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(100); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1800; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(300); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill924Stub() : base(924) + { + cls = 0; + name = "金刚气"; + nativename = "金刚气"; + icon = "金刚气.dds"; + max_level = 1; + type = 2; + apcost = 0; + arrowcost = 0; + apgain = 0; + attr = 1; + rank = 32; + eventflag = 0; + clslimit = 0; + time_type = 0; + showorder = 2157; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "1风卷残云.sgc"; + doenchant = 1; + dobless = 1; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(1); + restrict_weapons.Add(182); + restrict_weapons.Add(5); + restrict_weapons.Add(292); + restrict_weapons.Add(9); + range = new Range(); + range.type = 2; + pre_skills = new Dictionary(); + pre_skills.Add(0, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill924Stub() { } + + public float GetMpcost(Skill skill) => 400f; + public int GetExecutetime(Skill skill) => 1800; + public int GetCoolingtime(Skill skill) => 600000; + public float GetRadius(Skill skill) => 16f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 400); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool BlessMe(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 5f; + public int GetAttackspeed(Skill skill) => 9; + public float GetHitrate(Skill skill) => 1.0f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill924.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill924.cs.meta new file mode 100644 index 0000000000..ac81937b25 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill924.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 5c1319abf3248fe4bbb5e12d0dbb8778 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill925.cs b/Assets/PerfectWorld/Scripts/Skills/skill925.cs new file mode 100644 index 0000000000..f3b035c35e --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill925.cs @@ -0,0 +1,148 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill925 : Skill + { + public const int SKILL_ID = 925; + + public Skill925() : base(SKILL_ID) + { + } + } +#endif + + public class Skill925Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 95 }; + private static readonly int[] RequiredSpArray = { 2400000 }; + private static readonly int[] RequiredItemArray = { 19774 }; + private static readonly int[] RequiredMoneyArray = { 3000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 800; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(1000); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill925Stub() : base(925) + { + cls = 1; + name = "气贯长虹"; + nativename = "气贯长虹"; + icon = "气贯长虹.dds"; + max_level = 1; + type = 2; + apcost = 100; + arrowcost = 0; + apgain = 0; + attr = 6; + rank = 32; + eventflag = 0; + clslimit = 0; + time_type = 0; + showorder = 2256; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "气惯长虹.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(292); + range = new Range(); + range.type = 5; + pre_skills = new Dictionary(); + pre_skills.Add(0, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill925Stub() { } + + public float GetMpcost(Skill skill) => 1000f; + public int GetExecutetime(Skill skill) => 1000; + public int GetCoolingtime(Skill skill) => 300000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 25 + skill.GetLevel(); + public int GetAttackspeed(Skill skill) => 8; + public float GetHitrate(Skill skill) => 1.0f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill925.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill925.cs.meta new file mode 100644 index 0000000000..5da3caec18 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill925.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 1ac45bf86d0a3254aa1b307567fa3cbd \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill926.cs b/Assets/PerfectWorld/Scripts/Skills/skill926.cs new file mode 100644 index 0000000000..bdc4a50dd9 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill926.cs @@ -0,0 +1,165 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill926 : Skill + { + public const int SKILL_ID = 926; + + public Skill926() : base(SKILL_ID) + { + } + } +#endif + + public class Skill926Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 100 }; + private static readonly int[] RequiredSpArray = { 4000000 }; + private static readonly int[] RequiredItemArray = { 19778 }; + private static readonly int[] RequiredMoneyArray = { 3000000 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(1000); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + int temp = skill.GetPlayer().GetMaxmp() * 15 / 10; + skill.SetEarthdamage(temp); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill926Stub() : base(926) + { + cls = 1; + name = "灵气震爆"; + nativename = "灵气震爆"; + icon = "灵气震爆.dds"; + max_level = 1; + type = 1; + apcost = 100; + arrowcost = 0; + apgain = 0; + attr = 6; + rank = 32; + eventflag = 0; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 2257; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "元素虚空.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(292); + restrict_weapons.Add(0); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(0, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill926Stub() { } + + public float GetMpcost(Skill skill) => 1000f; + public int GetExecutetime(Skill skill) => 1000; + public int GetCoolingtime(Skill skill) => 300000; + public float GetRadius(Skill skill) => (float)(8 + 0.4 * skill.GetLevel()); + public float GetAttackdistance(Skill skill) => (float)(4 + 0.3 * skill.GetLevel()); + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 30f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, 30, 1000); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 40f; + public int GetAttackspeed(Skill skill) => 30; + public float GetHitrate(Skill skill) => 3f; + public float GetTalent0(Skill skill) => player.GetPuremagicattack (; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill926.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill926.cs.meta new file mode 100644 index 0000000000..c821d10a78 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill926.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: ade2af9c0fc3ae946907643efa7c25cb \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill93.cs b/Assets/PerfectWorld/Scripts/Skills/skill93.cs new file mode 100644 index 0000000000..0ed7ffa416 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill93.cs @@ -0,0 +1,172 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill93 : Skill + { + public const int SKILL_ID = 93; + + public Skill93() : base(SKILL_ID) + { + } + } +#endif + + public class Skill93Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 59, 62, 65, 68, 71, 74, 77, 80, 83, 86 }; + private static readonly int[] RequiredSpArray = { 87000, 104000, 125000, 151000, 181000, 239000, 327000, 440000, 586000, 773000 }; + private static readonly int[] RequiredMoneyArray = { 3980, 8980, 14980, 41980, 91980, 151980, 251980, 371980, 611980, 851980 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 4000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.2f *(336 + 18 * skill.GetLevel())); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1600; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.8f *(336 + 18 * skill.GetLevel())); + skill.SetPlus(6.2f * skill.GetLevel() * skill.GetLevel() + 390.3f * skill.GetLevel() + 5125.9f); + skill.SetRatio(2.5f + 0.25f * skill.GetLevel()); + skill.SetWaterdamage(skill.GetMagicattack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill93Stub() : base(93) + { + cls = 1; + name = "玄冰水龙"; + nativename = "玄冰水龙"; + icon = "玄冰水龙.dds"; + max_level = 10; + type = 1; + apcost = 200; + arrowcost = 0; + apgain = 0; + attr = 4; + rank = 6; + eventflag = 0; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1216; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "玄冰水龙.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(292); + range = new Range(); + range.type = 3; + pre_skills = new Dictionary(); + pre_skills.Add(92, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill93Stub() { } + + public float GetMpcost(Skill skill) => (float)(336 + 18 * skill.GetLevel()); + public int GetExecutetime(Skill skill) => 1600; + public int GetCoolingtime(Skill skill) => 30000; + public float GetRadius(Skill skill) => (float)(8 + 0.4 * skill.GetLevel()); + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(19.5 + 0.9 * skill.GetLevel()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, + skill.GetLevel(), + 19.5 + 0.9 * skill.GetLevel(), + 336 + 18 * skill.GetLevel(), + 8 + 0.4 * skill.GetLevel(), + 250 + 25 * skill.GetLevel(), + 6.2 * skill.GetLevel() * skill.GetLevel() + 390.3 * skill.GetLevel() + 5125.9, + 85 + skill.GetLevel(), + 6 + 0.2 * skill.GetLevel()); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 1000; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 25 + skill.GetLevel(); + public int GetAttackspeed(Skill skill) => 6; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill93.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill93.cs.meta new file mode 100644 index 0000000000..506ecb437c --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill93.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 0daa763611596b24f8b78545a06e2aac \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill94.cs b/Assets/PerfectWorld/Scripts/Skills/skill94.cs new file mode 100644 index 0000000000..5447f92c64 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill94.cs @@ -0,0 +1,158 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill94 : Skill + { + public const int SKILL_ID = 94; + + public Skill94() : base(SKILL_ID) + { + } + } +#endif + + public class Skill94Stub : SkillStub + { + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.2f *(20 + 3 * skill.GetLevel())); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1500; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State4 : SkillStub.State + { + public int GetTime(Skill skill) => 1; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetPerform(2); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill94Stub() : base(94) + { + cls = 1; + name = "*"; + nativename = "*"; + icon = "冰雹.dds"; + max_level = 10; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 0; + attr = 1; + rank = 3; + eventflag = 0; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 68; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = ""; + doenchant = 0; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(292); + range = new Range(); + range.type = 3; + pre_skills = new Dictionary(); + pre_skills.Add(88, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); + statestub.Add(new State4()); +#endif + } + + ~Skill94Stub() { } + + public float GetMpcost(Skill skill) => (float)(20 + 3 * skill.GetLevel()); + public int GetExecutetime(Skill skill) => 1500; + public int GetCoolingtime(Skill skill) => 5000; + public float GetRadius(Skill skill) => (float)(7 + 0.3 * skill.GetLevel()); + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(18 + 0.5 * skill.GetLevel()); + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 50f; + public int GetAttackspeed(Skill skill) => 0; + public float GetHitrate(Skill skill) => 1.0f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill94.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill94.cs.meta new file mode 100644 index 0000000000..0847cdac04 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill94.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 3f772d6059b1c674cb234e015ff72940 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill95.cs b/Assets/PerfectWorld/Scripts/Skills/skill95.cs new file mode 100644 index 0000000000..adb798991e --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill95.cs @@ -0,0 +1,139 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill95 : Skill + { + public const int SKILL_ID = 95; + + public Skill95() : base(SKILL_ID) + { + } + } +#endif + + public class Skill95Stub : SkillStub + { + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.2f *(50 + 3 * skill.GetLevel())); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 2000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill95Stub() : base(95) + { + cls = 1; + name = "*"; + nativename = "*"; + icon = "水煞.dds"; + max_level = 10; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 0; + attr = 1; + rank = 3; + eventflag = 0; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 69; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "水煞.sgc"; + doenchant = 0; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(292); + range = new Range(); + range.type = 3; + pre_skills = new Dictionary(); + pre_skills.Add(94, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill95Stub() { } + + public float GetMpcost(Skill skill) => (float)(50 + 3 * skill.GetLevel()); + public int GetExecutetime(Skill skill) => 2000; + public int GetCoolingtime(Skill skill) => 10000; + public float GetRadius(Skill skill) => (float)(9 + 0.4 * skill.GetLevel()); + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(18 + 0.5 * skill.GetLevel()); + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 50f; + public float GetHitrate(Skill skill) => 1.0f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill95.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill95.cs.meta new file mode 100644 index 0000000000..9bb1f99e46 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill95.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: fc5819788140d9248bae0435753b3824 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill96.cs b/Assets/PerfectWorld/Scripts/Skills/skill96.cs new file mode 100644 index 0000000000..f428adf4e9 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill96.cs @@ -0,0 +1,165 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill96 : Skill + { + public const int SKILL_ID = 96; + + public Skill96() : base(SKILL_ID) + { + } + } +#endif + + public class Skill96Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 9, 14, 19, 24, 29, 34, 39, 44, 49, 54 }; + private static readonly int[] RequiredSpArray = { 800, 1920, 3680, 6160, 9440, 13840, 19680, 27360, 37600, 51200 }; + private static readonly int[] RequiredMoneyArray = { 110, 250, 440, 680, 1090, 1540, 1990, 2480, 2980, 3480 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 1000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.2f *(12 + 15 * skill.GetLevel())); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1200; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.8f *(12 + 15 * skill.GetLevel())); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill96Stub() : base(96) + { + cls = 1; + name = "烈焰护甲"; + nativename = "烈焰护甲"; + icon = "烈焰护甲.dds"; + max_level = 10; + type = 2; + apcost = 30; + arrowcost = 0; + apgain = 0; + attr = 0; + rank = 1; + eventflag = 0; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1202; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = ""; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(292); + range = new Range(); + range.type = 5; + pre_skills = new Dictionary(); + pre_skills.Add(81, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill96Stub() { } + + public float GetMpcost(Skill skill) => (float)(12 + 15 * skill.GetLevel()); + public int GetExecutetime(Skill skill) => 1200; + public int GetCoolingtime(Skill skill) => 3000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => 0f; + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, + skill.GetLevel(), + 12 + 15 * skill.GetLevel(), + 10 * skill.GetLevel(), + skill.GetLevel()); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 20f; + public int GetAttackspeed(Skill skill) => 7; + public float GetHitrate(Skill skill) => 1.0f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill96.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill96.cs.meta new file mode 100644 index 0000000000..d910c28975 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill96.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: a2506d3a53460a34c9c577a51d2d7f63 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill97.cs b/Assets/PerfectWorld/Scripts/Skills/skill97.cs new file mode 100644 index 0000000000..109b944508 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill97.cs @@ -0,0 +1,168 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill97 : Skill + { + public const int SKILL_ID = 97; + + public Skill97() : base(SKILL_ID) + { + } + } +#endif + + public class Skill97Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 6, 11, 16, 21, 26, 31, 36, 41, 46, 51 }; + private static readonly int[] RequiredSpArray = { 400, 1500, 3200, 5800, 9200, 13900, 20000, 28100, 38900, 53200 }; + private static readonly int[] RequiredMoneyArray = { 50, 160, 320, 530, 820, 1270, 1720, 2180, 2680, 3180 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 1600; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.2f *(4.2f + 21 * skill.GetLevel())); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1400; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.8f *(4.2f + 21 * skill.GetLevel())); + skill.SetPlus(6.1f * skill.GetLevel() * skill.GetLevel() + 137.2f * skill.GetLevel() + 137.4f); + skill.SetRatio(1 + 0.1f * skill.GetLevel()); + skill.SetEarthdamage(skill.GetMagicattack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill97Stub() : base(97) + { + cls = 1; + name = "落石术"; + nativename = "落石术"; + icon = "落石术.dds"; + max_level = 10; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 15; + attr = 6; + rank = 0; + eventflag = 0; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1218; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "落石术.sgc"; + doenchant = 0; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(292); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(0, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill97Stub() { } + + public float GetMpcost(Skill skill) => (float)(4.2 + 21 * skill.GetLevel()); + public int GetExecutetime(Skill skill) => 1400; + public int GetCoolingtime(Skill skill) => 3000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => 0f; + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(19.5 + 0.9 * skill.GetLevel()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, + skill.GetLevel(), + 19.5 + 0.9 * skill.GetLevel(), + 4.2 + 21 * skill.GetLevel(), + 100 + 10 * skill.GetLevel(), + 6.1 * skill.GetLevel() * skill.GetLevel() + 137.2 * skill.GetLevel() + 137.4); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 25 + skill.GetLevel(); + public int GetAttackspeed(Skill skill) => 11; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill97.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill97.cs.meta new file mode 100644 index 0000000000..d0b269679a --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill97.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 327c8685dcbf8a746968b07afb96a96b \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill98.cs b/Assets/PerfectWorld/Scripts/Skills/skill98.cs new file mode 100644 index 0000000000..019799d8cc --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill98.cs @@ -0,0 +1,170 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill98 : Skill + { + public const int SKILL_ID = 98; + + public Skill98() : base(SKILL_ID) + { + } + } +#endif + + public class Skill98Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 39, 43, 47, 51, 55, 59, 63, 67, 71, 75 }; + private static readonly int[] RequiredSpArray = { 24600, 32000, 41400, 53200, 68100, 87000, 111000, 142000, 181000, 266000 }; + private static readonly int[] RequiredMoneyArray = { 1990, 2380, 2780, 3180, 3580, 3980, 10980, 31980, 91980, 171980 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 2500; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.2f *(157.5f + 18 * skill.GetLevel())); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1500; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.8f *(157.5f + 18 * skill.GetLevel())); + skill.SetPlus(4.2f * skill.GetLevel() * skill.GetLevel() + 229.1f * skill.GetLevel() + 1577.4f); + skill.SetRatio(1.5f + 0.15f * skill.GetLevel()); + skill.SetEarthdamage(skill.GetMagicattack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill98Stub() : base(98) + { + cls = 1; + name = "飞沙术"; + nativename = "飞沙术"; + icon = "飞沙术.dds"; + max_level = 10; + type = 1; + apcost = 0; + arrowcost = 0; + apgain = 15; + attr = 6; + rank = 4; + eventflag = 0; + posdouble = 0; + clslimit = 0; + time_type = 0; + showorder = 1222; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "飞沙术.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(292); + range = new Range(); + range.type = 0; + pre_skills = new Dictionary(); + pre_skills.Add(10, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill98Stub() { } + + public float GetMpcost(Skill skill) => (float)(157.5 + 18 * skill.GetLevel()); + public int GetExecutetime(Skill skill) => 1500; + public int GetCoolingtime(Skill skill) => 5000; + public float GetRadius(Skill skill) => 0f; + public float GetAttackdistance(Skill skill) => (float)(15 + 0.4 * skill.GetLevel()); + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(19.5 + 0.9 * skill.GetLevel()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, + skill.GetLevel(), + 19.5 + 0.9 * skill.GetLevel(), + 157.5 + 18 * skill.GetLevel(), + 150 + 15 * skill.GetLevel(), + 4.2 * skill.GetLevel() * skill.GetLevel() + 229.1 * skill.GetLevel() + 1577.4, + 20 + 3 * skill.GetLevel()); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 0; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 25 + skill.GetLevel(); + public int GetAttackspeed(Skill skill) => 18; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill98.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill98.cs.meta new file mode 100644 index 0000000000..c4d3137d3a --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill98.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 7721c5713114de04a92546f9c70fe12d \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill99.cs b/Assets/PerfectWorld/Scripts/Skills/skill99.cs new file mode 100644 index 0000000000..832cf457c5 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill99.cs @@ -0,0 +1,171 @@ +#define SKILL_CLIENT +using BrewMonster.Scripts.Skills; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using static BrewMonster.PET_EVOLVE_CONFIG; + +namespace BrewMonster +{ + +#if SKILL_SERVER + public class Skill99 : Skill + { + public const int SKILL_ID = 99; + + public Skill99() : base(SKILL_ID) + { + } + } +#endif + + public class Skill99Stub : SkillStub + { + private static readonly int[] RequiredLevelArray = { 59, 62, 65, 68, 71, 74, 77, 80, 83, 86 }; + private static readonly int[] RequiredSpArray = { 87000, 104000, 125000, 151000, 181000, 239000, 327000, 440000, 586000, 773000 }; + private static readonly int[] RequiredMoneyArray = { 3980, 8980, 14980, 41980, 91980, 151980, 251980, 371980, 611980, 851980 }; + + +#if SKILL_SERVER + public class State1 : SkillStub.State + { + public int GetTime(Skill skill) => 5000; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.2f *(336 + 18 * skill.GetLevel())); + skill.GetPlayer().SetPray(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => true; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State2 : SkillStub.State + { + public int GetTime(Skill skill) => 1400; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + skill.GetPlayer().SetDecmp(0.8f *(336 + 18 * skill.GetLevel())); + skill.SetPlus(5.4f * skill.GetLevel() * skill.GetLevel() + 339.8f * skill.GetLevel() + 4462.4f); + skill.SetRatio(2.5f + 0.25f * skill.GetLevel()); + skill.SetEarthdamage(skill.GetMagicattack()); + skill.GetPlayer().SetPerform(1); + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + +#if SKILL_SERVER + public class State3 : SkillStub.State + { + public int GetTime(Skill skill) => 0; + public bool Quit(Skill skill) => false; + public bool Loop(Skill skill) => false; + public bool Bypass(Skill skill) => false; + public void Calculate(Skill skill) + { + } + public bool Interrupt(Skill skill) => false; + public bool Cancel(Skill skill) => false; + public bool Skip(Skill skill) => false; + } +#endif + + public Skill99Stub() : base(99) + { + cls = 1; + name = "泰山压顶"; + nativename = "泰山压顶"; + icon = "泰山压顶.dds"; + max_level = 10; + type = 1; + apcost = 200; + arrowcost = 0; + apgain = 0; + attr = 6; + rank = 6; + eventflag = 0; + posdouble = 0; + time_type = 0; + showorder = 1224; + allow_land = true; + allow_air = true; + allow_water = true; + allow_ride = false; + auto_attack = false; + long_range = 0; + restrict_corpse = 0; + allow_forms = 1; + effect = "泰山压顶.sgc"; + doenchant = 1; + dobless = 0; + commoncooldown = 0; + commoncooldowntime = 0; + restrict_weapons.Add(0); + restrict_weapons.Add(292); + range = new Range(); + range.type = 3; + pre_skills = new Dictionary(); + pre_skills.Add(184, 1); +#if SKILL_SERVER + statestub.Add(new State1()); + statestub.Add(new State2()); + statestub.Add(new State3()); +#endif + } + + ~Skill99Stub() { } + + public float GetMpcost(Skill skill) => (float)(336 + 18 * skill.GetLevel()); + public int GetExecutetime(Skill skill) => 1400; + public int GetCoolingtime(Skill skill) => 30000; + public float GetRadius(Skill skill) => (float)(8 + 0.4 * skill.GetLevel()); + public float GetAttackdistance(Skill skill) => (float)(4 + 0.4 * skill.GetLevel()); + public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0); + public float GetPraydistance(Skill skill) => (float)(19.5 + 0.9 * skill.GetLevel()); + public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1]; + public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1]; + public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; + +#if SKILL_CLIENT + public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + { + string result = string.Format(format, + skill.GetLevel(), + 19.5 + 0.9 * skill.GetLevel(), + 336 + 18 * skill.GetLevel(), + 8 + 0.4 * skill.GetLevel(), + 250 + 25 * skill.GetLevel(), + 5.4 * skill.GetLevel() * skill.GetLevel() + 339.8 * skill.GetLevel() + 4462.4, + 85 + skill.GetLevel(), + 3 + 0.3 * skill.GetLevel()); + if (result.Length < length) + { + buffer.Append(result); + return result.Length; + } + return 0; + } +#endif + +#if SKILL_SERVER + public int GetEnmity(Skill skill) => 1000; + public bool StateAttack(Skill skill) => true; + public bool TakeEffect(Skill skill) => true; + public float GetEffectdistance(Skill skill) => 25 + skill.GetLevel(); + public int GetAttackspeed(Skill skill) => 31; + public float GetHitrate(Skill skill) => 1f; +#endif + } +} + diff --git a/Assets/PerfectWorld/Scripts/Skills/skill99.cs.meta b/Assets/PerfectWorld/Scripts/Skills/skill99.cs.meta new file mode 100644 index 0000000000..4a6f937f0c --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/skill99.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 59fc52d25cecf724dbe39dcf62384a7e \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/UI/Dialogs/CDlgSkillSubList.cs b/Assets/PerfectWorld/Scripts/UI/Dialogs/CDlgSkillSubList.cs index e565db6166..56b63569bf 100644 --- a/Assets/PerfectWorld/Scripts/UI/Dialogs/CDlgSkillSubList.cs +++ b/Assets/PerfectWorld/Scripts/UI/Dialogs/CDlgSkillSubList.cs @@ -136,7 +136,7 @@ namespace BrewMonster.UI // ��ʼ�����������ڶԻ���һ���Է�����ڴ� / Initialize rank sub-dialogs once to avoid realloc private void CreateOneRankDlg(CECTaoistRank taoistRank) { - AUISubDialog pSubRank = Instantiate(m_pSubRank, m_contentRoot); + AUISubDialog pSubRank = Instantiate(m_pSubRank, m_contentRoot,transform); pSubRank.SetName($"{m_pSubRank.GetName()}{taoistRank.GetID()}"); pSubRank.Show(false); @@ -168,7 +168,7 @@ namespace BrewMonster.UI { BMLogger.LogError("CDlgSkillSubList::ResetDialog: Adding GetBaseRankBegin rank " + taoistRank.GetID()); - //AddDlgsOfOneRank(taoistRank); + AddDlgsOfOneRank(taoistRank); } for (CECTaoistRank taoistRank = CECTaoistRank.GetGodRankBegin(); @@ -177,7 +177,7 @@ namespace BrewMonster.UI { BMLogger.LogError("CDlgSkillSubList::ResetDialog: Adding GetGodRankBegin rank "+ taoistRank.GetID()); - //AddDlgsOfOneRank(taoistRank); + AddDlgsOfOneRank(taoistRank); } for (CECTaoistRank taoistRank = CECTaoistRank.GetEvilRankBegin(); @@ -186,7 +186,7 @@ namespace BrewMonster.UI { BMLogger.LogError("CDlgSkillSubList::ResetDialog: Adding GetEvilRankBegin rank " + taoistRank.GetID()); - //AddDlgsOfOneRank(taoistRank); + AddDlgsOfOneRank(taoistRank); } if (m_contentRoot != null) @@ -231,13 +231,13 @@ namespace BrewMonster.UI } pSub.Show(true); - pSub.SetPos(0f, m_curBottom); - m_curBottom += m_rankHeight * m_windowScale; + //pSub.SetPos(0f, m_curBottom); + //m_curBottom += m_rankHeight * m_windowScale; TextMeshProUGUI label = pSub.GetComponentInChildren(true); if (label != null) { - label.text = GetRankName(rankID); + label.text = CECTaoistRank.GetTaoistRank(rankID).GetName(); } } diff --git a/Assets/PerfectWorld/Scripts/UI/GamePlay/SkillUI/AUISubDialog.cs b/Assets/PerfectWorld/Scripts/UI/GamePlay/SkillUI/AUISubDialog.cs index 9325f7787c..7d1eb61acd 100644 --- a/Assets/PerfectWorld/Scripts/UI/GamePlay/SkillUI/AUISubDialog.cs +++ b/Assets/PerfectWorld/Scripts/UI/GamePlay/SkillUI/AUISubDialog.cs @@ -1,4 +1,5 @@ using BrewMonster.UI; +using TMPro; using UnityEngine; namespace BrewMonster @@ -8,6 +9,7 @@ namespace BrewMonster { [SerializeField] private AUIDialog m_subDialog; [SerializeField] private RectTransform m_rectTransform; + [SerializeField] private TextMeshProUGUI levelName; private int m_data; private void Reset() diff --git a/Assets/PerfectWorld/Scripts/World/CECWorld.cs b/Assets/PerfectWorld/Scripts/World/CECWorld.cs index bcabf65fc0..3ebf6a5d18 100644 --- a/Assets/PerfectWorld/Scripts/World/CECWorld.cs +++ b/Assets/PerfectWorld/Scripts/World/CECWorld.cs @@ -70,6 +70,7 @@ namespace BrewMonster.Scripts.World return pObject; } + public int GetInstanceID() { return m_idInst; } public CECAssureMove GetAssureMove() { return m_pAssureMove; } diff --git a/Assets/Scenes/a61.unity b/Assets/Scenes/a61.unity index 34d5ec3ea5..4e025cc85f 100644 --- a/Assets/Scenes/a61.unity +++ b/Assets/Scenes/a61.unity @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8003b60a4af29a6f7767b8b3f782a1f7fd576ce667bdbcfd0124f3071e3e5c0d -size 200174193 +oid sha256:de5dee178c4a61ea42df1451c11d09acb15ba9f017919f4dcef31311535563b4 +size 200202196 diff --git a/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset b/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset index 2190cb6ad4..0af81e6d95 100644 --- a/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset +++ b/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset @@ -215,179 +215,8 @@ MonoBehaviour: m_SourceFontFilePath: m_AtlasPopulationMode: 1 InternalDynamicOS: 0 - m_GlyphTable: - - m_Index: 355 - m_Metrics: - m_Width: 51 - m_Height: 47 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 46 - m_HorizontalAdvance: 56 - m_GlyphRect: - m_X: 10 - m_Y: 10 - m_Width: 51 - m_Height: 47 - m_Scale: 1 - m_AtlasIndex: 0 - m_ClassDefinitionType: 0 - - m_Index: 1725 - m_Metrics: - m_Width: 44 - m_Height: 67 - m_HorizontalBearingX: 1 - m_HorizontalBearingY: 66 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 10 - m_Y: 76 - m_Width: 44 - m_Height: 67 - m_Scale: 1 - m_AtlasIndex: 0 - m_ClassDefinitionType: 0 - - m_Index: 1679 - m_Metrics: - m_Width: 45 - m_Height: 67 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 66 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 10 - m_Y: 162 - m_Width: 45 - m_Height: 67 - m_Scale: 1 - m_AtlasIndex: 0 - m_ClassDefinitionType: 0 - - m_Index: 1681 - m_Metrics: - m_Width: 46 - m_Height: 67 - m_HorizontalBearingX: 2 - m_HorizontalBearingY: 66 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 73 - m_Y: 76 - m_Width: 46 - m_Height: 67 - m_Scale: 1 - m_AtlasIndex: 0 - m_ClassDefinitionType: 0 - - m_Index: 1743 - m_Metrics: - m_Width: 38 - m_Height: 58 - m_HorizontalBearingX: 5 - m_HorizontalBearingY: 45 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 10 - m_Y: 248 - m_Width: 38 - m_Height: 58 - m_Scale: 1 - m_AtlasIndex: 0 - m_ClassDefinitionType: 0 - - m_Index: 1677 - m_Metrics: - m_Width: 45 - m_Height: 66 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 65 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 10 - m_Y: 325 - m_Width: 45 - m_Height: 66 - m_Scale: 1 - m_AtlasIndex: 0 - m_ClassDefinitionType: 0 - - m_Index: 355 - m_Metrics: - m_Width: 51 - m_Height: 47 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 46 - m_HorizontalAdvance: 56 - m_GlyphRect: - m_X: 80 - m_Y: 10 - m_Width: 51 - m_Height: 47 - m_Scale: 1 - m_AtlasIndex: 0 - m_ClassDefinitionType: 0 - - m_Index: 1725 - m_Metrics: - m_Width: 44 - m_Height: 67 - m_HorizontalBearingX: 1 - m_HorizontalBearingY: 66 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 10 - m_Y: 410 - m_Width: 44 - m_Height: 67 - m_Scale: 1 - m_AtlasIndex: 0 - m_ClassDefinitionType: 0 - - m_Index: 1679 - m_Metrics: - m_Width: 45 - m_Height: 67 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 66 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 73 - m_Y: 410 - m_Width: 45 - m_Height: 67 - m_Scale: 1 - m_AtlasIndex: 0 - m_ClassDefinitionType: 0 - m_CharacterTable: - - m_ElementType: 1 - m_Unicode: 417 - m_GlyphIndex: 355 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 7891 - m_GlyphIndex: 1725 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 7845 - m_GlyphIndex: 1679 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 7847 - m_GlyphIndex: 1681 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 7909 - m_GlyphIndex: 1743 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 7843 - m_GlyphIndex: 1677 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 417 - m_GlyphIndex: 355 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 7891 - m_GlyphIndex: 1725 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 7845 - m_GlyphIndex: 1679 - m_Scale: 1 + m_GlyphTable: [] + m_CharacterTable: [] m_AtlasTextures: - {fileID: 28268798066460806} m_AtlasTextureIndex: 0 @@ -398,68 +227,12 @@ MonoBehaviour: m_AtlasHeight: 512 m_AtlasPadding: 9 m_AtlasRenderMode: 4169 - m_UsedGlyphRects: - - m_X: 0 - m_Y: 0 - m_Width: 70 - m_Height: 66 - - m_X: 0 - m_Y: 66 - m_Width: 63 - m_Height: 86 - - m_X: 0 - m_Y: 152 - m_Width: 64 - m_Height: 86 - - m_X: 63 - m_Y: 66 - m_Width: 65 - m_Height: 86 - - m_X: 0 - m_Y: 238 - m_Width: 57 - m_Height: 77 - - m_X: 0 - m_Y: 315 - m_Width: 64 - m_Height: 85 - - m_X: 70 - m_Y: 0 - m_Width: 70 - m_Height: 66 - - m_X: 0 - m_Y: 400 - m_Width: 63 - m_Height: 86 - - m_X: 63 - m_Y: 400 - m_Width: 64 - m_Height: 86 + m_UsedGlyphRects: [] m_FreeGlyphRects: - - m_X: 57 - m_Y: 238 - m_Width: 454 - m_Height: 77 - - m_X: 128 - m_Y: 66 - m_Width: 383 - m_Height: 445 - - m_X: 140 - m_Y: 0 - m_Width: 371 - m_Height: 511 - m_X: 0 - m_Y: 486 + m_Y: 0 m_Width: 511 - m_Height: 25 - - m_X: 64 - m_Y: 152 - m_Width: 447 - m_Height: 248 - - m_X: 127 - m_Y: 152 - m_Width: 384 - m_Height: 359 + m_Height: 511 m_FontFeatureTable: m_MultipleSubstitutionRecords: [] m_LigatureSubstitutionRecords: [] @@ -720,9 +493,9 @@ Texture2D: Hash: 00000000000000000000000000000000 m_IsAlphaChannelOptional: 0 serializedVersion: 3 - m_Width: 512 - m_Height: 512 - m_CompleteImageSize: 262144 + m_Width: 1 + m_Height: 1 + m_CompleteImageSize: 1 m_MipsStripped: 0 m_TextureFormat: 1 m_MipCount: 1 @@ -747,8 +520,8 @@ Texture2D: m_LightmapFormat: 0 m_ColorSpace: 0 m_PlatformBlob: - image data: 262144 - _typelessdata: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406070a0d0f11121313131211100e0c0908060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406070a0d0f11121313131211100e0c09080603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d101314171a1c1d1f1f20201f1e1d1b181615130f0a0502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d101314171a1c1d1f1f20201f1e1d1b181615130f0a0502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b1012181d20202326292a2c2c2d2c2c2b29282522211f1b15120e090300000000000000000000000000000000000000000000000000000000000000000000000000000000050b1012181d20202326292a2c2c2d2c2c2b29282522211f1b15120e09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f161c1d24292c2d303335373839393939383634322f2e2b26211e1a140e0903000000000000000000000000000000000000000000000000000000000000000000000000040a0f161c1d24292c2d303335373839393939383634322f2e2b26211e1a140e09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c161b21272c2f35393a3d40424445464646454443413f3c3b37322d2b261f1a140d0500000000000000000000000000000000000000000000000000000000000000000000060c161b21272c2f35393a3d40424445464646454443413f3c3b37322d2b261f1a140d050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a111721272c3338394045474a4d4f50525253535251504e4b4947433c3a37312a251f170f0600000000000000000000000000000000000000000000000000000000000000030a111721272c3338394045474a4d4f50525253535251504e4b4947433c3a37312a251f170f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c151c232832383d44484b515356595c5d5f5f605f5f5e5c5b5855534e4846423c3631292117110a0300000000000000000000000000000000000000000000000000000000040c151c232832383d44484b515356595c5d5f5f605f5f5e5c5b5855534e4846423c3631292117110a03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d161e262e343d43484f54555d606366686a6b6c6c6c6c6b696765625f5855534d46423b3328231c150c030000000000000000000000000000000000000000000000000000040d161e262e343d43484f54555d606366686a6b6c6c6c6c6b696765625f5855534d46423b3328231c150c0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d161f2830383f444e54596063676d707375777879797978777674726f6a67615f57534d453f342e261e150c02000000000000000000000000000000000000000000000000030d161f2830383f444e54596063676d707375777879797978777674726f6a67615f57534d453f342e261e150c020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f28313a424a505860626b70757a7d80828385858686858483817e7c78736e69615e5751443f3830261e140a0000000000000000000000000000000000000000000000010b151f28313a424a505860626b70757a7d80828385858686858483817e7c78736e69615e5751443f3830261e140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313a434c545c606a6f767d8285898c8f909292939292918f8e8b8884807b756e69625b504a423830261c11060000000000000000000000000000000000000000000007121d27313a434c545c606a6f767d8285898c8f909292939292918f8e8b8884807b756e69625b504a423830261c1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e18242f39434c555d666d737c83898e9298999b9d9e9f9f9f9f9e9c9a9896918d87817b726d605c544a42382e23170d040000000000000000000000000000000000000000040e18242f39434c555d666d737c83898e9298999b9d9e9f9f9f9f9e9c9a9896918d87817b726d605c544a42382e23170d0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c16202935404b555d676d78808790959b9fa2a9a19e9c9b9a9a9b9d9fa3a8a19e99938e867f746d665c544a3f34281f160c01000000000000000000000000000000000000020c16202935404b555d676d78808790959b9fa2a9a19e9c9b9a9a9b9d9fa3a8a19e99938e867f746d665c544a3f34281f160c0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323a45515d676d79828d93999fa7a39f9a97928f8e8d8e8f9092999c9ea6a49f98928b81786d665c50443e31281d130700000000000000000000000000000000000008131e28323a45515d676d79828d93999fa7a39f9a97928f8e8d8e8f9092999c9ea6a49f98928b81786d665c50443e31281d13070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a44505a606d79828f949fa4a79f99928d8885838181818283868a8f949ea0a8a29f938e81786d605a50433a2f24180d0100000000000000000000000000000000010d1925303a44505a606d79828f949fa4a79f99928d8885838181818283868a8f949ea0a8a29f938e81786d605a50433a2f24180d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c56626c75818e949fa6a69f959086817c797674747475777a7d828991969fa7a59e938d80736c61554b4035291d12070000000000000000000000000000000005111d2935414c56626c75818e949fa6a69f959086817c797674747475777a7d828991969fa7a59e938d80736c61554b4035291d1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e68717e8b939ea6a89f948f837b746f6c6568676768676d70757c8490959fa8a59d928a7d70675d5145392f24180c000000000000000000000000000000000713202d3946525e68717e8b939ea6a89f948f837b746f6c6568676768676d70757c8490959fa8a59d928a7d70675d5145392f24180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c56616d7a85929fa5aca0968f82796e6962605b535a5b555d60636a6f7a839096a1ada49e9184796d60554b4035291d1004000000000000000000000000000005111d2935414c56616d7a85929fa5aca0968f82796e6962605b535a5b555d60636a6f7a839096a1ada49e9184796d60554b4035291d100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6874808d97a2ada59d9184796d675f575350494e4e4b51535860686d7a84919ea6ada1968c7f73675d5145392c1f130700000000000000000000000000000713202d3946525d6874808d97a2ada59d9184796d675f575350494e4e4b51535860686d7a84919ea6ada1968c7f73675d5145392c1f130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929fa9aa9e93897c6f675d554d46443f41414045474e565e68707d8a949faba89e9285796d6053473a2f24180c00000000000000000000000000000714212e3a4754616d7a86929fa9aa9e93897c6f675d554d46443f41414045474e565e68707d8a949faba89e9285796d6053473a2f24180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5765727f8c98a2aea89b8f82756b60554b433c37332d2f35393d444c56616b7683909caaada1978a7e7164554b4035291d100400000000000000000000000005121e2a36424d5765727f8c98a2aea89b8f82756b60554b433c37332d2f35393d444c56616b7683909caaada1978a7e7164554b4035291d10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535e697783909daaaca196897c6f63594f433a312b272224292c323a444f5964717e8a98a2aea99c8f8275675d5145392c1f13060000000000000000000000000714212d3a46535e697783909daaaca196897c6f63594f433a312b272224292c323a444f5964717e8a98a2aea99c8f8275675d5145392c1f13060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8795a0abab9e9184786c6053463d31281f1b17181d2029323e4753606d7985929facac9f92867a6d6053473a2d2014070000000000000000000000000815212e3b4854616e7b8795a0abab9e9184786c6053463d31281f1b17181d2029323e4753606d7985929facac9f92867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a7b1a79a8d8074655b5044372b1f160f0b0c1017202c3845515d6775828f9ca8aea399897d7063564a3d3023170a0000000000000000000000000b1825313e4b5864717e8b97a7b1a79a8d8074655b5044372b1f160f0b0c1017202c3845515d6775828f9ca8aea399897d7063564a3d3023170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f49536874818e9ba7b4aa978a7d716453493f3327190d04000005101d2935404b5566727f8c99a5b5ab998c807366594d4033261a070000000000000000000000030f1b27333f49536874818e9ba7b4aa978a7d716453493f3327190d04000005101d2935404b5566727f8c99a5b5ab998c807366594d4033261a07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b657783909daaaea298877b6e6154483b2d221708000000000c18242f3d4a5663707d8996abb5a89b8e8275685b4f422f24180d010000000000000000000005121f2b3744505b657783909daaaea298877b6e6154483b2d221708000000000c18242f3d4a5663707d8996abb5a89b8e8275685b4f422f24180d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7985929facac9f928579695e53463a2d211406000000000715212e3b4854616e7b8799a3aeaa9d9184776a554b4035291d1004000000000000000000000613202d394653606c7985929facac9f928579695e53463a2d211406000000000715212e3b4854616e7b8799a3aeaa9d9184776a554b4035291d1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8798a2aeaa9d9084776a574d42362a1e1205000000000613202d394653606c7986929facac9f928579675d5145392c201306000000000000000000000814212e3b4754616e7a8798a2aeaa9d9084776a574d42362a1e1205000000000613202d394653606c7986929facac9f928579675d5145392c201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8895aab4a99c8f8276695c4f4331251a0e020000000006121f2b3844505b667884919eabaea298867a6d6053473a2d201407000000000000000000000916222f3c4955626f7c8895aab4a99c8f8276695c4f4331251a0e020000000006121f2b3844505b667884919eabaea298867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a89b8e8175685b4e4235281b090000000000030f1c28333f4a546a7784909daab4aa94877b6e6154483b2e211508000000000000000000000a1724303d4a5763707d8a96a3b0a89b8e8175685b4e4235281b090000000000030f1c28333f4a546a7784909daab4aa94877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0a79a8d8174675a4e4134271b0e0100000000000b17222d43505d697683909ca9aea195887b6e6255483b2f22140c050000000000000000000b1724313e4a5764717d8a97a4b0a79a8d8174675a4e4134271b0e0100000000000b17222d43505d697683909ca9aea195887b6e6255483b2f22140c050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8d8074675a4d4134271a0e010000000000061d293643505c6976838f9ca9afa295887c6f6255493c2e261e170f0600000000000000000b1825313e4b5864717e8b97a4b1a79a8d8074675a4d4134271a0e010000000000061d293643505c6976838f9ca9afa295887c6f6255493c2e261e170f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1a69a8d8073675a4d4034271a0d010000000003101c2936434f5c6976828f9ca9afa295897c6f6256493f38302921180f06000000000000000b1825323e4b5865717e8b98a4b1a69a8d8073675a4d4034271a0d010000000003101c2936434f5c6976828f9ca9afa295897c6f6256493f38302921180f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8d8074675a4d4134271a0e010000000003101d293643505c6976838f9ca9aea295887b6f6256504a423b332a21180f050000000000000b1825313e4b5864717e8b97a4b1a79a8d8074675a4d4134271a0e010000000003101d293643505c6976838f9ca9aea295887b6f6256504a423b332a21180f050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0a79a8d8174675a4e4134271b0e010000000003101d2a3643505d697683909ca9aea195887b6e68605c544d453c332a21170c0300000000000b1724313e4a5764717d8a97a4b0a79a8d8174675a4e4134271b0e010000000003101d2a3643505d697683909ca9aea195887b6e68605c544d453c332a21170c0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a89b8e8175685b4e4235281b08000000000004111d2a3744505d6a7783909daab3a79a8d807a736d665e574e453c33291e150b00000000000a1724303d4a5763707d8a96a3b0a89b8e8175685b4e4235281b08000000000004111d2a3744505d6a7783909daab3a79a8d807a736d665e574e453c33291e150b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995abb5a89c8f8275695c4f423025190e020000000005111d2935414c566b7784919eaab7a99d928d867f786e695f574e453b30271c1207000000000916232f3c4956626f7c8995abb5a89c8f8275695c4f423025190e020000000005111d2935414c566b7784919eaab7a99d928d867f786e695f574e453b30271c1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8799a3afaa9d9083776a564c41362a1e1105000000000713202d3946525e687985929facafa59e9b98928c837b6e6a5f574d42392e23180c020000000815212e3b4854616e7b8799a3afaa9d9083776a564c41362a1e1105000000000713202d3946525e687985929facafa59e9b98928c837b6e6a5f574d42392e23180c020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986929facab9f928578685e5246392d201407000000000714212e3a4754616d7a8798a2aeaa9e938f8b929590847c6e695e544a4034281e13080000000713202d3a4653606d7986929facab9f928578685e5246392d201407000000000714212e3a4754616d7a8798a2aeaa9e938f8b929590847c6e695e544a4034281e130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844515c667784919daaada297877a6e6154473b2e21140a00000000091623303c4956636f7c8996aab4a89b8f817e85909591857b6e665c51443a3025190d01000006121f2c3844515c667784919daaada297877a6e6154473b2e21140a00000000091623303c4956636f7c8996aab4a89b8f817e85909591857b6e665c51443a3025190d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404a546875828e9ba8b3a9968a7d7063574a3d31261b0d040000030f1b27333f495365717e8b98a4b5ab998c7f737b8390959083786d60564c4135291d1105000004101c2834404a546875828e9ba8b3a9968a7d7063574a3d31261b0d040000030f1b27333f495365717e8b98a4b5ab998c7f737b8390959083786d60564c4135291d11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3f4c5865727f8b98a8b2a6998d807366584e43372b1f15100c0b0f141f2b3744505b6574818e9ba7afa399897d706e798390958c7f73685e5246392d20150a0000000c18232e3f4c5865727f8b98a8b2a6998d807366584e43372b1f15100c0b0f141f2b3744505b6574818e9ba7afa399897d706e798390958c7f73685e5246392d20150a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000716222f3c4955626f7c8896a1acaa9d9083776a5f53473c31271f1c18171b1f2630394653606c7884919eabac9f92867a6d676e7b869292857a6d6154473c32271b0f0300000716222f3c4955626f7c8896a1acaa9d9083776a5f53473c31271f1c18171b1f2630394653606c7884919eabac9f92867a6d676e7b869292857a6d6154473c32271b0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7884919eabaca095887c6f62584e4339302c282322272b2f38424d57626f7c8996a1adaa9c8f8376675f6973808d988c807366584e43372b1f130600000613202d394653606c7884919eabaca095887c6f62584e4339302c282322272b2f38424d57626f7c8996a1adaa9c8f8376675f6973808d988c807366584e43372b1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b6573808d99a4afa79a8e81746a5f554b423c38342e2d33373b414a545f6974818e9ba8aea2988b7e726557626e7b88969184776a6054473b2e221508000005121f2b3744505b6573808d99a4afa79a8e81746a5f554b423c38342e2d33373b414a545f6974818e9ba8aea2988b7e726557626e7b88969184776a6054473b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f4953616e7b87939fabac9f92877c6f675c544e46444041413f44464c535c666e7b86929facaa9f92867a6d60575f6a78849196887c6f6255493c2f2216090000030f1b27333f4953616e7b87939fabac9f92877c6f675c544e46444041413f44464c535c666e7b86929facaa9f92867a6d60575f6a78849196887c6f6255493c2f2216090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3847535f6975828f99a3aea3999083796d665f5753514a4e4e495053565e656d78829099a3aea2988d81746861646c6c75828f988b7f7265584c3f3225190c0000000b17222d3847535f6975828f99a3aea3999083796d665f5753514a4e4e495053565e656d78829099a3aea2988d81746861646c6c75828f988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b2b37424d57626e7b87929fa6ab9f958f81786e6a63605c545b5a535b6062686e77818e949faba69f92867b6e616c70797979818e9a8e8174675b4e4134281b0e00000006111b2b37424d57626e7b87929fa6ab9f958f81786e6a63605c545b5a535b6062686e77818e949faba69f92867b6e616c70797979818e9a8e8174675b4e4134281b0e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a26313c47535f6a73808d949fa8a79e938f837b74706d6668676768656c6f737a828e939da6a89f948c7f726964707d8686868e939c8f8376695c504336291d10000000000e1a26313c47535f6a73808d949fa8a79e938f837b74706d6668676768656c6f737a828e939da6a89f948c7f726964707d8686868e939c8f8376695c504336291d100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009151f2b37424e57606d78829096a0a7a69e959087817c79767574747576797c80868f949da5a8a0969082786d6064707d8a93939b9e9d9083776a5d5044372a1d110000000009151f2b37424e57606d78829096a0a7a69e959087817c79767574747576797c80868f949da5a8a0969082786d6064707d8a93939b9e9d9083776a5d5044372a1d1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030e1a26313c44515c666e7a8490959ea5a79f99928e898583828181818385888d92989ea6a59e9691847a6d665c64707d8a979fa8aa9e9184776b5e5144382b1e1100000000030e1a26313c44515c666e7a8490959ea5a79f99928e898583828181818385888d92989ea6a59e9691847a6d665c64707d8a979fa8aa9e9184776b5e5144382b1e1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915202834404a545e686e7b838e939da0a7a39f9b9892908e8e8d8e9092979a9fa2a8a09e938f847b6e685e5464707d8a97a3acab9e9184786b5e5145382b1e1200000000000915202834404a545e686e7b838e939da0a7a39f9b9892908e8e8d8e9092979a9fa2a8a09e938f847b6e685e5464707d8a97a3acab9e9184786b5e5145382b1e120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c18232e39424c565e696e79818990959b9fa2aaa29f9d9b9a9a9b9c9ea1a9a39f9c96918a827a6e695e565764707d8a979f9f9f9e9184786b5e5145382b1e120000000000030c18232e39424c565e696e79818990959b9fa2aaa29f9d9b9a9a9b9c9ea1a9a39f9c96918a827a6e695e565764707d8a979f9f9f9e9184786b5e5145382b1e1200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121c27303b444d565e676d747d83898e9298999b9d9e9f9f9f9f9e9d9b9999928f8a847e756d685e574d5764707d8a93939393939184786b5e5145382b1e1200000000000007121c27303b444d565e676d747d83898e9298999b9d9e9f9f9f9f9e9d9b9999928f8a847e756d685e574d5764707d8a93939393939184786b5e5145382b1e12000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e29323b444d555d606b70777d8285898c8e90919292929291908f8c8a86827e78716c605d564d4a5764707d8686868686868684786b5e5145382b1e12000000000000000b151e29323b444d555d606b70777d8285898c8e90919292929291908f8c8a86827e78716c605d564d4a5764707d8686868686868684786b5e5145382b1e1200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c172029323b434b515960636b7075797d7f82838585868685858382807d7a75716d66615a524c434955616c70797979797979797872685c5043372a1d1100000000000000030c172029323b434b515960636b7075797d7f82838585868685858382807d7a75716d66615a524c434955616c70797979797979797872685c5043372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e172029313940454f54596063676d70737576787879797978777573706d6764605c545045413a44505a61646c6c6c6c6c6c6c6b6860564b3f33271b0f0000000000000000050e172029313940454f54596063676d70737576787879797978777573706d6764605c545045413a44505a61646c6c6c6c6c6c6c6b6860564b3f33271b0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e171f272f353d44484f55555d606366686a6b6c6c6c6c6b6a686663605d5553504a423e35333e48505557606060606060605e5c564e443a2f23170b000000000000000000050e171f272f353d44484f55555d606366686a6b6c6c6c6c6b6a686663605d5553504a423e35333e48505557606060606060605e5c564e443a2f23170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d151d242933383d44484b515356595b5d5e5f5f5f5f5e5d5c595754514b46443f3830292c363e44494a5353535353535351504b443c32281d120700000000000000000000050d151d242933383d44484b515356595b5d5e5f5f5f5f5e5d5c595754514b46443f3830292c363e44494a5353535353535351504b443c32281d12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b121821272c3338394045474a4c4f50525253535252504f4d4a4745413a38342e261e232c33393c3d4646464646464645433f3a322a20160c010000000000000000000000030b121821272c3338394045474a4c4f50525253535252504f4d4a4745413a38342e261e232c33393c3d4646464646464645433f3a322a20160c0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c161c21272c2f35383a3d4042434545464646454442403d3a39352f2b28231c141a22282d3031393939393939393837332f2820180f050000000000000000000000000001070c161c21272c2f35383a3d4042434545464646454442403d3a39352f2b28231c141a22282d3031393939393939393837332f2820180f05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b10161c1d24292c2d30333537383939393938373533302d2c29241f1c17110a10171c2023242d2d2d2d2d2d2d2b2a27231d160f0600000000000000000000000000000000050b10161c1d24292c2d30333537383939393938373533302d2c29241f1c17110a10171c2023242d2d2d2d2d2d2d2b2a27231d160f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b1012181d1f202326282a2b2c2c2c2c2b2a29262421201d1813100b0600050b10141617202020202020201e1d1b17120c0500000000000000000000000000000000000000050b1012181d1f202326282a2b2c2c2c2c2b2a29262421201d1813100b0600050b10141617202020202020201e1d1b17120c0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c10131417191c1d1f1f20201f1f1d1c1a171413110d0703000000000004080a0a1313131313131312110f0b07010000000000000000000000000000000000000000000001070c10131417191c1d1f1f20201f1f1d1c1a171413110d0703000000000004080a0a1313131313131312110f0b0701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000406070a0d0f10121213131312110f0d0a07060401000000000000000000000006060606060606050402000000000000000000000000000000000000000000000000000000000406070a0d0f10121213131312110f0d0a0706040100000000000000000000000606060606060605040200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406070a0d0f11121313131211100e0c09080603000000000000000000000000000000000000000000000000000000000000000000000000020507080b0e111212131212100e0c0808060200000000000000010406070c101213131211100e0b0a0804000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d101314171a1c1d1f1f20201f1e1d1b181515120f0a05020000000000000000000000000000000000000000000000000000000000000003090e121415181b1d1e1f201f1f1d1b191514120e090400000001080d111314191c1f1f201f1e1d1a171714110c0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b1012181d20202326292a2c2c2d2c2c2b29282522211f1b15120e0903000000000000000000000000000000000000000000000000000000040a0f141a1e212225282a2b2c2c2c2b2a282522211e1a15100c07040c13191d202126292b2c2c2c2b29272423211c17100800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f161c1d24292c2d303335373839393939383634322f2e2b26211e1a140e0902000000000000000000000000000000000000000000000000070c161b1f262a2d2e31353738393939383735322f2e2b261f1c18120d161e24292c2d32363839393838363431302d28221a12080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c161b21272c2f35393a3d40424445464646454443413f3c3b37322d2a251f19140d05000000000000000000000000000000000000000000030b121821272c31363a3b3e4144454546454543413f3b3a37312c29231d1a1f282f35393a3f43454646454443413e3c39332c241a10050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a111721272c3338394045474a4d4f50525253535251504e4b4847433c3a36312a251f170e0600000000000000000000000000000000000000040c151d232832383b4246484b4e505152535252504e4c4847423c38342f27232c313a4145474c4f5252535251504d4a49453e362c22170c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c151c232832383d44484b515356595c5d5f5f605f5f5e5c5b5855534e4846423b3630292017110a0200000000000000000000000000000000040d161e272e343d43484d5355585b5d5e5f5f5f5e5d5b5855534d474540393128353e434c5154595c5e5f5f5f5e5c5a575550483e33281c11040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d161e262e343d43484f54555d606366686a6b6c6c6c6c6b696765625f5854534d46423b3228221c140b020000000000000000000000000000010c161f28303940454f54575f6164686a6b6c6c6c6b6a6865625f5753514b433e343e474f555d6065696b6c6c6b6b696764615a5045392d21140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d161f2830383f444e54596063676d707375777879797978777674726f6a67615e57524d443f332d261d140b020000000000000000000000000007131d28313a424b51596063696e71747778787978787674726e6965605c5550443f474f5961676d727678797978777674716c6155493c3023170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f28313a424a505860626b70757a7d80828385858686858483817e7c78736e69615e5650443f382f261d140a000000000000000000000000030c18242f3a434b545c606b6f757b7e8183848586858583817f7b77726d67615a504a4f59616b707a7f82848586858483807e7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313a434c545c606a6f767d8285898c8f909292939292918f8e8b8884807b756e69625a504a42382f261c110600000000000000000000000a151e2935404b555d666d747c82878b8e909192929291908e8b88847e79706c605c5454606b707d858c8f91929292918f8d83776a5d5144372a1e110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e18242f39434c555d666d737c83898e9298999b9d9e9f9f9f9f9e9c9a9896918d87817b716c605b544a42382d22170d0300000000000000000006111c26303845515d676d7881898f939a9b9d9e9f9f9f9e9d9b9895918b857d746d665c5c66707d8792979c9e9f9f9e9e9c9084776a5d5144372a1e1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c16202935404b555d676d78808790959b9fa2a9a19e9c9b9a9a9b9d9fa3a8a19e99928e867e746c665b544a3f33281f150b0100000000000000000c17232e3842505a606d79828d929c9fa4acaaa39f9d9c9b9c9e9fa09d97918a81786d67606d79849199a2a9a9a29f9895949084776a5d5144372a1e110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323a45515d676d79828d93999fa7a39f9a97928f8e8d8e8f9092999c9ea6a39f98928b80786c665b50443d31271d12070000000000000003101c28343f4a54626c75818e949da4aca79f9d9892908f8f8f9193999a9f9e938e81796d64717d8a96a0ababa297928b88878883776a5d5144372a1e11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a44505a606d79828f949fa4a79f99928d8885838181818283868a8f949ea0a8a29f928d81786c60594f43392f23180c0000000000000006121f2c3844505c66717e8b939ea6aea49d95908a86838282838486898d92989f938e81756d75828e9ba8afa39992857f7b7a7b7d706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c56626c75818e949fa6a69f959086817c797674747475777a7d828991969fa7a49d938c80736b60554b4034291d12070000000000000713202d3a4653606d7884919ea5afa69d928d837d7977757576777a7d81858d9299938c7f727885919eabac9f92877c726e6e6e706b6054483b2f2216090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e68717e8b939ea6a89f948f837b746f6c6568676768676d70757c8490959fa8a59f93887d70675c5145392e23180c0000000000030f1b27333f495364717e8b96a1acab9e948d8078706d67696869676d70747a8087919593877c7a8796a1ada89c8f82756a6261626360594f44382c201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c56616d7a85929fa5aca0968f82796e6962605b535a5b555d60636a6f7a839096a1ada49a9184796d60544b4034281c10040000000005121f2b3744505b6575828f9ba8afa4998f82776d66605c555c555d6063686d737c83909490837c8895a9b2a5988b7f726558545556544f473d32271b100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6874808d97a2ada59d9184796d675f575350494e4e4b51535860686d7a84919ea6aca0968c7f72665c5145382c1f1307000000000613202d394653606c7985929eabac9f93877b6e655c54514b4f4b5153565d616a6f7a8290959083909da9afa396897c70635649484948443d352b21160b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929fa9aa9e93897c6f675d554d46443f41414045474e565e68707d8a949faba89e9184796d6053463a2e23180c000000000815222e3b4855616e7b8897a1ada99d9083766a5f534a4540424045474c52585f686d7983909590959fabaea195887b6e6255483b3d3b38322b23190f04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5765727f8c98a2aea89b8f82756b60554b433c37332d2f35393d444c56616b7683909caaada1968a7d7164544b4034281c10040000000916232f3c4956626f7c8995a9b3a79a8d807467574e4138342f35393a41464e565d676e7b86929d9fa7b1aea194877b6e6154483b302f2c27211911070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535e697783909daaaca196897c6f63594f433a312b272224292c323a444f5964717e8a98a2aea89b8e8275665c5145382c1f13060000000a1724303d4a5763707d8a96a3b0a5998c7f7266594c3f2f2824292c30353c444c555f69727f8b96a1acb9aea194877b6e6154483b2e21201b160f07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8795a0abab9e9184786c6053463d31281f1b17181d2029323e4753606d7985929facac9f9286796d6053463a2d2013070000000b1724313e4a5764717d8a97a4b0a5988c7f7265594c3f2e23181d1f2429323a434d57606d7984919eacb6aea194877b6e6154483b2e2115100b0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a7b1a79a8d8074655b5044372b1f160f0b0c1017202c3845515d6775828f9ca8aea298897c6f6356493c302316090000000a1724303d4a5763707d8a96abb5a6998c807366544a3f3428211e1a192028313b45515c66727f8c9aa4afaea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f49536874818e9ba7b4aa978a7d716453493f3327190d04000005101d2935404b5566727f8c99a5b4aa998c7f7266594c3f332619070000000916222f3c4955626f7c8899a4afa89b8e8275665c50443a322d2a262727262834404b54616e7b87939facaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b657783909daaaea298877b6e6154483b2d221708000000000c18242f3d4a5663707d8996abb5a89b8e8175685b4e422e23180c0000000714212d3a4754606d7a86939facab9e9285796d60564c443d3a3631343333322e3946525e697784919daaaea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7985929facac9f928579695e53463a2d211406000000000715212e3b4854616e7b8799a3aeaa9d9083776a554b4034281c100400000613202c3945515d677783909dabada1978a7e71685d564f484642424140403f3f3f424d566875818e9ba8aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8798a2aeaa9d9084776a574d42362a1e1205000000000613202d394653606c7986929facab9f928578675c5145382c1f1306000004111d2935414b556673808c99a3afa99e91847a6d68605955534d4f4d4d4c4c4c4b4b4d5a6774808d9aa7aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8895aab4a99c8f8276695c4f4331251a0e020000000006121f2b3844505b667884919eabada29786796d6053463a2d2013070000010d18242f3b4854616e7b86929fa8aca19690827a706b65615f575b5a5a5959585858585a6673808d99a6aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a89b8e8175685b4e4235281b090000000000030f1c28333f4a546a7784909daab3a994877b6e6154483b2e2115080000000714212d3a46535e6974818d96a1aaa89f9490847d76726e696a686766666565656564646673808d99a6aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0a79a8d8174675a4e4134271b0e0100000000000b17222d43505d697683909ca9aea195887b6e6255483b2f22150800000005121e2a36424d57606d7a849198a1a9a69f969189837e7b7876757473737272727171717173808d99a6aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8d8074675a4d4134271a0e010000000000061d293643505c6976838f9ca9afa295887c6f6255493c2f221609000000020e1a25313b45525d686f7c8692979ea6a8a09e95908b8885838280807f7f7f7e7e7e7e7d7d818e9ba8aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1a69a8d8073675a4d4034271a0d010000000003101c2936434f5c6976828f9ca9afa295897c6f6256493c2f2316090000000009141f2935414c565f6a6f7c858f949c9fa4a79f9d989792908e8d8d8c8c8b8b8b8b8a8a8a8e939eaaaea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8d8074675a4d4134271a0e010000000003101d293643505c6976838f9ca9afa295887c6f6255493c2f22160900000000030d19242f3a434e58606a6f7a82898f939a9c9fa2a9a29f9d9b9a999998989898979797979b9ea5afaea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0a79a8d8174675a4e4134271b0e010000000003101d2a3643505d697683909ca9aea195887b6e6255483b2f221508000000000008131e28313c464e5860686e757d82878c8f929897999a9b9c9d9d9d9e9e9e9e9f9f9f9fa3abaeb6aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a89b8e8175685b4e4235281b08000000000004111d2a3744505d6a7783909daab4aa94887b6e6155483b2e2215080000000000010c161f2a343c464e565e616b70767b7f8385888a8c8d8f8f9090919191919292929292999ca4aeaea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995abb5a89c8f8275695c4f423025190e020000000005111d2935414c566b7784919eaaaea398877a6d6054473a2d211407000000000000040d18222b343c444c52596063696e7276797c7d7f81828383848484848585858585868d929ca8aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8799a3afaa9d9083776a564c41362a1e1105000000000713202d3946525e687985929facac9f928579675d5145392c201306000000000000050e171e252a323b41464f54575f6165666d6f71737475767677777778787878797979808d99a6aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986929facab9f928578685e5246392d201407000000000714212e3a4754616d7a8798a2aeaa9e9184776b554b4135291d11040000000000020d1720293036393a3e3f44484d5355545c606264666768696a6a6a6b6b6b6b6c6c6c73808d99a6aea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844515c667784919daaada297877a6e6154473b2e21140a00000000091623303c4956636f7c8996aab4a89c8f8275695c4f422f24180d01000000000008131e29323a4146474b4c4d4e4f51524a50535557595a5c5c5d5d5e5e5e5e5f5f5f6673808d99a6aea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404a546875828e9ba8b3a9968a7d7063574a3d31261b0d040000030f1b27333f495365717e8b98a4b1a69a8d8073675a4d4034271a070000000000010d1925303a444c525457595a5b5c5d5e5b5953484a4c4e4f5050515151515252525a6774818d9aa7ada194877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3f4c5865727f8b98a8b2a6998d807366584e43372b1f15100c0b0f141f2b3744505b6574818e9ba7b1a7978a7d7164574a3e3124170b000000000005111e2a36414c565e6164656768696a6b68655d534840414243434444444545454e5b6875818e9ba8b3a994877a6d6154473a2e211407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000716222f3c4955626f7c8896a1acaa9d9083776a5f53473c31271f1c18171b1f2630394653606c7884919eabaca095877a6e6154473b2e21140800000000000713202d3946525e686d71727374767778756f65594d3c323536373737383837424d576976838f9ca9ada19786796d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7884919eabaca095887c6f62584e4339302c282322272b2f38424d57626f7c8996a1adab9d908377685e5246392d20140700000000000714212e3a4754616d7a7e7f8081828485817568584e43372d2c2823292c303847535f697885929eabab9e918578665c5145382c1f13060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b6573808d99a4afa79a8e81746a5f554b423c38342e2d33373b414a545f6974818e9ba8afa4998c7f7366564d41362a1e110500000000000815222e3b4855616e7b888c8d8e8f909184776a5f53473f3a38342f34383a424c56626e7b8897a2ada99c90837669544b4034281c100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f4953616e7b87939fabac9f92877c6f675c544e46444041413f44464c535c666e7b86929facab9f93877b6e6155483b3025190e0200000000000714212d3a46535f697884919a9b9c9d96887c6f625a504a46443f434045474c545e6873808d99a9b2a89a8d8073675a4d402e23180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3847535f6975828f99a3aea3999083796d665f5753514a4e4e495053565e656d78829099a3aea4998f8275695f53463a2d1f140800000000000005121e2a36424d576874818e9ba6a9a89b8e81756c605b5453504a504b5153565e666d7a85929eabaca196897c706356493d3023160700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b2b37424d57626e7b87929fa6ab9f958f81786e6a63605c545b5a535b6062686e77818e949faba79f93877c6f62574d42362a1e0d02000000000000020e1a26313c4955626f7c88949faaaa9e938a7e726c6662605c545d555c6063686d78828f97a1ada89e9184786d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a26313c47535f6a73808d949fa8a79e938f837b74706d6668676768656c6f737a828e939da6a9a0958d80746a5f53453b31261a0e00000000000000000915222e3b4754606a76828f98a3aea59f92877f78726e6d666a696a676d6f747a828f949ea9aaa0968b7f72665c5044382b1f12060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009151f2b37424e57606d78829096a0a7a69e959087817c79767574747576797c80868f949da5a9a1979183796d60584e4333291f1409000000000000000006131f2b37434e58626f7c86929fa4aea399928b837f7b797777767777797c80868f949ea6aba3989184796d60544a3f34281c100300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030e1a26313c44505c666e7a8490959da5a79f99928e898583828181818385888d92989ea6a69f9791857c6e675d51463c3221170d030000000000000000030f1b27323c47535f6a717e8b929fa3aaa39f95908c8886848383838486898d92989fa6a9a29992867c6f665c5142382e23170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009152028343f4a545e686e7a838e939da0a7a39f9b9892908e8e8d8e9092979a9fa2a8a19e948f857c6f6a5f554b40342a200f06000000000000000000000a15202b37434e58626c737f8a92989fa4a7a09d989992919090909192999a9fa2aaa59e9792877e716a60544b4030261c1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c17232e38424c565e686e79818990959b9fa2aaa29f9d9b9a9a9b9c9ea1a9a39f9c96918b827a6f6a5f574e43392f22180e0000000000000000000000040f1b26323c46505a636d737e868e93999ea0a8aba39f9e9d9c9d9e9fa3aba9a29f9a938e857d716c61584e42392e1e140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303b444d565e676d747d83898e9298999b9d9e9f9f9f9f9e9d9b9999928f8a847e776e685f584e453c31281d10060000000000000000000000000a15202a343f48525b636c717b81878d9196979a9c9d9e9e9f9f9f9e9d9b9997928e88817b706b615a50463c30271d0c020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151e29323b444d555d606b70777d8285898c8e90919292929291908f8c8a86827e79716c655e564e463c332a1f160c00000000000000000000000000040e18222d364049525a61696e747b8084888b8d8f90919292929291908e8c8985817c756e69615950483e342b1e150b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c172029323b434b515960636b7075797d7f82838585868685858382807d7a76716d66605b534c443c342a21180d04000000000000000000000000000006101b242e37404850575e616a6e73777b7e80828484858686858483817f7c79746f6a615e574f473e362c22190c030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e1720313a434a4e4f54596063676d70727576787879797878777573706d6864605c5450494140382f22180f060000000000000000000000000000000009121c252e363e454d53585f62666a6f717375777878797979787675726f6d66625f58524d5345413a32281e130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a16222d38434d555b5d606060555d606366686a6b6c6c6c6c6b6a686663605d566060605a58524a40362b1f13070000000000000000000000000000000004101c27333d474f5556606060585f626467696a6b6b6c6c6c6b6a686663605c54606060605f524c443a3024190d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1a26323e4a555f666a6c6c6c6c64615a595b5d5e5f5f5f5f5e5d5c535b60666c6c6c6c67645c52473c3023170b000000000000000000000000000000000714202c38444f5961636c6c6c6c69615d565c5d5e5f5f5f5f5e5d5b59575f616a6c6c6c6c6c5d564c4135291d110400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936424e5b66717679797978716c605c544d5252535352524f565e656c7279797979746e64584c3f33261a0d000000000000000000000000000000000916232f3c4855616b7079797979756d686058515152535352514b515a61696e777979797976685d5245392c20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2a3743505d6a7683868686857e746d665f57504540424a505960686d777f868686868074675a4d4134271a0e010000000000000000000000000000000a1723303d4a5663707d86868686827a6f6a625b524c4446464e555d606c717b83868686867a6d6054473a2d211407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303d495663707d879298928a80786e69615a514b4d545b606b707a828c929891857b6e6154483b2e211508000000000000000000000000000000000713202d3a4653606d78828f95948f847c726d605d564e4550585f676d747e869095938c8073685d5245392c201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3b4854606b717e8b929f928d837b706c605c54565e666c737d858f949a92867c6f695e52463a2d2014070000000000000000000000000000000006121f2b3844505c666d798390979691877f756d686058515a626a6f79818a9298958e81776c60564c4135291d1104000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202c38444f59626c73808d949d9590857e746d665f60686e78808791979f93887e716a60574d42362a1e12050000000000000000000000000000000003101c28343f4a545d676e7b85929899928c827a6f6a625d606c717c838e939f969083796d655b50443a3024190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010710192029303d47505a606c78828f959f97928a80786e696b707a828c93999e938c7f736c61584e453b30251a0e02000000000000000000000000000000050c151d232e38424c555f696f7d86929f9f938f847c726d676d757e8690959d9891847a6e675d53493f32281e13080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b1218222b323b424a51535b666d79839097a19f928d837b71737d858f949f9f948e81756d635a50463c33291f1409000000000000000000000000000000070f171e272e343f464e5457606b717e8b929c9e9691877f757079818b9298a09992867c6f685e554b41382d20160c0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d151d2429343d444c545c60676c676e7b859198a39d9590857d808892979fa1969082796d605b51483e342b21170d020000000000000000000000000001071119212930394045505860626b6c6c73808d939ea199928c827c848e939fa29f93877e706a5f564c43392f261b0e0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080f171f272f353f464f565e666d74797979787c86929aa49f97928a8d939aa1a29891847a6d675c514940362c22190f0500000000000000000000000000040c1218232b333b424b515a626a6f7879797979818e959fa39f938f8991969ea59d938c7f726c61584e443b31271d140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a212931394045515960686e788086868685797e88939fa5a29f97999fa4a39992867c6f685e554b40372e241a100700000000000000000000000000040d161d2429353d454d545c606c717c848686867f79839096a1a59e9b969ea0a89f948e81746d635a50463c32291f150b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a232c333b434b515b626b6f7a828d92958c7f72737f8c939ea79f9f9f9fa49f92877d706a5f564c43392e251c120800000000000000000000000000010c161f282f353f474f575e666d747e8691969184796e7b849198a29f9f9f9fa9a0968f82786d605b51473e342a20170d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005101a232c353d454d555d606d727d8590949d9184786d6d75818e95939393939393928b7f726b61584e443a30271d130a000000000000000000000000000007121d2831394045515960696e78818b9298958b7e71696f7c86929a93939393939791847a6d665c51493f352c22180e05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222c363e474f575e676d747f8791979e94897d7066606d7983868686868686868680746d62594f463c32291e150b0100000000000000000000000000010d18242f39434b515b626b707b838e939f9a9083786c606a707e8786868686868686857b6e685e544a40372d231a10060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c28333e48505960696e79818b9299a1988f82756b605c676d767979797979797979746e645b51473e342a20170c03000000000000000000000000000004101d2935404b555d606d727d8590959d9f93877c6f655b616c707979797979797979786e695f564c42392e251c110800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814202d3944505a616b707b838e939fa39f92867b6e6159555c606a6c6c6c6c6c6c6c6c67645c53493f352c22180e050000000000000000000000000000000613202c3945515d676d757f8792979fa2978e81746a60535a61646c6c6c6c6c6c6c6c6c625f574d443a30271c130a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303c4955616c707d859095939393968d8073695f534b51535d60606060606060605a58534a41372d231a1006000000000000000000000000000000000714202d3a4753606d79818c929993939392857a6d61584e50555760606060606060605f55534d453c32281e150b010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d878686868686868684796d60574d4245475053535353535353534e4c4841382f251b11080000000000000000000000000000000000111d2a3744505d6a778386868686868686867f72685e524644494a5353535353535353524847423c332a20160c03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303c4955616c707979797979797979786d675d51453c383a43464646464646464641403c362f261d1309000000000000000000000000000000000000101d2936424f5b6671777979797979797979726d62564c41393c3d4646464646464646453b3a37312a21180e0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814202d3944505a61646c6c6c6c6c6c6c6c6b605d554b40332c2d3739393939393939393433302b251d140b010000000000000000000000000000000000000e1a26333e4a555f666a6c6c6c6c6c6c6c6c65625b51443a3030313939393939393939392f2e2b2620180f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c28333e4850555760606060606060605e53514b433a2f21202a2d2d2d2d2d2d2d2d2727241f1a130b02000000000000000000000000000000000000000a16222d39434d555b5d6060606060606060595751493f322923242d2d2d2d2d2d2d2d2c22211e1a150e0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222c363e44494a5353535353535353524745403a31281d141d20202020202020201b1a18140f0801000000000000000000000000000000000000000005111c27313b434a4f5053535353535353534c4a463f372d20171720202020202020201f1514120e090300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005101a232c33393c3d4646464646464646453a39352f281f160c1013131313131313130e0d0b080300000000000000000000000000000000000000000000000b151f2931393e424446464646464646463f3e3a352d251b0e0a1313131313131313120808060200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a22282d30313939393939393939382d2c29241d160d0404060606060606060601010000000000000000000000000000000000000000000000000000030d171f272d333637393939393939393932312e29231b13090006060606060606060600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000810171c2023242d2d2d2d2d2d2d2d2b20201d18130c04000000000000000000000000000000000000000000000000000000000000000000000000000000050d151c2226292a2d2d2d2d2d2d2d2d2625221e1811090100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b1014161720202020202020201f1413110d07010000000000000000000000000000000000000000000000000000000000000000000000000000000000030b11161a1d1d2020202020202020191816120d07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080a0a13131313131313131207060401000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050a0e101113131313131313130c0b09060100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080b0e111212131212100e0c0808060200000000000000010406070c101213131211100e0b0a0804000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e121415181b1d1e1f201f1f1d1b191514120e090400000001080d111314191c1f1f201f1e1d1a171714110c0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f141a1e212225282a2b2c2c2c2b2a282522211e1a15100c07040c13191d202126292b2c2c2c2b29272423211c1710080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c161b1f262a2d2e31353738393939383735322f2e2b261f1c18120d161e24292c2d32363839393838363431302d28221a12080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b121821272c31363a3b3e4144454546454543413f3b3a37312c29231d1a1f282f35393a3f43454646454443413e3c39332c241a1005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c151d232832383b4246484b4e505152535252504e4c4847423c38342f27232c313a4145474c4f5252535251504d4a49453e362c22170c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d161e272e343d43484d5355585b5d5e5f5f5f5e5d5b5855534d474540393128353e434c5154595c5e5f5f5f5e5c5a575550483e33281c1104000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f28303940454f54575f6164686a6b6c6c6c6b6a6865625f5753514b433e343e474f555d6065696b6c6c6b6b696764615a5045392d21140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131d28313a424b51596063696e71747778787978787674726e6965605c5550443f474f5961676d727678797978777674716c6155493c3023170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c18242f3a434b545c606b6f757b7e8183848586858583817f7b77726d67615a504a4f59616b707a7f82848586858483807e7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151e2935404b555d666d747c82878b8e909192929291908e8b88847e79706c605c5454606b707d858c8f91929292918f8d83776a5d5144372a1e110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303845515d676d7881898f939a9b9d9e9f9f9f9e9d9b9895918b857d746d665c5c66707d8792979c9e9f9f9e9e9c9084776a5d5144372a1e11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c17232e3842505a606d79828d929c9fa4acaaa39f9d9c9b9c9e9fa09d97918a81786d67606d79849199a2a9a9a29f9895949084776a5d5144372a1e1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54626c75818e949da4aca79f9d9892908f8f8f9193999a9f9e938e81796d64717d8a96a0ababa297928b88878883776a5d5144372a1e1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c66717e8b939ea6aea49d95908a86838282838486898d92989f938e81756d75828e9ba8afa39992857f7b7a7b7d706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7884919ea5afa69d928d837d7977757576777a7d81858d9299938c7f727885919eabac9f92877c726e6e6e706b6054483b2f2216090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f495364717e8b96a1acab9e948d8078706d67696869676d70747a8087919593877c7a8796a1ada89c8f82756a6261626360594f44382c201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b6575828f9ba8afa4998f82776d66605c555c555d6063686d737c83909490837c8895a9b2a5988b7f726558545556544f473d32271b100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7985929eabac9f93877b6e655c54514b4f4b5153565d616a6f7a8290959083909da9afa396897c70635649484948443d352b21160b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b8897a1ada99d9083766a5f534a4540424045474c52585f686d7983909590959fabaea195887b6e6255483b3d3b38322b23190f040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995a9b3a79a8d807467574e4138342f35393a41464e565d676e7b86929d9fa7b1aea194877b6e6154483b302f2c2721191107000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a5998c7f7266594c3f2f2824292c30353c444c555f69727f8b96a1acb9aea194877b6e6154483b2e21201b160f0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0a5988c7f7265594c3f2e23181d1f2429323a434d57606d7984919eacb6aea194877b6e6154483b2e2115100b040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96abb5a6998c807366544a3f3428211e1a192028313b45515c66727f8c9aa4afaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8899a4afa89b8e8275665c50443a322d2a262727262834404b54616e7b87939facaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86939facab9e9285796d60564c443d3a3631343333322e3946525e697784919daaaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d677783909dabada1978a7e71685d564f484642424140403f3f3f424d566875818e9ba8aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414b556673808c99a3afa99e91847a6d68605955534d4f4d4d4c4c4c4b4b4d5a6774808d9aa7aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f3b4854616e7b86929fa8aca19690827a706b65615f575b5a5a5959585858585a6673808d99a6aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535e6974818d96a1aaa89f9490847d76726e696a686766666565656564646673808d99a6aea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d57606d7a849198a1a9a69f969189837e7b7876757473737272727171717173808d99a6aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a25313b45525d686f7c8692979ea6a8a09e95908b8885838280807f7f7f7e7e7e7e7d7d818e9ba8aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f2935414c565f6a6f7c858f949c9fa4a79f9d989792908e8d8d8c8c8b8b8b8b8a8a8a8e939eaaaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d19242f3a434e58606a6f7a82898f939a9c9fa2a9a29f9d9b9a999998989898979797979b9ea5afaea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28313c464e5860686e757d82878c8f929897999a9b9c9d9d9d9e9e9e9e9f9f9f9fa3abaeb6aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2a343c464e565e616b70767b7f8385888a8c8d8f8f9090919191919292929292999ca4aeaea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18222b343c444c52596063696e7276797c7d7f81828383848484848585858585868d929ca8aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e171e252a323b41464f54575f6165666d6f71737475767677777778787878797979808d99a6aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d1720293036393a3e3f44484d5355545c606264666768696a6a6a6b6b6b6b6c6c6c73808d99a6aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e29323a4146474b4c4d4e4f51524a50535557595a5c5c5d5d5e5e5e5e5f5f5f6673808d99a6aea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a444c525457595a5b5c5d5e5b5953484a4c4e4f5050515151515252525a6774818d9aa7ada194877a6e6154473b2e2114080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414c565e6164656768696a6b68655d534840414243434444444545454e5b6875818e9ba8b3a994877a6d6154473a2e211407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e686d71727374767778756f65594d3c323536373737383837424d576976838f9ca9ada19786796d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a7e7f8081828485817568584e43372d2c2823292c303847535f697885929eabab9e918578665c5145382c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b888c8d8e8f909184776a5f53473f3a38342f34383a424c56626e7b8897a2ada99c90837669544b4034281c1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f697884919a9b9c9d96887c6f625a504a46443f434045474c545e6873808d99a9b2a89a8d8073675a4d402e23180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d576874818e9ba6a9a89b8e81756c605b5453504a504b5153565e666d7a85929eabaca196897c706356493d302316070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a26313c4955626f7c88949faaaa9e938a7e726c6662605c545d555c6063686d78828f97a1ada89e9184786d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222e3b4754606a76828f98a3aea59f92877f78726e6d666a696a676d6f747a828f949ea9aaa0968b7f72665c5044382b1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e58626f7c86929fa4aea399928b837f7b797777767777797c80868f949ea6aba3989184796d60544a3f34281c1003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27323c47535f6a717e8b929fa3aaa39f95908c8886848383838486898d92989fa6a9a29992867c6f665c5142382e23170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202b37434e58626c737f8a92989fa4a7a09d989992919090909192999a9fa2aaa59e9792877e716a60544b4030261c11060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040f1b26323c46505a636d737e868e93999ea0a8aba39f9e9d9c9d9e9fa3aba9a29f9a938e857d716c61584e42392e1e140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202a343f48525b636c717b81878d9196979a9c9d9e9e9f9f9f9e9d9b9997928e88817b706b615a50463c30271d0c0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e18222d364049525a61696e747b8084888b8d8f90919292929291908e8c8985817c756e69615950483e342b1e150b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006101b242e37404850575e616a6e73777b7e80828484858686858483817f7c79746f6a615e574f473e362c22190c030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121c252e373f454d53585f62666a6f717375777878797979787675726f6d66625f58524d514c463d34291f13080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d29343f49515658606060585f626467696a6b6b6c6c6c6b6a686663605c546060605f5d574f463b3024180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222e3a45515b62656c6c6c6c67605c555c5d5e5f5f5f5f5e5d5b595960636b6c6c6c6c6961574c4135281c10030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313d4a56626d7279797979746d675f57505152535352514c535b606b6f787979797873695d5144382b1e12050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1825323f4b5865727e8686868681796e69615a514b433f444e565e656c727d8486868685786c5f5245392c1f12060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d79839097928d837b716c605d554e49505860686d777f879196928b7e7165584b3e3225180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d676e7b8591989590867e746d675f58535b606a6f7a828c9299938d80736c6256493d3024170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b555e696f7c86929a98928a81796f6a625d656c727c848f949f958f82786c605a5045392d21150600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f39434d57606a717e88939f9f938e837c716c686d777f8791969e979083796d665b50483f312a2217110a0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d28313b454e58616c737f8c939e9d9591867e75707a828c9299a19891857b6e675d54514c433c3428231c140c050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f29333d46505a636d75818e959fa098928b817d848f949fa39a92867c6f696c68605d554e463e342e261e160e070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d17212b343e48515b606d79839096a1a29f938e8991969ea59f93887e77797979756d675f5850443f383028201910090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f19222c364045515c676d7a849198a2a59e9b969ea1a79e938c7f778386868682796e6a615a504a423a322b221b120a010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007101a242834404b555e686f7c869299a39f9f9f9fa89f958e8175707d8a94938f847c716c605c544c443d342d241c130a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081218232e39434c565f6a707d8792939393939393969083796d6b75828f999691867e736d665e564e463f362d251c1107000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27303a444e58616b727f8686868686868686847a6d67626e7b87929f98928a80786d68605850483f372d23180d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e29323c464f59626d727979797979797979786d685e5f6973808d97a19f928d827a6f6a625a51493f352a1e12060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c17202a343e47515b62656c6c6c6c6c6c6c6c6b615e5657606d7a85919ea49d948f847c716c635b51463a2e221609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e18222c353f4951565860606060606060605e54524c515d67717e8b959393939691867e726d63574a3e3125180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006101a232d373f464a4c5353535353535353514746414b55606c778386868686868686867f7265594c3f3226190c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111b252d343a3e3f4646464646464646453a393a44505b656c767979797979797979726d63574a3e3125180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009131b23292e31323939393939393939382e2d333f49535b606a6c6c6c6c6c6c6c6c65635b51463a2e221609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010911181e2225252d2d2d2d2d2d2d2d2b21222d38414950535d6060606060606060595751493f352a1e12060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070d1216181920202020202020201e141b262f383f44465053535353535353534c4a463f372d23180d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000106090b0c1313131313131313120a141d262d3337394346464646464646463f3e3a352d251c1107000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060606060606060605020b141b22272b2d37393939393939393932312e2a231c130a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171b1f202a2d2d2d2d2d2d2d2d2625221e18110a0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f12131d2020202020202020191816120d0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000305061013131313131313130c0c0906010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003070b0d0e1313131313131313120f0a050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080e13171a1a20202020202020201e1b1610090100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b12191f2326272d2d2d2d2d2d2d2d2b27211b130a010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b141d242b303334393939393939393937332c251c1309000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008121d262f363c3f414646464646464646433e372e251b1005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030e19242f3840474c4d53535353535353534f4940372c21160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131f2b36404a52585a606060606060605f5a52493e33271b0f0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1723303c47525c64676c6c6c6c6c6c6c6c645a4f43372b1e120500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a26333f4c58646e7479797979797979766c5f5346392d20130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a67748086868686868686796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d939393939386796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9a9f9f9f9386796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7ac9f9386796c605346392d2013060606060606060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002081a2734414d5a6774808d9a9f9f9f9386796c605346392d201313131313131313070704010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e13192734414d5a6774808d939393939386796c605346392d2014202020202020201413110d080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b151a1e252934414d5a67748086868686868686796c605346392d20212d2d2d2d2d2d2d21201d19130c0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a111720262b3035393a4c58646e7479797979797979766c5f534639292d3939393939393939392c29241e160e040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b141b222731373a4146474a525c64676c6c6c6c6c6c6c6c645a4f433035394646464646464646463935302820160c02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d151d262d333c42474c5254575a5c5e5e606060606060605f504a46413a414653535353535353535345413a32281e13080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f272f383f444e53565e616467696a6b6c6c6b6b696663605c54524c444c525f606060606060605f524c443a3024190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d273139414950575f62686d7073767778797978777573706d66615e5650565d6c6c6c6c6c6c6c6c6c5d564c4135291d1104000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232f39434b535b606a6e747a7d808384858686858482807c79736d68615a5d68767979797979797976685d5245392c20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2934404b555c656c737b81868a8d8f9191929292918f8d8985807a716c64616d7a868686868686867a6d6054473a2d2114070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e18222c3845515c676d7780878e92999a9c9d9e9f9f9e9e9c9997928c857e736e616e7b88939393939386796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202c38444f59606d79818c939a9fa3aba9a8aaa29f9e9e9e9fa29e97928a80746e6f7b88959f9f9f928579655b5044372b1f120500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b26323c4854606b74818e939fa4acaba39f9b979892919192939a999d9f928d80746f7c8996a2ab9e9285786b5f493f33271b0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e5863707d89939da5afa8a199928e8a878584848586888c90959e928b7f727d8996a3ab9e9185786b5e52452d22170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b47535f6a7683909da5afaaa1969187817d7a79787778797c7f838b919792877c7d8a97a3ab9e9184786b5e5145382b1e0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c88959fabaea29891847c75706d686b6b666d6f73787e85919590837e8a97a4ab9e9184786b5e5145382b1e120500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a546673808d99a7b1ab9f92867c6f6a64615e56545c6062666c717b8391959083909daaaa9e9184776b5e5144382b1e110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c667683909da9afa3998c80736a605854524c4a5153545b60696e7a8491959095a0abaa9e9184776b5e5144382b1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986929facac9f92867a6d61584e4746414044464a50575e686f7c87929da0a7b1aa9e9184776b5e5144382b1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b8898a3aea99c908376685e52463c393634383a3f444d56606a73808d99a3afb7aa9e9184776b5e5144382b1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303d495663707c8996aab4a79a8d807467564c41342d2a282c2d333b444e58616e7b86929facb7aa9e9184776b5e5144382b1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0a5988b7e7265584b3f30251d1c1f2228323d46525e6975828f9ba8b5aa9e9184776b5e5144382b1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b0a3978a7d7064574a3d312417101217202a36424d5764717e8b97a9b3aa9e9184776b5e5144382b1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a5afa296897c6f6356493c30231609060e1a25303b4855626e7b8897a2adaa9e9184776b5e5144382b1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295897c6f6256493c2f231609000913202d394653606c7985929fabaa9e9184776b5e5144382b1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f2216090005121f2b3744505b657784919daaaa9e9184776b5e5144382b1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900030f1b27333f49536a7683909da9aa9e9184776b5e5144382b1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900000b17222d424f5c6975828f9ca8aa9e9184776b5e5144382b1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f2216090000061c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5aca295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b989f9f9f95887c6f6255493c2f22160900020f1c2935424f5c6875828f9b9f9f9e9184776b5e5144382b1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b9393939393887c6f6255493c2f22160900020f1c2935424f5c6875828f939393939184776b5e5144382b1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f868686868686867c6f6255493c2f22160900020f1c2935424f5c68758186868686868684776b5e5144382b1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313e4a56626d7279797979797979766a5f53473b2e21150800020e1b2834414d59656f757979797979797772675c4f43372a1d11040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222e3a46515b62656c6c6c6c6c6c6c625f584e43372b1f130600000c1925313d49545d65686c6c6c6c6c6c6b6760564b3f33271b0e0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121e29343f495156586060606060606055534e463c32261b0f0300000915212c37424b54595c6060606060605e5c564e44392e23170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18232d373f464a4c535353535353534947433c342a20150a00000004101b26303942494d4f535353535353514f4b443c32281d1206000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b252d343a3e3f464646464646463c3b37322a22180e040000000009141e2730373d414246464646464644433f39322a20160c0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009131b23292e3132393939393939392f2e2b26201810060000000000020c151e262c3134353939393939393837332e2820180e0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010911181e2224252d2d2d2d2d2d2d22211f1b150e0600000000000000030c141b212528292d2d2d2d2d2d2b2a27231d160e0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d12151819202020202020201615130f0a0400000000000000000002091015191b1c2020202020201e1d1b17120c040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000106090b0c13131313131313090806030000000000000000000000000004090c0e0f13131313131311110e0b0601000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080b0e111212131212100e0c0808060200000000000000010406070c101213131211100e0b0a0804000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e121415181b1d1e1f201f1f1d1b191514120e090400000001080d111314191c1f1f201f1e1d1a171714110c0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f141a1e212225282a2b2c2c2c2b2a282522211e1a15100c07040c13191d202126292b2c2c2c2b29272423211c1710080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c161b1f262a2d2e31353738393939383735322f2e2b261f1c18120d161e24292c2d32363839393838363431302d28221a12080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b121821272c31363a3b3e4144454546454543413f3b3a37312c29231d1a1f282f35393a3f43454646454443413e3c39332c241a1005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c151d232832383b4246484b4e505152535252504e4c4847423c38342f27232c313a4145474c4f5252535251504d4a49453e362c22170c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d161e272e343d43484d5355585b5d5e5f5f5f5e5d5b5855534d474540393128353e434c5154595c5e5f5f5f5e5c5a575550483e33281c1104000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f28303940454f54575f6164686a6b6c6c6c6b6a6865625f5753514b433e343e474f555d6065696b6c6c6b6b696764615a5045392d21140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131d28313a424b51596063696e71747778787978787674726e6965605c5550443f474f5961676d727678797978777674716c6155493c3023170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c18242f3a434b545c606b6f757b7e8183848586858583817f7b77726d67615a504a4f59616b707a7f82848586858483807e7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151e2935404b555d666d747c82878b8e909192929291908e8b88847e79706c605c5454606b707d858c8f91929292918f8d83776a5d5144372a1e110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303845515d676d7881898f939a9b9d9e9f9f9f9e9d9b9895918b857d746d665c5c66707d8792979c9e9f9f9e9e9c9084776a5d5144372a1e11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c17232e3842505a606d79828d929c9fa4acaaa39f9d9c9b9c9e9fa09d97918a81786d67606d79849199a2a9a9a29f9895949084776a5d5144372a1e1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54626c75818e949da4aca79f9d9892908f8f8f9193999a9f9e938e81796d64717d8a96a0ababa297928b88878883776a5d5144372a1e1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c66717e8b939ea6aea49d95908a86838282838486898d92989f938e81756d75828e9ba8afa39992857f7b7a7b7d706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7884919ea5afa69d928d837d7977757576777a7d81858d9299938c7f727885919eabac9f92877c726e6e6e706b6054483b2f2216090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f495364717e8b96a1acab9e948d8078706d67696869676d70747a8087919593877c7a8796a1ada89c8f82756a6261626360594f44382c201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b6575828f9ba8afa4998f82776d66605c555c555d6063686d737c83909490837c8895a9b2a5988b7f726558545556544f473d32271b100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7985929eabac9f93877b6e655c54514b4f4b5153565d616a6f7a8290959083909da9afa396897c70635649484948443d352b21160b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b8897a1ada99d9083766a5f534a4540424045474c52585f686d7983909590959fabaea195887b6e6255483b3d3b38322b23190f040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995a9b3a79a8d807467574e4138342f35393a41464e565d676e7b86929d9fa7b1aea194877b6e6154483b302f2c2721191107000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a5998c7f7266594c3f2f2824292c30353c444c555f69727f8b96a1acb9aea194877b6e6154483b2e21201b160f0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0a5988c7f7265594c3f2e23181d1f2429323a434d57606d7984919eacb6aea194877b6e6154483b2e2115100b040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96abb5a6998c807366544a3f3428211e1a192028313b45515c66727f8c9aa4afaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8899a4afa89b8e8275665c50443a322d2a262727262834404b54616e7b87939facaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86939facab9e9285796d60564c443d3a3631343333322e3946525e697784919daaaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d677783909dabada1978a7e71685d564f484642424140403f3f3f424d566875818e9ba8aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414b556673808c99a3afa99e91847a6d68605955534d4f4d4d4c4c4c4b4b4d5a6774808d9aa7aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f3b4854616e7b86929fa8aca19690827a706b65615f575b5a5a5959585858585a6673808d99a6aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535e6974818d96a1aaa89f9490847d76726e696a686766666565656564646673808d99a6aea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d57606d7a849198a1a9a69f969189837e7b7876757473737272727171717173808d99a6aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a25313b45525d686f7c8692979ea6a8a09e95908b8885838280807f7f7f7e7e7e7e7d7d818e9ba8aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f2935414c565f6a6f7c858f949c9fa4a79f9d989792908e8d8d8c8c8b8b8b8b8a8a8a8e939eaaaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d19242f3a434e58606a6f7a82898f939a9c9fa2a9a29f9d9b9a999998989898979797979b9ea5afaea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28313c464e5860686e757d82878c8f929897999a9b9c9d9d9d9e9e9e9e9f9f9f9fa3abaeb6aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2a343c464e565e616b70767b7f8385888a8c8d8f8f9090919191919292929292999ca4aeaea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18222b343c444c52596063696e7276797c7d7f81828383848484848585858585868d929ca8aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e171e252a323b41464f54575f6165666d6f71737475767677777778787878797979808d99a6aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d1720293036393a3e3f44484d5355545c606264666768696a6a6a6b6b6b6b6c6c6c73808d99a6aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e29323a4146474b4c4d4e4f51524a50535557595a5c5c5d5d5e5e5e5e5f5f5f6673808d99a6aea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a444c525457595a5b5c5d5e5b5953484a4c4e4f5050515151515252525a6774818d9aa7ada194877a6e6154473b2e2114080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414c565e6164656768696a6b68655d534840414243434444444545454e5b6875818e9ba8b3a994877a6d6154473a2e211407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e686d71727374767778756f65594d3c323536373737383837424d576976838f9ca9ada19786796d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a7e7f8081828485817568584e43372d2c2823292c303847535f697885929eabab9e918578665c5145382c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b888c8d8e8f909184776a5f53473f3a38342f34383a424c56626e7b8897a2ada99c90837669544b4034281c1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f697884919a9b9c9d96887c6f625a504a46443f434045474c545e6873808d99a9b2a89a8d8073675a4d402e23180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d576874818e9ba6a9a89b8e81756c605b5453504a504b5153565e666d7a85929eabaca196897c706356493d302316070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a26313c4955626f7c88949faaaa9e938a7e726c6662605c545d555c6063686d78828f97a1ada89e9184786d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222e3b4754606a76828f98a3aea59f92877f78726e6d666a696a676d6f747a828f949ea9aaa0968b7f72665c5044382b1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e58626f7c86929fa4aea399928b837f7b797777767777797c80868f949ea6aba3989184796d60544a3f34281c1003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27323c47535f6a717e8b929fa3aaa39f95908c8886848383838486898d92989fa6a9a29992867c6f665c5142382e23170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202b37434e58626c737f8a92989fa4a7a09d989992919090909192999a9fa2aaa59e9792877e716a60544b4030261c11060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040f1b26323c46505a636d737e868e93999ea0a8aba39f9e9d9c9d9e9fa3aba9a29f9a938e857d716c61584e42392e1e140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202a343f48525b636c717b81878d9196979a9c9d9e9e9f9f9f9e9d9b9997928e88817b706b615a50463c30271d0c0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e18222d364049525a61696e747b8084888b8d8f90919292929291908e8c8985817c756e69615950483e342b1e150b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006101b242e37404850575e616a6e73777b7e80828484858686858483817f7c79746f6a615e574f473e362c22190c030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121c252e363e454d53585f62666a6f717375777878797979787675726f6d66625f58524d453d352c241a10070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a131c242c333b42464e5355585f626467696a6b6b6c6c6c6b6a686663605c54534e46423b332c231a120800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010a121a212931363c4347484e5355585f676a6c6c6c6b67605d5b595653514b47433c363029201a110800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080f171f252a31373a3c4347485b6771777979797772675753514b4645403937322a251f170e08000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d141a20262b2e313744515e6a778486868684776b63605c5450483f372b26201a140d05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e151a1f21263744515e6a7784919391847774706d66615a51493f342b20150a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a0f171c2b3744515e6a7784919d928783817d79716c625b51463c32271b0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a22282d3744515e6a778491979992908d8a847e726d62584e43372b1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e1a232c33393c44515e6a7784888a8e92999a96918a7f726a6054473b2e221507000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d17202c363e44494a4854616e7a7b7d8187929fa19e92877c6f6255493c2f24180d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008141f29323e4850555754535e686e6f71747e8a98a2a3998f827568554b4135291d110400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1925303b44505a6164615e575e6162646c7985929fab9f928578675d5145392c2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414d56616c706e6968676666676d7a86929faca298877a6d6054473a2d211407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3946525e68707d7b78757473737479818e99a3ac9f9286796c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7b8887848281807f81858e939eaba59d908377665b5044382b1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a5465727e8b96918f8d8c8c8e92979ea5a19e938b7e7165544a3f33281c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c6675828f989a9b9a99999a9e9e9c9a97928b81756c625642382d22170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7884888b8e909192929292918f8d8a857f776c605a50452f261c11060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c666d777c7e818384858686858483817d79726c655b50483f341d140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a545c606a6f7274767778797978787674706d67605b53493f362d220b020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e38424a50585f626567696b6c6c6c6c6b696764605d55504941382d241b110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2630383f444e5355585b5d5e5f5f5f5f5e5c5a5753514b443f382f261b120900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141e262e343c4347484b4e50515253535251504e4a47454039332d261d140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c141c232832373b3c3f414344454646454543413d3a38352f27221b140b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a111720262b2e2f3234363839393939383634312d2c29241d17110a0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b151b1f212225282a2b2c2c2c2c2b292724201f1d18120b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f121515181b1d1e1f20201f1e1d1b171413100c070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030608090c0e10111213131212100e0a070604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406070a0d0f11121313131211100e0c090806030000000000000000000000000000000000000000000000000000000000000000000000020507080b0e111212131212100e0c0808060200000000000000010406070c101213131211100e0b0a080400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d101314171a1c1d1f1f20201f1e1d1b181515120f0a050200000000000000000000000000000000000000000000000000000000000003090e121415181b1d1e1f201f1f1d1b191514120e090400000001080d111314191c1f1f201f1e1d1a171714110c050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b1012181d20202326292a2c2c2d2c2c2b29282522211f1b15120e09030000000000000000000000000000000000000000000000000000040a0f141a1e212225282a2b2c2c2c2b2a282522211e1a15100c07040c13191d202126292b2c2c2c2b29272423211c1710080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f161c1d24292c2d303335373839393939383634322f2e2b26211e1a140e09020000000000000000000000000000000000000000000000070c161b1f262a2d2e31353738393939383735322f2e2b261f1c18120d161e24292c2d32363839393838363431302d28221a1208000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c161b21272c2f35393a3d40424445464646454443413f3c3b37322d2a251f19140d050000000000000000000000000000000000000000030b121821272c31363a3b3e4144454546454543413f3b3a37312c29231d1a1f282f35393a3f43454646454443413e3c39332c241a1005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a111721272c3338394045474a4d4f50525253535251504e4b4847433c3a36312a251f170e06000000000000000000000000000000000000040c151d232832383b4246484b4e505152535252504e4c4847423c38342f27232c313a4145474c4f5252535251504d4a49453e362c22170c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c151c232832383d44484b515356595c5d5f5f605f5f5e5c5b5855534e4846423b3630292017110a02000000000000000000000000000000040d161e272e343d43484d5355585b5d5e5f5f5f5e5d5b5855534d474540393128353e434c5154595c5e5f5f5f5e5c5a575550483e33281c1104000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d161e262e343d43484f54555d606366686a6b6c6c6c6c6b696765625f5854534d46423b3228221c140b0200000000000000000000000000010c161f28303940454f54575f6164686a6b6c6c6c6b6a6865625f5753514b433e343e474f555d6065696b6c6c6b6b696764615a5045392d2114080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d161f2830383f444e54596063676d707375777879797978777674726f6a67615e57524d443f332d261d140b0200000000000000000000000007131d28313a424b51596063696e71747778787978787674726e6965605c5550443f474f5961676d727678797978777674716c6155493c3023170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f28313a424a505860626b70757a7d80828385858686858483817e7c78736e69615e5650443f382f261d140a0000000000000000000000030c18242f3a434b545c606b6f757b7e8183848586858583817f7b77726d67615a504a4f59616b707a7f82848586858483807e7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313a434c545c606a6f767d8285898c8f909292939292918f8e8b8884807b756e69625a504a42382f261c1106000000000000000000000a151e2935404b555d666d747c82878b8e909192929291908e8b88847e79706c605c5454606b707d858c8f91929292918f8d83776a5d5144372a1e11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e18242f39434c555d666d737c83898e9298999b9d9e9f9f9f9f9e9c9a9896918d87817b716c605b544a42382d22170d03000000000000000006111c26303845515d676d7881898f939a9b9d9e9f9f9f9e9d9b9895918b857d746d665c5c66707d8792979c9e9f9f9e9e9c9084776a5d5144372a1e110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c16202935404b555d676d78808790959b9fa2a9a19e9c9b9a9a9b9d9fa3a8a19e99928e867e746c665b544a3f33281f150b01000000000000000c17232e3842505a606d79828d929c9fa4acaaa39f9d9c9b9c9e9fa09d97918a81786d67606d79849199a2a9a9a29f9895949084776a5d5144372a1e11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323a45515d676d79828d93999fa7a39f9a97928f8e8d8e8f9092999c9ea6a39f98928b80786c665b50443d31271d120700000000000003101c28343f4a54626c75818e949da4aca79f9d9892908f8f8f9193999a9f9e938e81796d64717d8a96a0ababa297928b88878883776a5d5144372a1e1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a44505a606d79828f949fa4a79f99928d8885838181818283868a8f949ea0a8a29f928d81786c60594f43392f23180c00000000000006121f2c3844505c66717e8b939ea6aea49d95908a86838282838486898d92989f938e81756d75828e9ba8afa39992857f7b7a7b7d706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c56626c75818e949fa6a69f959086817c797674747475777a7d828991969fa7a49d938c80736b60554b4034291d120700000000000713202d3a4653606d7884919ea5afa69d928d837d7977757576777a7d81858d9299938c7f727885919eabac9f92877c726e6e6e706b6054483b2f221609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e68717e8b939ea6a89f948f837b746f6c6568676768676d70757c8490959fa8a59f93887d70675c5145392e23180c00000000030f1b27333f495364717e8b96a1acab9e948d8078706d67696869676d70747a8087919593877c7a8796a1ada89c8f82756a6261626360594f44382c20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c56616d7a85929fa5aca0968f82796e6962605b535a5b555d60636a6f7a839096a1ada49a9184796d60544b4034281c100400000005121f2b3744505b6575828f9ba8afa4998f82776d66605c555c555d6063686d737c83909490837c8895a9b2a5988b7f726558545556544f473d32271b10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6874808d97a2ada59d9184796d675f575350494e4e4b51535860686d7a84919ea6aca0968c7f72665c5145382c1f13070000000613202d394653606c7985929eabac9f93877b6e655c54514b4f4b5153565d616a6f7a8290959083909da9afa396897c70635649484948443d352b21160b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929fa9aa9e93897c6f675d554d46443f41414045474e565e68707d8a949faba89e9184796d6053463a2e23180c0000000815222e3b4855616e7b8897a1ada99d9083766a5f534a4540424045474c52585f686d7983909590959fabaea195887b6e6255483b3d3b38322b23190f0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5765727f8c98a2aea89b8f82756b60554b433c37332d2f35393d444c56616b7683909caaada1968a7d7164544b4034281c100400000916232f3c4956626f7c8995a9b3a79a8d807467574e4138342f35393a41464e565d676e7b86929d9fa7b1aea194877b6e6154483b302f2c2721191107000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535e697783909daaaca196897c6f63594f433a312b272224292c323a444f5964717e8a98a2aea89b8e8275665c5145382c1f130600000a1724303d4a5763707d8a96a3b0a5998c7f7266594c3f2f2824292c30353c444c555f69727f8b96a1acb9aea194877b6e6154483b2e21201b160f0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8795a0abab9e9184786c6053463d31281f1b17181d2029323e4753606d7985929facac9f9286796d6053463a2d20130700000b1724313e4a5764717d8a97a4b0a5988c7f7265594c3f2e23181d1f2429323a434d57606d7984919eacb6aea194877b6e6154483b2e2115100b040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a7b1a79a8d8074655b5044372b1f160f0b0c1017202c3845515d6775828f9ca8aea298897c6f6356493c3023160900000a1724303d4a5763707d8a96abb5a6998c807366544a3f3428211e1a192028313b45515c66727f8c9aa4afaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f49536874818e9ba7b4aa978a7d716453493f3327190d04000005101d2935404b5566727f8c99a5b4aa998c7f7266594c3f3326190700000916222f3c4955626f7c8899a4afa89b8e8275665c50443a322d2a262727262834404b54616e7b87939facaea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b657783909daaaea298877b6e6154483b2d221708000000000c18242f3d4a5663707d8996abb5a89b8e8175685b4e422e23180c00000714212d3a4754606d7a86939facab9e9285796d60564c443d3a3631343333322e3946525e697784919daaaea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7985929facac9f928579695e53463a2d211406000000000715212e3b4854616e7b8799a3aeaa9d9083776a554b4034281c1004000613202c3945515d677783909dabada1978a7e71685d564f484642424140403f3f3f424d566875818e9ba8aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8798a2aeaa9d9084776a574d42362a1e1205000000000613202d394653606c7986929facab9f928578675c5145382c1f13060004111d2935414b556673808c99a3afa99e91847a6d68605955534d4f4d4d4c4c4c4b4b4d5a6774808d9aa7aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8895aab4a99c8f8276695c4f4331251a0e020000000006121f2b3844505b667884919eabada29786796d6053463a2d20130700010d18242f3b4854616e7b86929fa8aca19690827a706b65615f575b5a5a5959585858585a6673808d99a6aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a89b8e8175685b4e4235281b090000000000030f1c28333f4a546a7784909daab3a994877b6e6154483b2e21150800000714212d3a46535e6974818d96a1aaa89f9490847d76726e696a686766666565656564646673808d99a6aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0a79a8d8174675a4e4134271b0e0100000000000b17222d43505d697683909ca9aea195887b6e6255483b2f221508000005121e2a36424d57606d7a849198a1a9a69f969189837e7b7876757473737272727171717173808d99a6aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8d8074675a4d4134271a0e010000000000061d293643505c6976838f9ca9afa295887c6f6255493c2f2216090000020e1a25313b45525d686f7c8692979ea6a8a09e95908b8885838280807f7f7f7e7e7e7e7d7d818e9ba8aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1a69a8d8073675a4d4034271a0d010000000003101c2936434f5c6976828f9ca9afa295897c6f6256493c2f23160900000009141f2935414c565f6a6f7c858f949c9fa4a79f9d989792908e8d8d8c8c8b8b8b8b8a8a8a8e939eaaaea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8d8074675a4d4134271a0e010000000003101d293643505c6976838f9ca9afa295887c6f6255493c2f221609000000030d19242f3a434e58606a6f7a82898f939a9c9fa2a9a29f9d9b9a999998989898979797979b9ea5afaea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0a79a8d8174675a4e4134271b0e010000000003101d2a3643505d697683909ca9aea195887b6e6255483b2f2215080000000008131e28313c464e5860686e757d82878c8f929897999a9b9c9d9d9d9e9e9e9e9f9f9f9fa3abaeb6aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a89b8e8175685b4e4235281b08000000000004111d2a3744505d6a7783909daab4aa94887b6e6155483b2e22150800000000010c161f2a343c464e565e616b70767b7f8385888a8c8d8f8f9090919191919292929292999ca4aeaea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995abb5a89c8f8275695c4f423025190e020000000005111d2935414c566b7784919eaaaea398877a6d6054473a2d2114070000000000040d18222b343c444c52596063696e7276797c7d7f81828383848484848585858585868d929ca8aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8799a3afaa9d9083776a564c41362a1e1105000000000713202d3946525e687985929facac9f928579675d5145392c2013060000000000050e171e252a323b41464f54575f6165666d6f71737475767677777778787878797979808d99a6aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986929facab9f928578685e5246392d201407000000000714212e3a4754616d7a8798a2aeaa9e9184776b554b4135291d110400000000020d1720293036393a3e3f44484d5355545c606264666768696a6a6a6b6b6b6b6c6c6c73808d99a6aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844515c667784919daaada297877a6e6154473b2e21140a00000000091623303c4956636f7c8996aab4a89c8f8275695c4f422f24180d010000000008131e29323a4146474b4c4d4e4f51524a50535557595a5c5c5d5d5e5e5e5e5f5f5f6673808d99a6aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404a546875828e9ba8b3a9968a7d7063574a3d31261b0d040000030f1b27333f495365717e8b98a4b1a69a8d8073675a4d4034271a0700000000010d1925303a444c525457595a5b5c5d5e5b5953484a4c4e4f5050515151515252525a6774818d9aa7ada194877a6e6154473b2e21140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3f4c5865727f8b98a8b2a6998d807366584e43372b1f15100c0b0f141f2b3744505b6574818e9ba7b1a7978a7d7164574a3e3124170b0000000005111e2a36414c565e6164656768696a6b68655d534840414243434444444545454e5b6875818e9ba8b3a994877a6d6154473a2e21140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000716222f3c4955626f7c8896a1acaa9d9083776a5f53473c31271f1c18171b1f2630394653606c7884919eabaca095877a6e6154473b2e211408000000000713202d3946525e686d71727374767778756f65594d3c323536373737383837424d576976838f9ca9ada19786796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7884919eabaca095887c6f62584e4339302c282322272b2f38424d57626f7c8996a1adab9d908377685e5246392d201407000000000714212e3a4754616d7a7e7f8081828485817568584e43372d2c2823292c303847535f697885929eabab9e918578665c5145382c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b6573808d99a4afa79a8e81746a5f554b423c38342e2d33373b414a545f6974818e9ba8afa4998c7f7366564d41362a1e1105000000000815222e3b4855616e7b888c8d8e8f909184776a5f53473f3a38342f34383a424c56626e7b8897a2ada99c90837669544b4034281c10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f4953616e7b87939fabac9f92877c6f675c544e46444041413f44464c535c666e7b86929facab9f93877b6e6155483b3025190e02000000000714212d3a46535f697884919a9b9c9d96887c6f625a504a46443f434045474c545e6873808d99a9b2a89a8d8073675a4d402e23180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3847535f6975828f99a3aea3999083796d665f5753514a4e4e495053565e656d78829099a3aea4998f8275695f53463a2d1f1408000000000005121e2a36424d576874818e9ba6a9a89b8e81756c605b5453504a504b5153565e666d7a85929eabaca196897c706356493d302316070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b2b37424d57626e7b87929fa6ab9f958f81786e6a63605c545b5a535b6062686e77818e949faba79f93877c6f62574d42362a1e0d020000000000020e1a26313c4955626f7c88949faaaa9e938a7e726c6662605c545d555c6063686d78828f97a1ada89e9184786d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a26313c47535f6a73808d949fa8a79e938f837b74706d6668676768656c6f737a828e939da6a9a0958d80746a5f53453b31261a0e000000000000000915222e3b4754606a76828f98a3aea59f92877f78726e6d666a696a676d6f747a828f949ea9aaa0968b7f72665c5044382b1f1206000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009151f2b37424e57606d78829096a0a7a69e959087817c79767574747576797c80868f949da5a9a1979183796d60584e4333291f14090000000000000006131f2b37434e58626f7c86929fa4aea399928b837f7b797777767777797c80868f949ea6aba3989184796d60544a3f34281c10030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030e1a26313c44505c666e7a8490959da5a79f99928e898583828181818385888d92989ea6a69f9791857c6e675d51463c3221170d0300000000000000030f1b27323c47535f6a717e8b929fa3aaa39f95908c8886848383838486898d92989fa6a9a29992867c6f665c5142382e23170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009152028343f4a545e686e7a838e939da0a7a39f9b9892908e8e8d8e9092979a9fa2a8a19e948f857c6f6a5f554b40342a200f060000000000000000000a15202b37434e58626c737f8a92989fa4a7a09d989992919090909192999a9fa2aaa59e9792877e716a60544b4030261c110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c17232e38424c565e686e79818990959b9fa2aaa29f9d9b9a9a9b9c9ea1a9a39f9c96918b827a6f6a5f574e43392f22180e00000000000000000000040f1b26323c46505a636d737e868e93999ea0a8aba39f9e9d9c9d9e9fa3aba9a29f9a938e857d716c61584e42392e1e140a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303b444d565e676d747d83898e9298999b9d9e9f9f9f9f9e9d9b9999928f8a847e776e685f584e453c31281d100600000000000000000000000a15202a343f48525b636c717b81878d9196979a9c9d9e9e9f9f9f9e9d9b9997928e88817b706b615a50463c30271d0c02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151e29323b444d555d606b70777d8285898c8e90919292929291908f8c8a86827e79716c655e564e463c332a1f160c000000000000000000000000040e18222d364049525a61696e747b8084888b8d8f90919292929291908e8c8985817c756e69615950483e342b1e150b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c172029323b434b515960636b7075797d7f82838585868685858382807d7a76716d66605b534c443c342a21180d040000000000000000000000000006101b242e37404850575e616a6e73777b7e80828484858686858483817f7c79746f6a615e574f473e362c22190c03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e1720313a434a4e4f54596063676d70727576787879797878777573706d6864605c5450494140382f22180f0600000000000000000000000000000009121c252e373f454d53585f62666a6f717375777878797979787675726f6d66625f58524d514c463d34291f13080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a16222d38434d555b5d606060555d606366686a6b6c6c6c6c6b6a686663605d566060605a58524a40362b1f130700000000000000000000000000000005111d29343f49515658606060585f626467696a6b6b6c6c6c6b6a686663605c546060605f5d574f463b3024180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1a26323e4a555f666a6c6c6c6c64615a595b5d5e5f5f5f5f5e5d5c535b60666c6c6c6c67645c52473c3023170b0000000000000000000000000000000915222e3a45515b62656c6c6c6c67605c555c5d5e5f5f5f5f5e5d5b595960636b6c6c6c6c6961574c4135281c10030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936424e5b66717679797978716c605c544d5252535352524f565e656c7279797979746e64584c3f33261a0d0000000000000000000000000000000b1824313d4a56626d7279797979746d675f57505152535352514c535b606b6f787979797873695d5144382b1e12050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2a3743505d6a7683868686857e746d665f57504540424a505960686d777f868686868074675a4d4134271a0e0100000000000000000000000000000c1825323f4b5865727e8686868681796e69615a514b433f444e565e656c727d8486868685786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303d495663707d879298928a80786e69615a514b4d545b606b707a828c929891857b6e6154483b2e2115080000000000000000000000000000000714202d3a4753606d79839097928d837b716c605d554e49505860686d777f879196928b7e7165584b3e3225180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3b4854606b717e8b929f928d837b706c605c54565e666c737d858f949a92867c6f695e52463a2d2014070000000000000000000000000000000613202c3945515d676e7b8591989590867e746d675f58535b606a6f7a828c9299938d80736c6256493d3024170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202c38444f59626c73808d949d9590857e746d665f60686e78808791979f93887e716a60574d42362a1e120500000000000000000000000000000004101d2935404b555e696f7c86929a98928a81796f6a625d656c727c848f949f958f82786c605a5045392d21150600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010710192029303d47505a606c78828f959f97928a80786e696b707a828c93999e938c7f736c61584e453b30251a0e02000000000000000000000000000000010d18242f39434d57606a717e88939f9f938e837c716c686d777f8791969e979083796d665b50483f312a2217110a0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b1218222b323b424a51535b666d79839097a19f928d837b71737d858f949f9f948e81756d635a50463c33291f1409000000000000000000000000000000000007121d28313b454e58616c737f8c939e9d9591867e75707a828c9299a19891857b6e675d54514c433c3428231c140c050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d151d2429343d444c545c60676c676e7b859198a39d9590857d808892979fa1969082796d605b51483e342b21170d020000000000000000000000000000000000010c161f29333d46505a636d75818e959fa098928b817d848f949fa39a92867c6f696c68605d554e463e342e261e160e07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080f171f272f353f464f565e666d74797979787c86929aa49f97928a8d939aa1a29891847a6d675c514940362c22190f0500000000000000000000000000000000000000040d17212b343e48515b606d79839096a1a29f938e8991969ea59f93887e77797979756d675f5850443f383028201910090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a212931394045515960686e788086868685797e88939fa5a29f97999fa4a39992867c6f685e554b40372e241a1007000000000000000000000000000000000000000000050f19222c364045515c676d7a849198a2a59e9b969ea1a79e938c7f778386868682796e6a615a504a423a322b221b120a010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a232c333b434b515b626b6f7a828d92958c7f72737f8c939ea79f9f9f9fa49f92877d706a5f564c43392e251c1208000000000000000000000000000000000000000000000007101a242834404b555e686f7c869299a39f9f9f9fa89f958e8175707d8a94938f847c716c605c544c443d342d241c130a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005101a232c353d454d555d606d727d8590949d9184786d6d75818e95939393939393928b7f726b61584e443a30271d130a00000000000000000000000000000000000000000000000000081218232e39434c565f6a707d8792939393939393969083796d6b75828f999691867e736d665e564e463f362d251c110700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222c363e474f575e676d747f8791979e94897d7066606d7983868686868686868680746d62594f463c32291e150b01000000000000000000000000000000000000000000000000000007121d27303a444e58616b727f8686868686868686847a6d67626e7b87929f98928a80786d68605850483f372d23180d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c28333e48505960696e79818b9299a1988f82756b605c676d767979797979797979746e645b51473e342a20170c03000000000000000000000000000000000000000000000000000000000b151e29323c464f59626d727979797979797979786d685e5f6973808d97a19f928d827a6f6a625a51493f352a1e12060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814202d3944505a616b707b838e939fa39f92867b6e6159555c606a6c6c6c6c6c6c6c6c67645c53493f352c22180e050000000000000000000000000000000000000000000000000000000000030c17202a343e47515b62656c6c6c6c6c6c6c6c6b615e5657606d7a85919ea49d948f847c716c635b51463a2e2216090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303c4955616c707d859095939393968d8073695f534b51535d60606060606060605a58534a41372d231a100600000000000000000000000000000000000000000000000000000000000000050e18222c353f4951565860606060606060605e54524c515d67717e8b959393939691867e726d63574a3e3125180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d878686868686868684796d60574d4245475053535353535353534e4c4841382f251b110800000000000000000000000000000000000000000000000000000000000000000006101a232d373f464a4c5353535353535353514746414b55606c778386868686868686867f7265594c3f3226190c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303c4955616c707979797979797979786d675d51453c383a43464646464646464641403c362f261d1309000000000000000000000000000000000000000000000000000000000000000000000008111b252d343a3e3f4646464646464646453a393a44505b656c767979797979797979726d63574a3e3125180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814202d3944505a61646c6c6c6c6c6c6c6c6b605d554b40332c2d3739393939393939393433302b251d140b0100000000000000000000000000000000000000000000000000000000000000000000000009131b23292e31323939393939393939382e2d333f49535b606a6c6c6c6c6c6c6c6c65635b51463a2e22160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c28333e4850555760606060606060605e53514b433a2f21202a2d2d2d2d2d2d2d2d2727241f1a130b0200000000000000000000000000000000000000000000000000000000000000000000000000010911181e2225252d2d2d2d2d2d2d2d2b21222d38414950535d6060606060606060595751493f352a1e1206000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222c363e44494a5353535353535353524745403a31281d141d20202020202020201b1a18140f080100000000000000000000000000000000000000000000000000000000000000000000000000000000070d1216181920202020202020201e141b262f383f44465053535353535353534c4a463f372d23180d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005101a232c33393c3d4646464646464646453a39352f281f160c1013131313131313130e0d0b0803000000000000000000000000000000000000000000000000000000000000000000000000000000000000000106090b0c1313131313131313120a141d262d3337394346464646464646463f3e3a352d251c110700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a22282d30313939393939393939382d2c29241d160d040406060606060606060101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060606060606060605020b141b22272b2d37393939393939393932312e2a231c130a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000810171c2023242d2d2d2d2d2d2d2d2b20201d18130c0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171b1f202a2d2d2d2d2d2d2d2d2625221e18110a01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b1014161720202020202020201f1413110d070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f12131d2020202020202020191816120d070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080a0a1313131313131313120706040100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000305061013131313131313130c0c0906010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + image data: 1 + _typelessdata: 00 m_StreamData: serializedVersion: 2 offset: 0