this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

update comments

nnuuvv b55c28fc 761e2f9f

+12 -30
+12 -30
src/condition_overload.gleam
··· 177 177 // |N/A 178 178 // |Does not apply 179 179 // |- 180 + // 181 + // as well as both mixed, into row type 180 182 // 181 - // into row type 182 - // 183 - // |- 184 183 // 185 184 fn process_lines(lines: List(String), acc: List(Row)) -> List(Row) { 186 185 case lines { ··· 194 193 } 195 194 } 196 195 197 - // Parse single line entires into Row type 198 - // 199 - // !Weapon!!Attack Name!!Projectile Type!!Attack Unmodded Damage!!Actual CO Damage Bonus at +100%!!CO Damage Bonus Relative To Base Damage!!Math/Behavior Type!!Notes 200 - // 201 - // single name 202 - // 203 - // |{{Weapon|Ambassador}}||Alt-fire Hitscan AoE||AoE||800||600||75%||Adding||Radial hit only receives CO bonus on target directly hit by laser. CO-bonus scales off hitscan damage. AoE does not scale off multishot. 204 - // 205 - // multi name 206 - // 207 - // |{{Weapon|Braton}}/{{Weapon|MK1-Braton|MK1}}/{{Weapon|Braton Prime|Prime}}/{{Weapon|Braton Vandal|Vandal}}||Incarnon Form AoE||AoE||74||70||95%||Adding||Listed values for Braton Prime with inactive Daring Reverie. Radial hit only receives CO bonus on target directly hit by bullet. AoE does not scale off multishot. 208 - // 209 - // multi line - single & multi name 210 - // 211 - // |{{Weapon|Evensong}} 212 - // |Charged Radial Attack 213 - // |AoE 214 - // |150 215 - // |0 216 - // |0% 217 - // |N/A 218 - // |Does not apply 219 - // |- 196 + // parses 1 'Row' type worth of data from the supplied lines 197 + // handles single line, multi line and mixed data 220 198 // 221 199 fn parse_row(name_line: String, lines: List(String)) -> #(Row, List(String)) { 222 200 let #(names, line_rest) = parse_names(name_line, []) ··· 244 222 ) 245 223 } 246 224 225 + // parses the next value from the data 226 + // 247 227 fn parse_next_value( 248 228 line_rest: String, 249 229 lines: List(String), ··· 251 231 let sep = splitter.new(["||"]) 252 232 253 233 case splitter.split(sep, line_rest) { 254 - #("", _, _) -> do_lines(sep, lines) 234 + #("", _, _) -> handle_empty_line(sep, lines) 255 235 #(value, "||", line_rest) -> #(value, line_rest, lines) 256 236 #(value, "", _) -> #(value, "", lines) 257 - #(_, _, _) -> do_lines(sep, lines) 237 + #(_, _, _) -> handle_empty_line(sep, lines) 258 238 } 259 239 } 260 240 261 - fn do_lines(sep, lines) { 241 + // 242 + // 243 + fn handle_empty_line(sep, lines) { 262 244 case lines { 263 245 ["|-", ..] -> #("", "", lines) 264 246 ["|" <> value, ..rest] -> { ··· 271 253 } 272 254 } 273 255 274 - // process the weapon names 256 + // parse the weapon names 275 257 // 276 258 fn parse_names(line: String, acc) { 277 259 let sep = splitter.new(["}}/{{Weapon|", "}}/{{Weapon", "}}||", "}}"])