diff --git a/ryzom/tools/extract_r2_required/extract_shapes.py b/ryzom/tools/extract_r2_required/extract_shapes.py
index 11811fecf..8d6f01acf 100644
--- a/ryzom/tools/extract_r2_required/extract_shapes.py
+++ b/ryzom/tools/extract_r2_required/extract_shapes.py
@@ -11,3 +11,14 @@ with open("shape_list.txt", "w") as f:
for p in os.listdir(objectPath):
if p.endswith(".shape"):
f.write(p + "\n")
+
+sfxPath = "R:\\pipeline\\install\\sfx"
+
+with open("sfx_shape_list.txt", "w") as fs:
+ with open("sfx_ps_list.txt", "w") as fx:
+ for p in os.listdir(sfxPath):
+ if p.endswith(".shape"):
+ fs.write(p + "\n")
+ elif p.endswith(".ps"):
+ fx.write(p + "\n")
+
diff --git a/ryzom/tools/extract_r2_required/generate_sitem.py b/ryzom/tools/extract_r2_required/generate_sitem.py
index be6b7461a..b5ec5ca6d 100644
--- a/ryzom/tools/extract_r2_required/generate_sitem.py
+++ b/ryzom/tools/extract_r2_required/generate_sitem.py
@@ -51,6 +51,15 @@ sitemParents = loadTsv("sitem_parents.tsv")
sitemParsed = loadTsv("sitem_parsed.tsv")
shapeParsed = loadTsv("shape_parsed.tsv")
matchSitemShape = loadTsv("match_sitem_shape.tsv")
+sfxPsParsed = loadTsv("sfx_ps_parsed.tsv")
+sfxShapeParsed = loadTsv("sfx_shape_parsed.tsv")
+
+sfxPs = {}
+sfxShape = {}
+for entry in sfxPsParsed:
+ sfxPs[entry[0]] = filter(None, entry[1:])
+for entry in sfxShapeParsed:
+ sfxShape[entry[0]] = filter(None, entry[1:])
skills = loadTsv("skills.tsv")
skillTree = { "S": { "tags": [ "*" ], "entries": {} } }
@@ -540,6 +549,10 @@ def generateSitems():
strippedTags.remove("melee")
if "ranged" in strippedTags:
strippedTags.remove("ranged")
+ if "color" in strippedTags:
+ strippedTags.remove("color")
+ if "advantage" in strippedTags:
+ strippedTags.remove("advantage")
displayName = " ".join(strippedTags)
origin = "common" # item_origine.typ
@@ -673,12 +686,12 @@ def generateSitems():
# print(shapeFemale)
# print(tags)
- if not "armor" in tags and not "shield" in tags:
+ if not "armor" in tags and not "shield" in tags and not "melee" in tags:
continue
if "armor" in tags and "caster" in tags and not "pants" in tags:
continue # Only include caster pants
- if "armor" in tags and "refugee" in tags and len(name) > 5:
+ if "armor" in tags and "refugee" in tags and "color" in tags:
continue # No need to generate these for now
brickFamily = findBrickFamily(tags)
@@ -705,6 +718,20 @@ def generateSitems():
if not parent:
print("No parent for sitem: " + name + ", tags: " + tags)
+ fxTrail = None
+ if "kami" in tags and shapeMale + "_trail_kam" in sfxShape:
+ fxTrail = shapeMale + "_trail_kam"
+ elif "karavan" in tags and shapeMale + "_trail_car" in sfxShape:
+ fxTrail = shapeMale + "_trail_car"
+ elif shapeMale + "_trail_00" in sfxShape:
+ fxTrail = shapeMale + "_trail_00"
+ elif shapeMale + "_trail_gen" in sfxShape:
+ fxTrail = shapeMale + "_trail_gen"
+
+ fxAdvantage = None
+ if "advantage" in tags and shapeMale in sfxPs:
+ fxAdvantage = shapeMale
+
print(path)
with open(path, "w") as f:
f.write("\n")
@@ -737,6 +764,15 @@ def generateSitems():
f.write(" \n")
if color != "":
f.write(" \n")
+ if fxTrail or fxAdvantage:
+ f.write(" \n")
+ if fxTrail:
+ f.write(" \n")
+ if fxAdvantage:
+ f.write(" \n")
+ f.write(" \n")
+ if fxAdvantage:
+ f.write(" ")
f.write(" \n")
f.write(" \n")
f.write("\n")
@@ -833,9 +869,12 @@ def generateSitems():
f.write(" \n")
f.write(" \n")
f.write(" \n")
- if "armor" in tags or "shield" in tags:
+ if "armor" in tags or "shield" in tags or "melee" in tags or "magic" in tags:
f.write(" \n")
- f.write(" \n")
+ if "armor" in tags or "shield" in tags:
+ f.write(" \n")
+ elif "melee" in tags or "magic" in tags:
+ f.write(" \n")
# f.write(" \n")
f.write(" \n")
f.write(" \n")
@@ -852,7 +891,7 @@ def generateSitems():
f.write(" \n")
f.write(" \n")
f.write(" \n")
- if "shield" in tags:
+ elif "shield" in tags:
f.write(" \n")
f.write(" \n")
f.write(" \n")
@@ -861,6 +900,45 @@ def generateSitems():
f.write(" \n")
f.write(" \n")
f.write(" \n")
+ elif "magic" in tags:
+ f.write(" \n")
+ f.write(" \n")
+ f.write(" \n")
+ f.write(" \n")
+ f.write(" \n")
+ f.write(" \n")
+ f.write(" \n")
+ f.write(" \n")
+ elif "melee" in tags:
+ if "staff" in tags:
+ f.write(" \n")
+ f.write(" \n")
+ f.write(" \n")
+ f.write(" \n")
+ f.write(" \n")
+ f.write(" \n")
+ f.write(" \n")
+ f.write(" \n")
+ else:
+ divider = 4
+ if "mace" in tags:
+ f.write(" \n")
+ elif "pike" or "spear" in tags:
+ f.write(" \n")
+ divider = 3
+ else:
+ f.write(" \n")
+ f.write(" \n")
+ f.write(" \n")
+ f.write(" \n")
+ f.write(" \n")
+ f.write(" \n")
+ if "pike" or "spear" in tags:
+ f.write(" \n")
+ f.write(" \n")
+ else:
+ f.write(" \n")
+ f.write(" \n")
f.write(" \n")
f.write(" \n")
f.write(" \n")
@@ -891,4 +969,3 @@ def generateSitems():
generateParents()
generateSitems()
-
diff --git a/ryzom/tools/extract_r2_required/sbrick_index.tsv b/ryzom/tools/extract_r2_required/sbrick_index.tsv
index 0d8904d81..df27761f4 100644
--- a/ryzom/tools/extract_r2_required/sbrick_index.tsv
+++ b/ryzom/tools/extract_r2_required/sbrick_index.tsv
@@ -90,12 +90,12 @@ BCCMEA 01 bccmea01 iccm2sa __missing
BCCMEA 02 bccmea02 iccm2pp __missing
BCCMEA 03 bccmea03 iccm2bm __missing
BCCMEA 04 bccmea04 iccm2ss __missing
-BCCMEA 05 bccmea05 iccm1sa __missing
-BCCMEA 06 bccmea06 iccm1pd __missing
+BCCMEA 5 bccmea05_cm1sa iccm1sa bccmea05
+BCCMEA 6 bccmea06_cm1pd iccm1pd bccmea06
BCCMEA 07 bccmea07 iccm1ps __missing
-BCCMEA 08 bccmea08 iccm1bm __missing
+BCCMEA 8 bccmea08_cm1bm iccm1bm bccmea08
BCCMEA 09 bccmea09 iccm1bs __missing
-BCCMEA 10 bccmea10 iccm1ss __missing
+BCCMEA 10 bccmea10_cm1ss iccm1ss bccmea10
BCCMEA 11 bccmea15 iccm2ms __missing
BCCMEA 17 bccmea17 iccm1bs __missing
BCCMEA 45 bccmea16 ic_candy_stick __missing
@@ -290,42 +290,42 @@ BCFMCA 22 bcfmca22 __missing
BCFMCA 23 bcfmca23 __missing
BCFMCA 24 bcfmca24 __missing
BCFMCA 25 bcfmca25 __missing
-BCFMEA 01 bcfmea01 icfm2sa __missing
-BCFMEA 2 bcfmea01_2 icfm2sa_2 __missing
-BCFMEA 3 bcfmea01_3 icfm2sa_3 __missing
-BCFMEA 4 bcfmea02 icfm2pp __missing
-BCFMEA 5 bcfmea02_2 icfm2pp_2 __missing
-BCFMEA 6 bcfmea02_3 icfm2pp_3 __missing
-BCFMEA 7 bcfmea03 icfm2bm __missing
-BCFMEA 8 bcfmea03_2 icfm2bm_2 __missing
-BCFMEA 9 bcfmea03_3 icfm2bm_3 __missing
-BCFMEA 10 bcfmea04 icfm2ss __missing
-BCFMEA 11 bcfmea04_2 icfm2ss_2 __missing
-BCFMEA 12 bcfmea04_3 icfm2ss_3 __missing
-BCFMEA 13 bcfmea05 icfm1sa __missing
-BCFMEA 14 bcfmea05_2 icfm1sa_2 __missing
-BCFMEA 15 bcfmea05_3 icfm1sa_3 __missing
-BCFMEA 16 bcfmea06 icfm1pd
-BCFMEA 17 bcfmea06_2 icfm1pd_2 __missing
-BCFMEA 18 bcfmea06_3 icfm1pd_3 __missing
-BCFMEA 19 bcfmea07 icfm1ps __missing
-BCFMEA 20 bcfmea07_2 icfm1ps_2 __missing
-BCFMEA 21 bcfmea07_3 icfm1ps_3 __missing
-BCFMEA 22 bcfmea08 icfm1bm __missing
-BCFMEA 23 bcfmea08_2 icfm1bm_2 __missing
-BCFMEA 24 bcfmea08_3 icfm1bm_3 __missing
+BCFMEA 1 bcfmea01_fm2sa icfm2sa bcfmea01
+BCFMEA 2 bcfmea02_fm2sa_2 icfm2sa_2 bcfmea01_2
+BCFMEA 3 bcfmea03_fm2sa_3 icfm2sa_3 bcfmea01_3
+BCFMEA 4 bcfmea04_fm2pp icfm2pp bcfmea02
+BCFMEA 5 bcfmea05_fm2pp_2 icfm2pp_2 bcfmea02_2
+BCFMEA 6 bcfmea06_fm2pp_3 icfm2pp_3 bcfmea02_3
+BCFMEA 7 bcfmea07_fm2bm icfm2bm bcfmea03
+BCFMEA 8 bcfmea08_fm2bm_2 icfm2bm_2 bcfmea03_2
+BCFMEA 9 bcfmea09_fm2bm_3 icfm2bm_3 bcfmea03_3
+BCFMEA 10 bcfmea10_fm2ss icfm2ss bcfmea04
+BCFMEA 11 bcfmea11_fm2ss_2 icfm2ss_2 bcfmea04_2
+BCFMEA 12 bcfmea12_fm2ss_3 icfm2ss_3 bcfmea04_3
+BCFMEA 13 bcfmea13_fm1sa icfm1sa bcfmea05
+BCFMEA 14 bcfmea14_fm1sa_2 icfm1sa_2 bcfmea05_2
+BCFMEA 15 bcfmea15_fm1sa_3 icfm1sa_3 bcfmea05_3
+BCFMEA 16 bcfmea16_fm1pd icfm1pd bcfmea06
+BCFMEA 17 bcfmea17_fm1pd_2 icfm1pd_2 bcfmea06_2
+BCFMEA 18 bcfmea18_fm1pd_3 icfm1pd_3 bcfmea06_3
+BCFMEA 19 bcfmea19_fm1ps icfm1ps bcfmea07
+BCFMEA 20 bcfmea20_fm1ps_2 icfm1ps_2 bcfmea07_2
+BCFMEA 21 bcfmea21_fm1ps_3 icfm1ps_3 bcfmea07_3
+BCFMEA 22 bcfmea22_fm1bm icfm1bm bcfmea08
+BCFMEA 23 bcfmea23_fm1bm_2 icfm1bm_2 bcfmea08_2
+BCFMEA 24 bcfmea24_fm1bm_3 icfm1bm_3 bcfmea08_3
BCFMEA 25 bcfmea09 icfm1bs __missing
BCFMEA 26 bcfmea09_2 icfm1bs_2 __missing
BCFMEA 27 bcfmea09_3 icfm1bs_3 __missing
-BCFMEA 28 bcfmea10 icfm1ss __missing
-BCFMEA 29 bcfmea10_2 icfm1ss_2 __missing
-BCFMEA 30 bcfmea10_3 icfm1ss_3 __missing
+BCFMEA 28 bcfmea28_fm1ss icfm1ss bcfmea10
+BCFMEA 29 bcfmea29_fm1ss_2 icfm1ss_2 bcfmea10_2
+BCFMEA 30 bcfmea30_fm1ss_3 icfm1ss_3 bcfmea10_3
BCFMEA 31 bcfmea11 icfm1sab __missing
BCFMEA 32 bcfmea12 icfm2ssb __missing
BCFMEA 33 bcfmea13 icfm2sab __missing
-BCFMEA 34 bcfmea15 icfm2ms __missing
-BCFMEA 35 bcfmea15_2 icfm2ms_2 __missing
-BCFMEA 36 bcfmea15_3 icfm2ms_3 __missing
+BCFMEA 34 bcfmea34_fm2ms icfm2ms bcfmea15
+BCFMEA 35 bcfmea35_fm2ms_2 icfm2ms_2 bcfmea15_2
+BCFMEA 36 bcfmea36_fm2ms_3 icfm2ms_3 bcfmea15_3
BCFPCA 01 bcfpca01 __missing
BCFPCA 02 bcfpca02 __missing
BCFPCA 03 bcfpca03 __missing
@@ -711,43 +711,43 @@ BCMMCA 22 bcmmca22 __missing
BCMMCA 23 bcmmca23 __missing
BCMMCA 24 bcmmca24 __missing
BCMMCA 25 bcmmca25 __missing
-BCMMEA 01 bcmmea01 icmm2sa __missing
-BCMMEA 2 bcmmea01_2 icmm2sa_2 __missing
-BCMMEA 3 bcmmea01_3 icmm2sa_3 __missing
-BCMMEA 4 bcmmea02 icmm2pp __missing
-BCMMEA 5 bcmmea02_2 icmm2pp_2 __missing
-BCMMEA 6 bcmmea02_3 icmm2pp_3 __missing
-BCMMEA 7 bcmmea03 icmm2bm __missing
-BCMMEA 8 bcmmea03_2 icmm2bm_2 __missing
-BCMMEA 9 bcmmea03_3 icmm2bm_3 __missing
-BCMMEA 10 bcmmea04 icmm2ss __missing
-BCMMEA 11 bcmmea04_2 icmm2ss_2 __missing
-BCMMEA 12 bcmmea04_3 icmm2ss_3 __missing
-BCMMEA 13 bcmmea05 icmm1sa __missing
-BCMMEA 14 bcmmea05_2 icmm1sa_2 __missing
-BCMMEA 15 bcmmea05_3 icmm1sa_3 __missing
-BCMMEA 16 bcmmea06 icmm1pd
-BCMMEA 17 bcmmea06_2 icmm1pd_2 __missing
-BCMMEA 18 bcmmea06_3 icmm1pd_3 __missing
-BCMMEA 19 bcmmea07 icmm1ps __missing
-BCMMEA 20 bcmmea07_2 icmm1ps_2 __missing
-BCMMEA 21 bcmmea07_3 icmm1ps_3 __missing
-BCMMEA 22 bcmmea08 icmm1bm __missing
-BCMMEA 23 bcmmea08_2 icmm1bm_2 __missing
-BCMMEA 24 bcmmea08_3 icmm1bm_3 __missing
+BCMMEA 1 bcmmea01_mm2sa icmm2sa bcmmea01
+BCMMEA 2 bcmmea02_mm2sa_2 icmm2sa_2 bcmmea01_2
+BCMMEA 3 bcmmea03_mm2sa_3 icmm2sa_3 bcmmea01_3
+BCMMEA 4 bcmmea04_mm2pp icmm2pp bcmmea02
+BCMMEA 5 bcmmea05_mm2pp_2 icmm2pp_2 bcmmea02_2
+BCMMEA 6 bcmmea06_mm2pp_3 icmm2pp_3 bcmmea02_3
+BCMMEA 7 bcmmea07_mm2bm icmm2bm bcmmea03
+BCMMEA 8 bcmmea08_mm2bm_2 icmm2bm_2 bcmmea03_2
+BCMMEA 9 bcmmea09_mm2bm_3 icmm2bm_3 bcmmea03_3
+BCMMEA 10 bcmmea10_mm2ss icmm2ss bcmmea04
+BCMMEA 11 bcmmea11_mm2ss_2 icmm2ss_2 bcmmea04_2
+BCMMEA 12 bcmmea12_mm2ss_3 icmm2ss_3 bcmmea04_3
+BCMMEA 13 bcmmea13_mm1sa icmm1sa bcmmea05
+BCMMEA 14 bcmmea14_mm1sa_2 icmm1sa_2 bcmmea05_2
+BCMMEA 15 bcmmea15_mm1sa_3 icmm1sa_3 bcmmea05_3
+BCMMEA 16 bcmmea16_mm1pd icmm1pd bcmmea06
+BCMMEA 17 bcmmea17_mm1pd_2 icmm1pd_2 bcmmea06_2
+BCMMEA 18 bcmmea18_mm1pd_3 icmm1pd_3 bcmmea06_3
+BCMMEA 19 bcmmea19_mm1ps icmm1ps bcmmea07
+BCMMEA 20 bcmmea20_mm1ps_2 icmm1ps_2 bcmmea07_2
+BCMMEA 21 bcmmea21_mm1ps_3 icmm1ps_3 bcmmea07_3
+BCMMEA 22 bcmmea22_mm1bm icmm1bm bcmmea08
+BCMMEA 23 bcmmea23_mm1bm_2 icmm1bm_2 bcmmea08_2
+BCMMEA 24 bcmmea24_mm1bm_3 icmm1bm_3 bcmmea08_3
BCMMEA 25 bcmmea09 icmm1bs __missing
BCMMEA 26 bcmmea09_2 icmm1bs_2 __missing
BCMMEA 27 bcmmea09_3 icmm1bs_3 __missing
-BCMMEA 28 bcmmea10 icmm1ss __missing
-BCMMEA 29 bcmmea10_2 icmm1ss_2 __missing
-BCMMEA 30 bcmmea10_3 icmm1ss_3 __missing
+BCMMEA 28 bcmmea28_mm1ss icmm1ss bcmmea10
+BCMMEA 29 bcmmea29_mm1ss_2 icmm1ss_2 bcmmea10_2
+BCMMEA 30 bcmmea30_mm1ss_3 icmm1ss_3 bcmmea10_3
BCMMEA 31 bcmmea11 icmm1pdl __missing
BCMMEA 32 bcmmea12 icmm2ssl __missing
BCMMEA 33 bcmmea13 icmm2ppl __missing
BCMMEA 34 bcmmea14 icmm1psl __missing
-BCMMEA 35 bcmmea15 icmm2ms __missing
-BCMMEA 36 bcmmea15_2 icmm2ms_2 __missing
-BCMMEA 37 bcmmea15_3 icmm2ms_3 __missing
+BCMMEA 35 bcmmea35_mm2ms icmm2ms bcmmea15
+BCMMEA 36 bcmmea36_mm2ms_2 icmm2ms_2 bcmmea15_2
+BCMMEA 37 bcmmea37_mm2ms_3 icmm2ms_3 bcmmea15_3
BCMPCA 01 bcmpca01 __missing
BCMPCA 02 bcmpca02 __missing
BCMPCA 03 bcmpca03 __missing
@@ -1158,6 +1158,8 @@ BCRAEA 37 bcraea37 icravr __missing
BCRAEA 38 bcraea38 icravt __missing
BCRAEA 39 bcraea39 icravv __missing
BCRAEA 40 bcraea40 icravw __missing
+BCRAEA 41 bcraea41_ralv icralv
+BCRAEA 42 bcraea42_ralp icralp
BCRMEA 12 bcrmea06 icrm1pd
BCRMEA 13 bcrmea10 icrm1ss __missing
BCRMEA 14 bcrmea15 icrm2ms
@@ -1319,42 +1321,42 @@ BCTMCA 22 bctmca22 __missing
BCTMCA 23 bctmca23 __missing
BCTMCA 24 bctmca24 __missing
BCTMCA 25 bctmca25 __missing
-BCTMEA 01 bctmea01 ictm2sa __missing
-BCTMEA 2 bctmea01_2 ictm2sa_2 __missing
-BCTMEA 3 bctmea01_3 ictm2sa_3 __missing
-BCTMEA 4 bctmea02 ictm2pp __missing
-BCTMEA 5 bctmea02_2 ictm2pp_2 __missing
-BCTMEA 6 bctmea02_3 ictm2pp_3 __missing
-BCTMEA 7 bctmea03 ictm2bm __missing
-BCTMEA 8 bctmea03_2 ictm2bm_2 __missing
-BCTMEA 9 bctmea03_3 ictm2bm_3 __missing
-BCTMEA 10 bctmea04 ictm2ss __missing
-BCTMEA 11 bctmea04_2 ictm2ss_2 __missing
-BCTMEA 12 bctmea04_3 ictm2ss_3 __missing
-BCTMEA 13 bctmea05 ictm1sa __missing
-BCTMEA 14 bctmea05_2 ictm1sa_2 __missing
-BCTMEA 15 bctmea05_3 ictm1sa_3 __missing
-BCTMEA 16 bctmea06 ictm1pd
-BCTMEA 17 bctmea06_2 ictm1pd_2 __missing
-BCTMEA 18 bctmea06_3 ictm1pd_3 __missing
-BCTMEA 19 bctmea07 ictm1ps __missing
-BCTMEA 20 bctmea07_2 ictm1ps_2 __missing
-BCTMEA 21 bctmea07_3 ictm1ps_3 __missing
-BCTMEA 22 bctmea08 ictm1bm __missing
-BCTMEA 23 bctmea08_2 ictm1bm_2 __missing
-BCTMEA 24 bctmea08_3 ictm1bm_3 __missing
+BCTMEA 1 bctmea01_tm2sa ictm2sa bctmea01
+BCTMEA 2 bctmea02_tm2sa_2 ictm2sa_2 bctmea01_2
+BCTMEA 3 bctmea03_tm2sa_3 ictm2sa_3 bctmea01_3
+BCTMEA 4 bctmea04_tm2pp ictm2pp bctmea02
+BCTMEA 5 bctmea05_tm2pp_2 ictm2pp_2 bctmea02_2
+BCTMEA 6 bctmea06_tm2pp_3 ictm2pp_3 bctmea02_3
+BCTMEA 7 bctmea07_tm2bm ictm2bm bctmea03
+BCTMEA 8 bctmea08_tm2bm_2 ictm2bm_2 bctmea03_2
+BCTMEA 9 bctmea09_tm2bm_3 ictm2bm_3 bctmea03_3
+BCTMEA 10 bctmea10_tm2ss ictm2ss bctmea04
+BCTMEA 11 bctmea11_tm2ss_2 ictm2ss_2 bctmea04_2
+BCTMEA 12 bctmea12_tm2ss_3 ictm2ss_3 bctmea04_3
+BCTMEA 13 bctmea13_tm1sa ictm1sa bctmea05
+BCTMEA 14 bctmea14_tm1sa_2 ictm1sa_2 bctmea05_2
+BCTMEA 15 bctmea15_tm1sa_3 ictm1sa_3 bctmea05_3
+BCTMEA 16 bctmea16_tm1pd ictm1pd bctmea06
+BCTMEA 17 bctmea17_tm1pd_2 ictm1pd_2 bctmea06_2
+BCTMEA 18 bctmea18_tm1pd_3 ictm1pd_3 bctmea06_3
+BCTMEA 19 bctmea19_tm1ps ictm1ps bctmea07
+BCTMEA 20 bctmea20_tm1ps_2 ictm1ps_2 bctmea07_2
+BCTMEA 21 bctmea21_tm1ps_3 ictm1ps_3 bctmea07_3
+BCTMEA 22 bctmea22_tm1bm ictm1bm bctmea08
+BCTMEA 23 bctmea23_tm1bm_2 ictm1bm_2 bctmea08_2
+BCTMEA 24 bctmea24_tm1bm_3 ictm1bm_3 bctmea08_3
BCTMEA 25 bctmea09 ictm1bs __missing
BCTMEA 26 bctmea09_2 ictm1bs_2 __missing
BCTMEA 27 bctmea09_3 ictm1bs_3 __missing
-BCTMEA 28 bctmea10 ictm1ss __missing
-BCTMEA 29 bctmea10_2 ictm1ss_2 __missing
-BCTMEA 30 bctmea10_3 ictm1ss_3 __missing
+BCTMEA 28 bctmea28_tm1ss ictm1ss bctmea10
+BCTMEA 29 bctmea29_tm1ss_2 ictm1ss_2 bctmea10_2
+BCTMEA 30 bctmea30_tm1ss_3 ictm1ss_3 bctmea10_3
BCTMEA 31 bctmea11 ictm2ssw __missing
BCTMEA 32 bctmea12 ictm1pdw __missing
BCTMEA 33 bctmea13 ictm1ssw __missing
-BCTMEA 34 bctmea15 ictm2ms __missing
-BCTMEA 35 bctmea15_2 ictm2ms_2 __missing
-BCTMEA 36 bctmea15_3 ictm2ms_3 __missing
+BCTMEA 34 bctmea34_tm2ms ictm2ms bctmea15
+BCTMEA 35 bctmea35_tm2ms_2 ictm2ms_2 bctmea15_2
+BCTMEA 36 bctmea36_tm2ms_3 ictm2ms_3 bctmea15_3
BCTPCA 01 bctpca01 __missing
BCTPCA 02 bctpca02 __missing
BCTPCA 03 bctpca03 __missing
@@ -1660,42 +1662,42 @@ BCZMCA 22 bczmca22 __missing
BCZMCA 23 bczmca23 __missing
BCZMCA 24 bczmca24 __missing
BCZMCA 25 bczmca25 __missing
-BCZMEA 01 bczmea01 iczm2sa __missing
-BCZMEA 2 bczmea01_2 iczm2sa_2 __missing
-BCZMEA 3 bczmea01_3 iczm2sa_3
-BCZMEA 4 bczmea02 iczm2pp __missing
-BCZMEA 5 bczmea02_2 iczm2pp_2 __missing
-BCZMEA 6 bczmea02_3 iczm2pp_3 __missing
-BCZMEA 7 bczmea03 iczm2bm __missing
-BCZMEA 8 bczmea03_2 iczm2bm_2 __missing
-BCZMEA 9 bczmea03_3 iczm2bm_3 __missing
-BCZMEA 10 bczmea04 iczm2ss __missing
-BCZMEA 11 bczmea04_2 iczm2ss_2 __missing
-BCZMEA 12 bczmea04_3 iczm2ss_3 __missing
-BCZMEA 13 bczmea05 iczm1sa __missing
-BCZMEA 14 bczmea05_2 iczm1sa_2 __missing
-BCZMEA 15 bczmea05_3 iczm1sa_3 __missing
-BCZMEA 16 bczmea06 iczm1pd
-BCZMEA 17 bczmea06_2 iczm1pd_2 __missing
-BCZMEA 18 bczmea06_3 iczm1pd_3 __missing
-BCZMEA 19 bczmea07 iczm1ps __missing
-BCZMEA 20 bczmea07_2 iczm1ps_2 __missing
-BCZMEA 21 bczmea07_3 iczm1ps_3 __missing
-BCZMEA 22 bczmea08 iczm1bm __missing
-BCZMEA 23 bczmea08_2 iczm1bm_2 __missing
-BCZMEA 24 bczmea08_3 iczm1bm_3 __missing
+BCZMEA 1 bczmea01_zm2sa iczm2sa bczmea01
+BCZMEA 2 bczmea02_zm2sa_2 iczm2sa_2 bczmea01_2
+BCZMEA 3 bczmea03_zm2sa_3 iczm2sa_3 bczmea01_3
+BCZMEA 4 bczmea04_zm2pp iczm2pp bczmea02
+BCZMEA 5 bczmea05_zm2pp_2 iczm2pp_2 bczmea02_2
+BCZMEA 6 bczmea06_zm2pp_3 iczm2pp_3 bczmea02_3
+BCZMEA 7 bczmea07_zm2bm iczm2bm bczmea03
+BCZMEA 8 bczmea08_zm2bm_2 iczm2bm_2 bczmea03_2
+BCZMEA 9 bczmea09_zm2bm_3 iczm2bm_3 bczmea03_3
+BCZMEA 10 bczmea10_zm2ss iczm2ss bczmea04
+BCZMEA 11 bczmea11_zm2ss_2 iczm2ss_2 bczmea04_2
+BCZMEA 12 bczmea12_zm2ss_3 iczm2ss_3 bczmea04_3
+BCZMEA 13 bczmea13_zm1sa iczm1sa bczmea05
+BCZMEA 14 bczmea14_zm1sa_2 iczm1sa_2 bczmea05_2
+BCZMEA 15 bczmea15_zm1sa_3 iczm1sa_3 bczmea05_3
+BCZMEA 16 bczmea16_zm1pd iczm1pd bczmea06
+BCZMEA 17 bczmea17_zm1pd_2 iczm1pd_2 bczmea06_2
+BCZMEA 18 bczmea18_zm1pd_3 iczm1pd_3 bczmea06_3
+BCZMEA 19 bczmea19_zm1ps iczm1ps bczmea07
+BCZMEA 20 bczmea20_zm1ps_2 iczm1ps_2 bczmea07_2
+BCZMEA 21 bczmea21_zm1ps_3 iczm1ps_3 bczmea07_3
+BCZMEA 22 bczmea22_zm1bm iczm1bm bczmea08
+BCZMEA 23 bczmea23_zm1bm_2 iczm1bm_2 bczmea08_2
+BCZMEA 24 bczmea24_zm1bm_3 iczm1bm_3 bczmea08_3
BCZMEA 25 bczmea09 iczm1bs __missing
BCZMEA 26 bczmea09_2 iczm1bs_2 __missing
BCZMEA 27 bczmea09_3 iczm1bs_3 __missing
-BCZMEA 28 bczmea10 iczm1ss __missing
-BCZMEA 29 bczmea10_2 iczm1ss_2 __missing
-BCZMEA 30 bczmea10_3 iczm1ss_3 __missing
+BCZMEA 28 bczmea28_zm1ss iczm1ss bczmea10
+BCZMEA 29 bczmea29_zm1ss_2 iczm1ss_2 bczmea10_2
+BCZMEA 30 bczmea30_zm1ss_3 iczm1ss_3 bczmea10_3
BCZMEA 31 bczmea11 iczm1pse __missing
BCZMEA 32 bczmea12 iczm2bme __missing
BCZMEA 33 bczmea13 iczm1bme __missing
-BCZMEA 34 bczmea15 iczm2ms __missing
-BCZMEA 35 bczmea15_2 iczm2ms_2 __missing
-BCZMEA 36 bczmea15_3 iczm2ms_3 __missing
+BCZMEA 34 bczmea34_zm2ms iczm2ms bczmea15
+BCZMEA 35 bczmea35_zm2ms_2 iczm2ms_2 bczmea15_2
+BCZMEA 36 bczmea36_zm2ms_3 iczm2ms_3 bczmea15_3
BCZPCA 01 bczpca01 __missing
BCZPCA 02 bczpca02 __missing
BCZPCA 03 bczpca03 __missing
diff --git a/ryzom/tools/extract_r2_required/scheme_shape_parser.py b/ryzom/tools/extract_r2_required/scheme_shape_parser.py
index b15c72302..85e7bec7a 100644
--- a/ryzom/tools/extract_r2_required/scheme_shape_parser.py
+++ b/ryzom/tools/extract_r2_required/scheme_shape_parser.py
@@ -237,8 +237,14 @@ scheme = {
},
{
"_sousmarin": "underwater",
+ "_trail": "trail",
+ },
+ {
+ "_00": "default",
+ "_gen": "generic",
+ "_car": "karavan",
+ "_kam": "kami",
},
- {},
{},
{},
{},
@@ -299,3 +305,32 @@ with open("shape_list.txt", "r") as f:
print(name)
print(tags)
fw.flush()
+
+with open("sfx_shape_list.txt", "r") as f:
+ with open("sfx_shape_parsed.tsv", "w") as fw:
+ for l in f:
+ name = l.strip().split(".")[0]
+ tags = parse(name)
+ fw.write(name + "\t")
+ for t in tags:
+ fw.write("\t" + t)
+ fw.write("\n")
+ if "incomplete" in tags:
+ print(name)
+ print(tags)
+ fw.flush()
+ fw.flush()
+
+with open("sfx_ps_list.txt", "r") as f:
+ with open("sfx_ps_parsed.tsv", "w") as fw:
+ for l in f:
+ name = l.strip().split(".")[0]
+ tags = parse(name)
+ fw.write(name + "\t")
+ for t in tags:
+ fw.write("\t" + t)
+ fw.write("\n")
+ if "incomplete" in tags:
+ print(name)
+ print(tags)
+ fw.flush()
diff --git a/ryzom/tools/extract_r2_required/scheme_sitem_parser.py b/ryzom/tools/extract_r2_required/scheme_sitem_parser.py
index 0cb386b4f..1d2b9fdb1 100644
--- a/ryzom/tools/extract_r2_required/scheme_sitem_parser.py
+++ b/ryzom/tools/extract_r2_required/scheme_sitem_parser.py
@@ -77,11 +77,12 @@ scheme = {
{
"_2": "mq",
"_3": "hq",
- "e": "electric",
- "b": "burning",
- "w": "waving",
- "l": "living",
+ "e": "electric advantage",
+ "b": "burning advantage",
+ "w": "waving advantage",
+ "l": "living advantage",
},
+ {},
],
"melee": [
{},
@@ -147,14 +148,14 @@ scheme = {
"h": "helmet",
},
{
- "a": "black",
- "e": "beige",
- "g": "green",
- "r": "red",
- "t": "turquoise",
- "u": "blue",
- "v": "violet",
- "w": "white",
+ "a": "color black",
+ "e": "color beige",
+ "g": "color green",
+ "r": "color red",
+ "t": "color turquoise",
+ "u": "color blue",
+ "v": "color violet",
+ "w": "color white",
},
{},
{},
diff --git a/ryzom/tools/extract_r2_required/sfx_ps_list.txt b/ryzom/tools/extract_r2_required/sfx_ps_list.txt
new file mode 100644
index 000000000..7513da1de
--- /dev/null
+++ b/ryzom/tools/extract_r2_required/sfx_ps_list.txt
@@ -0,0 +1,868 @@
+aura_divinity.ps
+aura_protection.ps
+aura_recept.ps
+aura_sapstahp.ps
+aura_speedmove.ps
+aura_wall_fy.ps
+aura_wall_ma.ps
+aura_wall_tr.ps
+aura_wall_zo.ps
+aura_warcry.ps
+blank.ps
+bloblight.ps
+braziera.ps
+brazierb.ps
+brazierc.ps
+brazierd.ps
+braziere.ps
+brazierf.ps
+builtdust.ps
+burntreeblow.ps
+burntreeexplo.ps
+burntreefire.ps
+burntreefleur.ps
+burntreeinvoq.ps
+burntreenrg.ps
+burntreespell.ps
+burntreeveget.ps
+campfire.ps
+ca_wea_muzzle_1shot.ps
+ca_wea_muzzle_gatling.ps
+chutefalling.ps
+chutefallingb.ps
+chuteimpact.ps
+cityfire.ps
+clapclapattack.ps
+clapclapmove.ps
+clapclapsplash.ps
+desert-sandblasta.ps
+desert-sandblastb.ps
+de_fishes.ps
+de_flower.ps
+de_scorpion2.ps
+de_serpent.ps
+dressing_electric_hof_l.ps
+dressing_electric_hom.ps
+dressing_electric_hom_l_hand.ps
+dressing_electric_hom_r_hand.ps
+dressing_hof_electric_r.ps
+dressing_jongle_a.ps
+dressing_jongle_b.ps
+dressing_jongle_c.ps
+dustdagwalk.ps
+dustdagwalknight.ps
+dustdoor.ps
+dustrunhomin.ps
+dustrunvarynx.ps
+duststep.ps
+duststepbul.ps
+dustwalkbull.ps
+dustwalkbullnight.ps
+eaublink.ps
+eaububble.ps
+eauripple.ps
+eauwaves.ps
+env-pluie.ps
+env-pluiebruine.ps
+env-pollen.ps
+env-snow.ps
+env-thundersand.ps
+env-underwater.ps
+env_aqua.ps
+env_aqua2.ps
+etoile_filante.ps
+fireballinvoq.ps
+fireworka.ps
+fireworkb.ps
+fireworkc.ps
+fireworkd.ps
+fireworke.ps
+fireworkf.ps
+fireworkg.ps
+fireworkh.ps
+fireworki.ps
+fireworkj.ps
+fireworkk.ps
+fireworkl.ps
+fireworkm.ps
+fireworkn.ps
+fireworko.ps
+fireworkp.ps
+fireworkq.ps
+fireworkr.ps
+fireworks.ps
+fo-bugsa.ps
+fo-bugsb.ps
+fo-bugsc.ps
+fo-ju-colibrisb.ps
+fo-solbirtha.ps
+fo-solbirthb.ps
+fo-solbirthc.ps
+fo-treefalla.ps
+fo-treefallb.ps
+fo-treefallb_autumn.ps
+fo-treefallb_spring.ps
+fo-treefallb_summer.ps
+fo-treefallb_winter.ps
+fo-treefallc.ps
+fo-treefalld.ps
+fo-treefalle.ps
+forge.ps
+forgesmokeout.ps
+for_cure.ps
+for_explosion.ps
+for_forage.ps
+for_gaz.ps
+for_prospection.ps
+for_prospection_end.ps
+for_prospection_init.ps
+for_prospection_level.ps
+for_prospection_loop.ps
+fo_flower.ps
+fo_ju_serpent.ps
+fxfontaine.ps
+fy-birda.ps
+fy-cricketa.ps
+fy-cricketaplonge.ps
+fy-papillonadesert.ps
+fy-polendesert.ps
+fy-polenpapillonadesert.ps
+fy-sandblastadesert.ps
+fy-sandblastdesert.ps
+fy_acc_ascenseur.ps
+fy_burnedtree_a.ps
+fy_burnedtree_b.ps
+fy_candle_flame.ps
+fy_canyon.ps
+fy_feu_foret.ps
+fy_firewave.ps
+fy_fx_krevette.ps
+fy_geyser_feu.ps
+fy_geyser_fumee.ps
+fy_land_telepod.ps
+fy_land_telepod_small.ps
+fy_vapeurs.ps
+fy_ver.ps
+fy_wea_epee2m.ps
+fy_wea_gatling.ps
+fy_wea_hache1m.ps
+fy_wea_hache2m.ps
+fy_wea_lanceroquette.ps
+fy_wea_muzzle_1shot.ps
+fy_wea_muzzle_gatling.ps
+fy_wea_petit_bouclier.ps
+ge_acc_baniere_gm.ps
+ge_acc_baniere_guide.ps
+ge_acc_baniere_seniorgm.ps
+ge_acc_baniere_seniorguide.ps
+ge_feudecamp.ps
+ge_mission_barriere_kami.ps
+ge_mission_barriere_karavan.ps
+ge_mission_borne_teleport_kami.ps
+ge_mission_calendar.ps
+ge_mission_capsule.ps
+ge_mission_cercle_runique.ps
+ge_mission_chef_wea_fy.ps
+ge_mission_chef_wea_ma.ps
+ge_mission_chef_wea_tr.ps
+ge_mission_chef_wea_zo.ps
+ge_mission_chrono.ps
+ge_mission_clock.ps
+ge_mission_clock_3.ps
+ge_mission_courrier.ps
+ge_mission_etendard_kami.ps
+ge_mission_etendard_karavan.ps
+ge_mission_evenement.ps
+ge_mission_fortuna_wheel.ps
+ge_mission_fortuna_wheel_fx.ps
+ge_mission_gate_gong.ps
+ge_mission_grande_barriere_karavan.ps
+ge_mission_grande_barriere_karavan_far.ps
+ge_mission_hall_of_fame.ps
+ge_mission_justice_flame.ps
+ge_mission_kite_kamique.ps
+ge_mission_kite_karavan.ps
+ge_mission_laptop.ps
+ge_mission_outpost_drill_kami.ps
+ge_mission_outpost_drill_karavan.ps
+ge_mission_outpost_hall_of_fame.ps
+ge_mission_portail_kami.ps
+ge_mission_portail_karavan.ps
+ge_mission_pumpkin.ps
+ge_mission_reverbere.ps
+ge_mission_reverbere_blue.ps
+ge_mission_reverbere_green.ps
+ge_mission_reverbere_red.ps
+ge_mission_ringate_teleport.ps
+ge_mission_rucksack.ps
+ge_mission_snowman.ps
+ge_mission_socle_flame_courage.ps
+ge_mission_socle_flame_discipline.ps
+ge_mission_socle_flame_verite.ps
+ge_mission_spot_goo.ps
+ge_mission_talkie.ps
+ge_mission_temple_of_jena.ps
+ge_mission_temple_of_maduk.ps
+ge_mission_tourcombat_kamique.ps
+ge_mission_tourcombat_kamique2.ps
+ge_mission_tourcombat_karavan.ps
+ge_mission_xmas_tree.ps
+ge_wea_muzzle_1shot.ps
+ge_wea_muzzle_gatling.ps
+goo_mo_charogneinsect.ps
+goo_mo_charognemamal.ps
+hammambubble.ps
+hammammist.ps
+hammam_under_bubble.ps
+icespell.ps
+impact-pistolarc.ps
+impactshoota.ps
+impactshootvarynx.ps
+ju-bata.ps
+ju-bugsa.ps
+ju-bugsb.ps
+ju-dragonflya.ps
+ju-ghosta.ps
+ju-ghostb.ps
+ju-solbirtha.ps
+ju-solbirthb.ps
+ju-solbirthc.ps
+ju-solbirthd.ps
+ju-treefalla.ps
+ju-treefallb.ps
+ju-treefallc.ps
+ju-treefalld.ps
+ju_fo_bibubirdb.ps
+ju_fo_birds.ps
+ju_fo_birdsb.ps
+ju_fo_birdsc.ps
+ju_fo_brumes.ps
+ju_fo_brumesb.ps
+ju_fo_fee.ps
+ju_fo_fishes.ps
+ju_fo_geyser4a.ps
+ju_fo_geyser4b.ps
+ju_fo_geyser4c.ps
+ju_fo_grenouille3.ps
+ju_fo_grenouilleb3.ps
+ju_fo_grenouillec3.ps
+ju_fo_hippocampe.ps
+ju_fo_pollen.ps
+ju_fo_pollenb.ps
+ju_fo_ratsc.ps
+ju_fo_rotasecte.ps
+ju_fo_rotasecteb.ps
+ju_fo_scorpion2.ps
+ju_fo_taupe.ps
+ju_fo_vent.ps
+ju_smog_goo.ps
+ju_waterfall_base.ps
+ju_waterfall_base_big.ps
+ju_waterfall_source.ps
+kamibdust.ps
+kamibdustsides.ps
+kamibslobber.ps
+kamidustwall.ps
+kami_foret_precheur2_dead.ps
+kami_guard_guide2_dead.ps
+kami_guide3_guide4_dead.ps
+kami_precheur3_precheur4_dead.ps
+ka_wea_muzzle_1shot.ps
+ka_wea_muzzle_gatling.ps
+la_birds.ps
+la_birdsb.ps
+la_serpent.ps
+la_serpent_sub.ps
+la_taupe.ps
+la_vent.ps
+lucioles.ps
+lucioles_big.ps
+mag_aura_divinity.ps
+mag_aura_protection.ps
+mag_aura_recept.ps
+mag_aura_sapstahp.ps
+mag_aura_speedmove.ps
+mag_cur_cast_beneficcreature.ps
+mag_cur_cast_bomb_end.ps
+mag_cur_cast_bomb_end_fail.ps
+mag_cur_cast_bomb_init.ps
+mag_cur_cast_bomb_loop.ps
+mag_cur_cast_loop.ps
+mag_cur_end.ps
+mag_cur_fail.ps
+mag_cur_healhp_end.ps
+mag_cur_healhp_fail.ps
+mag_cur_healhp_init_l.ps
+mag_cur_healhp_init_r.ps
+mag_cur_healhp_loop.ps
+mag_cur_healsap_end.ps
+mag_cur_healsap_fail.ps
+mag_cur_healsap_init_l.ps
+mag_cur_healsap_init_r.ps
+mag_cur_healsap_loop.ps
+mag_cur_healsta_end.ps
+mag_cur_healsta_fail.ps
+mag_cur_healsta_init_l.ps
+mag_cur_healsta_init_r.ps
+mag_cur_healsta_loop.ps
+mag_cur_impact_healhp.ps
+mag_cur_impact_healhp_loop.ps
+mag_cur_impact_healsap.ps
+mag_cur_impact_healsap_loop.ps
+mag_cur_impact_healsta.ps
+mag_cur_impact_healsta_loop.ps
+mag_cur_init.ps
+mag_cur_loop.ps
+mag_cur_missile_bomb.ps
+mag_cur_missile_chain.ps
+mag_cur_missile_spray.ps
+mag_def_fear_end_l.ps
+mag_def_fear_end_r.ps
+mag_def_fear_fail.ps
+mag_def_fear_init_l.ps
+mag_def_fear_init_r.ps
+mag_def_fear_loop_l.ps
+mag_def_fear_loop_r.ps
+mag_def_impact_resist.ps
+mag_def_root_fail.ps
+mag_def_sleep_end_l.ps
+mag_def_sleep_fail.ps
+mag_def_sleep_init_l.ps
+mag_def_sleep_init_r.ps
+mag_def_sleep_loop.ps
+mag_def_stun_end_l.ps
+mag_def_stun_fail.ps
+mag_def_stun_init_l.ps
+mag_def_stun_init_r.ps
+mag_def_stun_loop.ps
+mag_gauntlet.ps
+mag_gauntlet_1.ps
+mag_gauntlet_2.ps
+mag_mix_cast_end.ps
+mag_mix_cast_init.ps
+mag_mix_cast_loop.ps
+mag_off_acid_end.ps
+mag_off_acid_fail.ps
+mag_off_acid_init_l.ps
+mag_off_acid_init_r.ps
+mag_off_acid_loop.ps
+mag_off_blind_end.ps
+mag_off_blind_fail.ps
+mag_off_blind_init_l.ps
+mag_off_blind_init_r.ps
+mag_off_blind_loop.ps
+mag_off_cast_bomb_end.ps
+mag_off_cast_bomb_end_fail.ps
+mag_off_cast_bomb_init.ps
+mag_off_cast_bomb_loop.ps
+mag_off_cast_offensivecreature.ps
+mag_off_cold_end.ps
+mag_off_cold_fail.ps
+mag_off_cold_init_l.ps
+mag_off_cold_init_r.ps
+mag_off_cold_loop.ps
+mag_off_electric_end_l.ps
+mag_off_electric_end_r.ps
+mag_off_electric_fail.ps
+mag_off_electric_init_l.ps
+mag_off_electric_init_r.ps
+mag_off_electric_loop_l.ps
+mag_off_electric_loop_r.ps
+mag_off_end.ps
+mag_off_fail.ps
+mag_off_fire_end_l.ps
+mag_off_fire_fail.ps
+mag_off_fire_init_l.ps
+mag_off_fire_loop_l.ps
+mag_off_impact_acid.ps
+mag_off_impact_acid_loop.ps
+mag_off_impact_blunt.ps
+mag_off_impact_blunt_loop.ps
+mag_off_impact_cold.ps
+mag_off_impact_cold_loop.ps
+mag_off_impact_curse.ps
+mag_off_impact_curse_loop.ps
+mag_off_impact_electric.ps
+mag_off_impact_electric_loop.ps
+mag_off_impact_fear.ps
+mag_off_impact_fear_loop.ps
+mag_off_impact_fire.ps
+mag_off_impact_fire_loop.ps
+mag_off_impact_hatred.ps
+mag_off_impact_hatred_loop.ps
+mag_off_impact_loop_break.ps
+mag_off_impact_mezz.ps
+mag_off_impact_mezz_loop.ps
+mag_off_impact_piercing.ps
+mag_off_impact_piercing_loop.ps
+mag_off_impact_poison.ps
+mag_off_impact_poison_loop.ps
+mag_off_impact_root.ps
+mag_off_impact_root_loop.ps
+mag_off_impact_rot.ps
+mag_off_impact_rot_loop.ps
+mag_off_impact_shockwave.ps
+mag_off_impact_shockwave_loop.ps
+mag_off_impact_sickness.ps
+mag_off_impact_sickness_loop.ps
+mag_off_impact_slashing.ps
+mag_off_impact_slashing_loop.ps
+mag_off_impact_stun.ps
+mag_off_impact_stun_loop.ps
+mag_off_init.ps
+mag_off_kami_cast_end.ps
+mag_off_kami_cast_init.ps
+mag_off_kami_cast_loop.ps
+mag_off_kami_fo_p2_cast_end.ps
+mag_off_kami_fo_p2_cast_init.ps
+mag_off_kami_fo_p2_cast_loop.ps
+mag_off_kami_g3_g4_cast_end.ps
+mag_off_kami_g3_g4_cast_init.ps
+mag_off_kami_g3_g4_cast_loop.ps
+mag_off_kami_gd_g2_cast_end.ps
+mag_off_kami_gd_g2_cast_init.ps
+mag_off_kami_gd_g2_cast_loop.ps
+mag_off_kami_p3_p4_cast_end.ps
+mag_off_kami_p3_p4_cast_init.ps
+mag_off_kami_p3_p4_cast_loop.ps
+mag_off_loop.ps
+mag_off_madness_end_l.ps
+mag_off_madness_fail.ps
+mag_off_madness_init_l.ps
+mag_off_madness_init_r.ps
+mag_off_madness_loop_l.ps
+mag_off_madness_loop_r.ps
+mag_off_missile_acid.ps
+mag_off_missile_bomb.ps
+mag_off_missile_bomb_b.ps
+mag_off_missile_bomb_gc.ps
+mag_off_missile_chain.ps
+mag_off_missile_chain_gc.ps
+mag_off_missile_electric.ps
+mag_off_missile_fire.ps
+mag_off_missile_kami.ps
+mag_off_missile_kami_fire.ps
+mag_off_missile_poison.ps
+mag_off_missile_shock.ps
+mag_off_missile_spray.ps
+mag_off_missile_spray_gc.ps
+mag_off_poison_end.ps
+mag_off_poison_end_l.ps
+mag_off_poison_end_r.ps
+mag_off_poison_fail.ps
+mag_off_poison_init_l.ps
+mag_off_poison_init_r.ps
+mag_off_poison_loop.ps
+mag_off_poison_loop_l.ps
+mag_off_poison_loop_r.ps
+mag_off_root_end.ps
+mag_off_root_init_l.ps
+mag_off_root_init_r.ps
+mag_off_root_loop.ps
+mag_off_rot_end.ps
+mag_off_rot_fail.ps
+mag_off_rot_init_l.ps
+mag_off_rot_init_r.ps
+mag_off_rot_loop.ps
+mag_off_shock_end.ps
+mag_off_shock_fail.ps
+mag_off_shock_init_l.ps
+mag_off_shock_init_r.ps
+mag_off_shock_loop.ps
+mag_off_slowaction_end.ps
+mag_off_slowaction_fail.ps
+mag_off_slowaction_init_l.ps
+mag_off_slowaction_loop.ps
+mag_off_slowmvt_end.ps
+mag_off_slowmvt_fail.ps
+mag_off_slowmvt_init_l.ps
+mag_off_slowmvt_loop.ps
+matis_alcove.ps
+ma_acc_ascenseur.ps
+ma_land_telepod.ps
+ma_serre_waterfall..ps
+ma_wea_dague.ps
+ma_wea_epee2m.ps
+ma_wea_fusil.ps
+ma_wea_lance1m.ps
+ma_wea_lance2m.ps
+ma_wea_muzzle_1shot.ps
+ma_wea_muzzle_gatling.ps
+ma_wea_petit_bouclier.ps
+ma_wea_pistolet.ps
+mel_impact.ps
+mel_impactblunt.ps
+mel_impactpiercing.ps
+mel_impactslashing.ps
+mel_levelup4to5.ps
+mel_meditenchantment.ps
+mel_ran_impact_blind.ps
+mel_ran_impact_electric.ps
+mel_wea_enchantment.ps
+meteo_humidity.ps
+meteo_thundersand.ps
+meteo_wind.ps
+misc_caravan_teleportout.ps
+misc_ca_ship.ps
+misc_ca_ship_turn_left.ps
+misc_ca_ship_turn_right.ps
+misc_ca_spaceship.ps
+misc_ca_spaceship2.ps
+misc_ca_spaceship2_turn_left.ps
+misc_ca_spaceship2_turn_right.ps
+misc_dead.ps
+misc_encyclopediabook_all.ps
+misc_encyclopediabook_fy.ps
+misc_encyclopediabook_ma.ps
+misc_encyclopediabook_tr.ps
+misc_encyclopediabook_zo.ps
+misc_kami_teleportout.ps
+misc_levelup.ps
+misc_preorder.ps
+misc_rafale_neige.ps
+misc_respiration_course.ps
+misc_respiration_fixe.ps
+misc_respiration_marche.ps
+misc_telepodkami.ps
+misc_telepodkaravan.ps
+mouches.ps
+mo_c3_specialatk.ps
+mo_c4_specialatk.ps
+mo_c5_specialatk.ps
+mo_c6_specialatk.ps
+mo_carnitree_atk.ps
+mo_carnitree_mag_cast.ps
+mo_carnitree_ran_atk.ps
+mo_charogneinsect.ps
+mo_charognemamal.ps
+mo_chonari_specialatk.ps
+mo_cute_cur_cast_debilitating_end_l.ps
+mo_cute_cur_cast_debilitating_end_r.ps
+mo_cute_cur_cast_debilitating_init_l.ps
+mo_cute_cur_cast_debilitating_init_r.ps
+mo_cute_cur_cast_debilitating_loop.ps
+mo_cute_mag_cur_cast_heal_end.ps
+mo_cute_mag_cur_cast_heal_init_l.ps
+mo_cute_mag_cur_cast_heal_init_r.ps
+mo_cute_mag_cur_cast_heal_loop.ps
+mo_cute_mag_off_cast_damaging_end.ps
+mo_cute_mag_off_cast_damaging_init_l.ps
+mo_cute_mag_off_cast_damaging_init_r.ps
+mo_cute_mag_off_cast_damaging_loop.ps
+mo_cute_mag_off_cast_incapaciting_end.ps
+mo_cute_mag_off_cast_incapaciting_loop.ps
+mo_cute_mag_off_incapacitating_init_l.ps
+mo_cute_mag_off_incapacitating_init_r.ps
+mo_cute_specialatk.ps
+mo_electroalg_mag_cast.ps
+mo_endrobouchea_atk.ps
+mo_endrobouchea_intm.ps
+mo_endrobouchea_mag_cast.ps
+mo_endrobouchea_ran_atk.ps
+mo_frahari_mag_off_cast_damaging_init_r.ps
+mo_frahar_cur_cast_debilitating_end_l.ps
+mo_frahar_cur_cast_debilitating_end_r.ps
+mo_frahar_cur_cast_debilitating_init_l.ps
+mo_frahar_cur_cast_debilitating_init_r.ps
+mo_frahar_cur_cast_debilitating_loop.ps
+mo_frahar_mag_cur_cast_heal_end.ps
+mo_frahar_mag_cur_cast_heal_init_l.ps
+mo_frahar_mag_cur_cast_heal_init_r.ps
+mo_frahar_mag_cur_cast_heal_loop.ps
+mo_frahar_mag_off_cast_damaging_end.ps
+mo_frahar_mag_off_cast_damaging_init_l.ps
+mo_frahar_mag_off_cast_damaging_init_r.ps
+mo_frahar_mag_off_cast_damaging_loop.ps
+mo_frahar_mag_off_cast_incapacitating_init_l.ps
+mo_frahar_mag_off_cast_incapacitating_init_r.ps
+mo_frahar_mag_off_cast_incapaciting_end.ps
+mo_frahar_mag_off_cast_incapaciting_loop.ps
+mo_frahar_mag_off_incapacitating_init_l.ps
+mo_frahar_mag_off_incapacitating_init_r.ps
+mo_frahar_specialatk.ps
+mo_gibbai_cur_cast_debilitating_end_l.ps
+mo_gibbai_cur_cast_debilitating_end_r.ps
+mo_gibbai_cur_cast_debilitating_init_l.ps
+mo_gibbai_cur_cast_debilitating_init_r.ps
+mo_gibbai_cur_cast_debilitating_loop.ps
+mo_gibbai_mag_cur_cast_heal_end.ps
+mo_gibbai_mag_cur_cast_heal_init_l.ps
+mo_gibbai_mag_cur_cast_heal_init_r.ps
+mo_gibbai_mag_cur_cast_heal_loop.ps
+mo_gibbai_mag_off_cast_damaging_end.ps
+mo_gibbai_mag_off_cast_damaging_init_l.ps
+mo_gibbai_mag_off_cast_damaging_init_r.ps
+mo_gibbai_mag_off_cast_damaging_loop.ps
+mo_gibbai_mag_off_cast_incapacitating_init_l.ps
+mo_gibbai_mag_off_cast_incapacitating_init_r.ps
+mo_gibbai_mag_off_cast_incapaciting_end.ps
+mo_gibbai_mag_off_cast_incapaciting_loop.ps
+mo_gibbai_mag_off_incapacitating_init_l.ps
+mo_gibbai_mag_off_incapacitating_init_r.ps
+mo_gibbai_specialatk.ps
+mo_h10_specialatk.ps
+mo_h11_specialatk.ps
+mo_h12_specialatk.ps
+mo_h2_specialatk.ps
+mo_h3_specialatk.ps
+mo_h6_specialatk.ps
+mo_h7_specialatk.ps
+mo_h9_specialatk.ps
+mo_hastasha_specialatk.ps
+mo_kakty_specialatk.ps
+mo_kami_dress_fo_p2.ps
+mo_kami_dress_g3_g4.ps
+mo_kami_dress_gd_g2.ps
+mo_kami_dress_p3_p4.ps
+mo_kitifly_dress.ps
+mo_kitihank_specialatk.ps
+mo_kitikil_dress.ps
+mo_kitikil_specialatk.ps
+mo_kitimandib_specialatk.ps
+mo_kitinarak_specialatk.ps
+mo_kitinega_specialatk.ps
+mo_kitinokto_specialatk.ps
+mo_phytopsy_death.ps
+mo_phytopsy_idle.ps
+mo_phytopsy_intm.ps
+mo_phytopsy_mag_cast.ps
+mo_phytopsy_reveil.ps
+mo_ryzerb_specialatk.ps
+mo_sapenslaver_atk.ps
+mo_sapenslaver_mag_cast.ps
+mo_sapenslaver_ran_atk.ps
+mo_swarmplant_atk.ps
+mo_swarmplant_mag_cast.ps
+mo_swarmplant_ran_atk.ps
+mo_swarmplant_swarm.ps
+mo_vampignon_specialatk.ps
+mo_yber_specialatk.ps
+mo_zerx_specialatk.ps
+mp_kitinegg.ps
+mp_ressources.ps
+ne_land_telepod.ps
+outpost_kami_type.ps
+outpost_karavan_type.ps
+plantfeed.ps
+plantgrimpeb.ps
+pow_berserke.ps
+primr-bugsa.ps
+primr-bugsb.ps
+primr-bugsc.ps
+primr-bugsd.ps
+primr-bugse.ps
+primr-solbirtha.ps
+primr-solbirthb.ps
+primr-solbirthc.ps
+primr-solbirthd.ps
+pr_fx_krevette.ps
+pr_fx_lombrique.ps
+pr_fx_sakapatate.ps
+pr_grenouille3.ps
+pr_grenouilleb3.ps
+pr_grenouillec3.ps
+pr_grenouille_eau3.ps
+pr_grenouille_eaub3.ps
+pr_grenouille_seve3.ps
+pr_land_telepod.ps
+pr_pollen.ps
+pr_pollen2.ps
+pr_ratsc.ps
+ran_cast_pistolarc.ps
+ran_ca_hof_shoot.ps
+ran_ca_hom_shoot_left.ps
+ran_ca_hom_shoot_right.ps
+ran_impact.ps
+ran_impact_2.ps
+ran_impact_explosion.ps
+ran_impact_gatlin.ps
+ran_missile_acid.ps
+ran_missile_blind.ps
+ran_missile_blunt.ps
+ran_missile_electric.ps
+ran_missile_fire.ps
+ran_missile_glue.ps
+ran_missile_poison.ps
+ran_missile_shockwave.ps
+ran_wea_missile.ps
+rayon.ps
+sandblasta.ps
+sfx_selection.ps
+sfx_selection_mouseover.ps
+sfx_sky_clouds.ps
+sfx_sky_comete.ps
+sfx_sky_moon01.ps
+sfx_sky_moon02.ps
+sfx_sky_moon03.ps
+sfx_sky_shootingstar.ps
+sfx_sky_storm_clouds.ps
+sfx_sky_storm_clouds_b.ps
+sfx_sky_storm_dome.ps
+sfx_sky_storm_lightning.ps
+sfx_sky_storm_lightning_b.ps
+sfx_sky_sun.ps
+shoota.ps
+shootasmok.ps
+smokechaudiere.ps
+smokesidechaudiere.ps
+smoke_oasis_kamik.ps
+spire_fx_ca_01.ps
+spire_fx_ca_02.ps
+spire_fx_ca_03.ps
+spire_fx_ca_04.ps
+spire_fx_ca_05.ps
+spire_fx_ca_06.ps
+spire_fx_ca_07.ps
+spire_fx_ca_08.ps
+spire_fx_ca_09.ps
+spire_fx_ca_10.ps
+spire_fx_ca_11.ps
+spire_fx_ca_12.ps
+spire_fx_ca_13.ps
+spire_fx_ca_14.ps
+spire_fx_ca_15.ps
+spire_fx_ca_16.ps
+spire_fx_ca_17.ps
+spire_fx_ca_18.ps
+spire_fx_ca_19.ps
+spire_fx_ca_20.ps
+spire_fx_ca_21.ps
+spire_fx_ca_22.ps
+spire_fx_ca_23.ps
+spire_fx_ka_01.ps
+spire_fx_ka_02.ps
+spire_fx_ka_03.ps
+spire_fx_ka_04.ps
+spire_fx_ka_05.ps
+spire_fx_ka_06.ps
+spire_fx_ka_07.ps
+spire_fx_ka_08.ps
+spire_fx_ka_09.ps
+spire_fx_ka_10.ps
+spire_fx_ka_11.ps
+spire_fx_ka_12.ps
+spire_fx_ka_13.ps
+spire_fx_ka_14.ps
+spire_fx_ka_15.ps
+spire_fx_ka_16.ps
+spire_fx_ka_17.ps
+spire_fx_ka_18.ps
+spire_fx_ka_19.ps
+spire_fx_ka_20.ps
+spire_fx_ka_21.ps
+spire_fx_ka_22.ps
+spire_fx_ka_23.ps
+sp_bien_cure.ps
+sp_bien_cure_lev1.ps
+sp_bien_cure_lev2.ps
+sp_bien_cure_lev3.ps
+sp_bien_cure_lev4.ps
+sp_bien_cure_lev5.ps
+sp_bien_end_fizzle.ps
+sp_bien_end_fumble.ps
+sp_bien_end_ok.ps
+sp_bien_end_ok_lev1.ps
+sp_bien_end_ok_lev2.ps
+sp_bien_end_ok_lev3.ps
+sp_bien_end_ok_lev4.ps
+sp_bien_end_ok_lev5.ps
+sp_bien_init.ps
+sp_bien_loop.ps
+sp_cast_end_fizzle.ps
+sp_cast_end_fumble.ps
+sp_cast_end_ok.ps
+sp_cast_init.ps
+sp_cast_loop.ps
+sp_host_end_fizzle.ps
+sp_host_end_fumble.ps
+sp_host_end_ok_lev1.ps
+sp_host_end_ok_lev2.ps
+sp_host_end_ok_lev3.ps
+sp_host_end_ok_lev4.ps
+sp_host_end_ok_lev5.ps
+sp_host_hurt.ps
+sp_host_hurt_lev1.ps
+sp_host_hurt_lev2.ps
+sp_host_hurt_lev3.ps
+sp_host_hurt_lev4.ps
+sp_host_hurt_lev5.ps
+sp_host_hurt_lev5back2.ps
+sp_host_hurt_lev5backup.ps
+sp_host_init.ps
+sp_host_loop.ps
+sp_medit.ps
+sp_mort.ps
+sp_neutre_end_fizzle.ps
+sp_neutre_end_fumble.ps
+sp_neutre_end_ok.ps
+sp_neutre_end_ok_lev1.ps
+sp_neutre_end_ok_lev2.ps
+sp_neutre_end_ok_lev3.ps
+sp_neutre_end_ok_lev4.ps
+sp_neutre_end_ok_lev5.ps
+sp_neutre_init.ps
+sp_neutre_loop.ps
+sp_neutre_protect_lev1.ps
+sp_neutre_protect_lev2.ps
+sp_neutre_protect_lev3.ps
+sp_neutre_protect_lev4.ps
+sp_neutre_protect_lev5.ps
+sp_progress.ps
+sp_protect.ps
+sp_resist.ps
+sp_resist_lev1.ps
+sp_resist_lev2.ps
+sp_resist_lev3.ps
+sp_resist_lev4.ps
+sp_resist_lev5.ps
+stardust.ps
+steprunhomboue.ps
+steprunhomdust.ps
+steprunhomveget.ps
+steprunhomwet.ps
+stepswim.ps
+stepswimidle.ps
+stepswimrun.ps
+stepswimspeed.ps
+stepswimspeedunderwater.ps
+stepswimunderwater.ps
+stepswimwalk.ps
+stepwalkhomboue.ps
+stepwalkhomdust.ps
+stepwalkhomveget.ps
+stepwalkhomwet.ps
+tr-colibris.ps
+tr-dragonflya.ps
+tr-dragonflyb.ps
+tr-fishes.ps
+tr-fishesb.ps
+tr_ascenseur.ps
+tr_fx_bigbird.ps
+tr_land_telepod.ps
+tr_tablebulle.ps
+tr_waterfall_base.ps
+tr_waterfall_base_big.ps
+tr_wea_dague.ps
+tr_wea_epee1m.ps
+tr_wea_epee2m.ps
+tr_wea_muzzle_1shot.ps
+tr_wea_muzzle_gatling.ps
+tr_wea_petit_bouclier.ps
+tr_wea_pistolarc.ps
+tr_wea_pistolet_sousmarin.ps
+underwater.ps
+vegetdarkspell.ps
+vegetdarkspellb.ps
+zorai_ambre.ps
+zo_acc_ascenseur.ps
+zo_bt_mon_flare_couloir.ps
+zo_flare.ps
+zo_land_telepod.ps
+zo_wea_fusarc.ps
+zo_wea_lance1m.ps
+zo_wea_lanceroquette.ps
+zo_wea_masse1m.ps
+zo_wea_masse2m.ps
+zo_wea_muzzle_1shot.ps
+zo_wea_muzzle_gatling.ps
+zo_wea_petit_bouclier.ps
diff --git a/ryzom/tools/extract_r2_required/sfx_ps_parsed.tsv b/ryzom/tools/extract_r2_required/sfx_ps_parsed.tsv
new file mode 100644
index 000000000..ae95474e0
--- /dev/null
+++ b/ryzom/tools/extract_r2_required/sfx_ps_parsed.tsv
@@ -0,0 +1,868 @@
+aura_divinity incomplete _aura_divinity
+aura_protection incomplete _aura_protection
+aura_recept incomplete _aura_recept
+aura_sapstahp incomplete _aura_sapstahp
+aura_speedmove incomplete _aura_speedmove
+aura_wall_fy incomplete _aura_wall_fy
+aura_wall_ma incomplete _aura_wall_ma
+aura_wall_tr incomplete _aura_wall_tr
+aura_wall_zo incomplete _aura_wall_zo
+aura_warcry incomplete _aura_warcry
+blank incomplete _blank
+bloblight incomplete _bloblight
+braziera incomplete _braziera
+brazierb incomplete _brazierb
+brazierc incomplete _brazierc
+brazierd incomplete _brazierd
+braziere incomplete _braziere
+brazierf incomplete _brazierf
+builtdust incomplete _builtdust
+burntreeblow incomplete _burntreeblow
+burntreeexplo incomplete _burntreeexplo
+burntreefire incomplete _burntreefire
+burntreefleur incomplete _burntreefleur
+burntreeinvoq incomplete _burntreeinvoq
+burntreenrg incomplete _burntreenrg
+burntreespell incomplete _burntreespell
+burntreeveget incomplete _burntreeveget
+campfire incomplete _campfire
+ca_wea_muzzle_1shot karavan weapon incomplete _muzzle_1shot
+ca_wea_muzzle_gatling karavan weapon incomplete _muzzle_gatling
+chutefalling incomplete _chutefalling
+chutefallingb incomplete _chutefallingb
+chuteimpact incomplete _chuteimpact
+cityfire incomplete _cityfire
+clapclapattack incomplete _clapclapattack
+clapclapmove incomplete _clapclapmove
+clapclapsplash incomplete _clapclapsplash
+desert-sandblasta incomplete _desert-sandblasta
+desert-sandblastb incomplete _desert-sandblastb
+de_fishes incomplete _de_fishes
+de_flower incomplete _de_flower
+de_scorpion2 incomplete _de_scorpion2
+de_serpent incomplete _de_serpent
+dressing_electric_hof_l incomplete _dressing_electric_hof_l
+dressing_electric_hom incomplete _dressing_electric_hom
+dressing_electric_hom_l_hand incomplete _dressing_electric_hom_l_hand
+dressing_electric_hom_r_hand incomplete _dressing_electric_hom_r_hand
+dressing_hof_electric_r incomplete _dressing_hof_electric_r
+dressing_jongle_a incomplete _dressing_jongle_a
+dressing_jongle_b incomplete _dressing_jongle_b
+dressing_jongle_c incomplete _dressing_jongle_c
+dustdagwalk incomplete _dustdagwalk
+dustdagwalknight incomplete _dustdagwalknight
+dustdoor incomplete _dustdoor
+dustrunhomin incomplete _dustrunhomin
+dustrunvarynx incomplete _dustrunvarynx
+duststep incomplete _duststep
+duststepbul incomplete _duststepbul
+dustwalkbull incomplete _dustwalkbull
+dustwalkbullnight incomplete _dustwalkbullnight
+eaublink incomplete _eaublink
+eaububble incomplete _eaububble
+eauripple incomplete _eauripple
+eauwaves incomplete _eauwaves
+env-pluie incomplete _env-pluie
+env-pluiebruine incomplete _env-pluiebruine
+env-pollen incomplete _env-pollen
+env-snow incomplete _env-snow
+env-thundersand incomplete _env-thundersand
+env-underwater incomplete _env-underwater
+env_aqua incomplete _env_aqua
+env_aqua2 incomplete _env_aqua2
+etoile_filante incomplete _etoile_filante
+fireballinvoq incomplete _fireballinvoq
+fireworka incomplete _fireworka
+fireworkb incomplete _fireworkb
+fireworkc incomplete _fireworkc
+fireworkd incomplete _fireworkd
+fireworke incomplete _fireworke
+fireworkf incomplete _fireworkf
+fireworkg incomplete _fireworkg
+fireworkh incomplete _fireworkh
+fireworki incomplete _fireworki
+fireworkj incomplete _fireworkj
+fireworkk incomplete _fireworkk
+fireworkl incomplete _fireworkl
+fireworkm incomplete _fireworkm
+fireworkn incomplete _fireworkn
+fireworko incomplete _fireworko
+fireworkp incomplete _fireworkp
+fireworkq incomplete _fireworkq
+fireworkr incomplete _fireworkr
+fireworks incomplete _fireworks
+fo-bugsa incomplete _fo-bugsa
+fo-bugsb incomplete _fo-bugsb
+fo-bugsc incomplete _fo-bugsc
+fo-ju-colibrisb incomplete _fo-ju-colibrisb
+fo-solbirtha incomplete _fo-solbirtha
+fo-solbirthb incomplete _fo-solbirthb
+fo-solbirthc incomplete _fo-solbirthc
+fo-treefalla incomplete _fo-treefalla
+fo-treefallb incomplete _fo-treefallb
+fo-treefallb_autumn incomplete _fo-treefallb_autumn
+fo-treefallb_spring incomplete _fo-treefallb_spring
+fo-treefallb_summer incomplete _fo-treefallb_summer
+fo-treefallb_winter incomplete _fo-treefallb_winter
+fo-treefallc incomplete _fo-treefallc
+fo-treefalld incomplete _fo-treefalld
+fo-treefalle incomplete _fo-treefalle
+forge incomplete _forge
+forgesmokeout incomplete _forgesmokeout
+for_cure incomplete _for_cure
+for_explosion incomplete _for_explosion
+for_forage incomplete _for_forage
+for_gaz incomplete _for_gaz
+for_prospection incomplete _for_prospection
+for_prospection_end incomplete _for_prospection_end
+for_prospection_init incomplete _for_prospection_init
+for_prospection_level incomplete _for_prospection_level
+for_prospection_loop incomplete _for_prospection_loop
+fo_flower incomplete _fo_flower
+fo_ju_serpent incomplete _fo_ju_serpent
+fxfontaine incomplete _fxfontaine
+fy-birda incomplete _fy-birda
+fy-cricketa incomplete _fy-cricketa
+fy-cricketaplonge incomplete _fy-cricketaplonge
+fy-papillonadesert incomplete _fy-papillonadesert
+fy-polendesert incomplete _fy-polendesert
+fy-polenpapillonadesert incomplete _fy-polenpapillonadesert
+fy-sandblastadesert incomplete _fy-sandblastadesert
+fy-sandblastdesert incomplete _fy-sandblastdesert
+fy_acc_ascenseur fyros accessory incomplete _ascenseur
+fy_burnedtree_a fyros incomplete _burnedtree_a
+fy_burnedtree_b fyros incomplete _burnedtree_b
+fy_candle_flame fyros incomplete _candle_flame
+fy_canyon fyros incomplete _canyon
+fy_feu_foret fyros incomplete _feu_foret
+fy_firewave fyros incomplete _firewave
+fy_fx_krevette fyros incomplete _fx_krevette
+fy_geyser_feu fyros incomplete _geyser_feu
+fy_geyser_fumee fyros incomplete _geyser_fumee
+fy_land_telepod fyros incomplete _land_telepod
+fy_land_telepod_small fyros incomplete _land_telepod_small
+fy_vapeurs fyros incomplete _vapeurs
+fy_ver fyros incomplete _ver
+fy_wea_epee2m fyros weapon melee two-handed slashing sword
+fy_wea_gatling fyros weapon ranged two-handed autolauncher
+fy_wea_hache1m fyros weapon melee one-handed slashing axe
+fy_wea_hache2m fyros weapon melee two-handed slashing axe
+fy_wea_lanceroquette fyros weapon ranged two-handed launcher
+fy_wea_muzzle_1shot fyros weapon incomplete _muzzle_1shot
+fy_wea_muzzle_gatling fyros weapon incomplete _muzzle_gatling
+fy_wea_petit_bouclier fyros weapon buckler shield
+ge_acc_baniere_gm common accessory event banner g incomplete _m
+ge_acc_baniere_guide common accessory event banner g incomplete _uide
+ge_acc_baniere_seniorgm common accessory event banner incomplete __seniorgm
+ge_acc_baniere_seniorguide common accessory event banner incomplete __seniorguide
+ge_feudecamp common incomplete _feudecamp
+ge_mission_barriere_kami common incomplete _mission_barriere_kami
+ge_mission_barriere_karavan common incomplete _mission_barriere_karavan
+ge_mission_borne_teleport_kami common incomplete _mission_borne_teleport_kami
+ge_mission_calendar common incomplete _mission_calendar
+ge_mission_capsule common incomplete _mission_capsule
+ge_mission_cercle_runique common incomplete _mission_cercle_runique
+ge_mission_chef_wea_fy common incomplete _mission_chef_wea_fy
+ge_mission_chef_wea_ma common incomplete _mission_chef_wea_ma
+ge_mission_chef_wea_tr common incomplete _mission_chef_wea_tr
+ge_mission_chef_wea_zo common incomplete _mission_chef_wea_zo
+ge_mission_chrono common incomplete _mission_chrono
+ge_mission_clock common incomplete _mission_clock
+ge_mission_clock_3 common incomplete _mission_clock_3
+ge_mission_courrier common incomplete _mission_courrier
+ge_mission_etendard_kami common incomplete _mission_etendard_kami
+ge_mission_etendard_karavan common incomplete _mission_etendard_karavan
+ge_mission_evenement common incomplete _mission_evenement
+ge_mission_fortuna_wheel common incomplete _mission_fortuna_wheel
+ge_mission_fortuna_wheel_fx common incomplete _mission_fortuna_wheel_fx
+ge_mission_gate_gong common incomplete _mission_gate_gong
+ge_mission_grande_barriere_karavan common incomplete _mission_grande_barriere_karavan
+ge_mission_grande_barriere_karavan_far common incomplete _mission_grande_barriere_karavan_far
+ge_mission_hall_of_fame common incomplete _mission_hall_of_fame
+ge_mission_justice_flame common incomplete _mission_justice_flame
+ge_mission_kite_kamique common incomplete _mission_kite_kamique
+ge_mission_kite_karavan common incomplete _mission_kite_karavan
+ge_mission_laptop common incomplete _mission_laptop
+ge_mission_outpost_drill_kami common incomplete _mission_outpost_drill_kami
+ge_mission_outpost_drill_karavan common incomplete _mission_outpost_drill_karavan
+ge_mission_outpost_hall_of_fame common incomplete _mission_outpost_hall_of_fame
+ge_mission_portail_kami common incomplete _mission_portail_kami
+ge_mission_portail_karavan common incomplete _mission_portail_karavan
+ge_mission_pumpkin common incomplete _mission_pumpkin
+ge_mission_reverbere common incomplete _mission_reverbere
+ge_mission_reverbere_blue common incomplete _mission_reverbere_blue
+ge_mission_reverbere_green common incomplete _mission_reverbere_green
+ge_mission_reverbere_red common incomplete _mission_reverbere_red
+ge_mission_ringate_teleport common incomplete _mission_ringate_teleport
+ge_mission_rucksack common incomplete _mission_rucksack
+ge_mission_snowman common incomplete _mission_snowman
+ge_mission_socle_flame_courage common incomplete _mission_socle_flame_courage
+ge_mission_socle_flame_discipline common incomplete _mission_socle_flame_discipline
+ge_mission_socle_flame_verite common incomplete _mission_socle_flame_verite
+ge_mission_spot_goo common incomplete _mission_spot_goo
+ge_mission_talkie common incomplete _mission_talkie
+ge_mission_temple_of_jena common incomplete _mission_temple_of_jena
+ge_mission_temple_of_maduk common incomplete _mission_temple_of_maduk
+ge_mission_tourcombat_kamique common incomplete _mission_tourcombat_kamique
+ge_mission_tourcombat_kamique2 common incomplete _mission_tourcombat_kamique2
+ge_mission_tourcombat_karavan common incomplete _mission_tourcombat_karavan
+ge_mission_xmas_tree common incomplete _mission_xmas_tree
+ge_wea_muzzle_1shot common weapon incomplete _muzzle_1shot
+ge_wea_muzzle_gatling common weapon incomplete _muzzle_gatling
+goo_mo_charogneinsect incomplete _goo_mo_charogneinsect
+goo_mo_charognemamal incomplete _goo_mo_charognemamal
+hammambubble incomplete _hammambubble
+hammammist incomplete _hammammist
+hammam_under_bubble incomplete _hammam_under_bubble
+icespell incomplete _icespell
+impact-pistolarc incomplete _impact-pistolarc
+impactshoota incomplete _impactshoota
+impactshootvarynx incomplete _impactshootvarynx
+ju-bata incomplete _ju-bata
+ju-bugsa incomplete _ju-bugsa
+ju-bugsb incomplete _ju-bugsb
+ju-dragonflya incomplete _ju-dragonflya
+ju-ghosta incomplete _ju-ghosta
+ju-ghostb incomplete _ju-ghostb
+ju-solbirtha incomplete _ju-solbirtha
+ju-solbirthb incomplete _ju-solbirthb
+ju-solbirthc incomplete _ju-solbirthc
+ju-solbirthd incomplete _ju-solbirthd
+ju-treefalla incomplete _ju-treefalla
+ju-treefallb incomplete _ju-treefallb
+ju-treefallc incomplete _ju-treefallc
+ju-treefalld incomplete _ju-treefalld
+ju_fo_bibubirdb incomplete _ju_fo_bibubirdb
+ju_fo_birds incomplete _ju_fo_birds
+ju_fo_birdsb incomplete _ju_fo_birdsb
+ju_fo_birdsc incomplete _ju_fo_birdsc
+ju_fo_brumes incomplete _ju_fo_brumes
+ju_fo_brumesb incomplete _ju_fo_brumesb
+ju_fo_fee incomplete _ju_fo_fee
+ju_fo_fishes incomplete _ju_fo_fishes
+ju_fo_geyser4a incomplete _ju_fo_geyser4a
+ju_fo_geyser4b incomplete _ju_fo_geyser4b
+ju_fo_geyser4c incomplete _ju_fo_geyser4c
+ju_fo_grenouille3 incomplete _ju_fo_grenouille3
+ju_fo_grenouilleb3 incomplete _ju_fo_grenouilleb3
+ju_fo_grenouillec3 incomplete _ju_fo_grenouillec3
+ju_fo_hippocampe incomplete _ju_fo_hippocampe
+ju_fo_pollen incomplete _ju_fo_pollen
+ju_fo_pollenb incomplete _ju_fo_pollenb
+ju_fo_ratsc incomplete _ju_fo_ratsc
+ju_fo_rotasecte incomplete _ju_fo_rotasecte
+ju_fo_rotasecteb incomplete _ju_fo_rotasecteb
+ju_fo_scorpion2 incomplete _ju_fo_scorpion2
+ju_fo_taupe incomplete _ju_fo_taupe
+ju_fo_vent incomplete _ju_fo_vent
+ju_smog_goo incomplete _ju_smog_goo
+ju_waterfall_base incomplete _ju_waterfall_base
+ju_waterfall_base_big incomplete _ju_waterfall_base_big
+ju_waterfall_source incomplete _ju_waterfall_source
+kamibdust incomplete _kamibdust
+kamibdustsides incomplete _kamibdustsides
+kamibslobber incomplete _kamibslobber
+kamidustwall incomplete _kamidustwall
+kami_foret_precheur2_dead incomplete _kami_foret_precheur2_dead
+kami_guard_guide2_dead incomplete _kami_guard_guide2_dead
+kami_guide3_guide4_dead incomplete _kami_guide3_guide4_dead
+kami_precheur3_precheur4_dead incomplete _kami_precheur3_precheur4_dead
+ka_wea_muzzle_1shot kami weapon incomplete _muzzle_1shot
+ka_wea_muzzle_gatling kami weapon incomplete _muzzle_gatling
+la_birds incomplete _la_birds
+la_birdsb incomplete _la_birdsb
+la_serpent incomplete _la_serpent
+la_serpent_sub incomplete _la_serpent_sub
+la_taupe incomplete _la_taupe
+la_vent incomplete _la_vent
+lucioles incomplete _lucioles
+lucioles_big incomplete _lucioles_big
+mag_aura_divinity incomplete _mag_aura_divinity
+mag_aura_protection incomplete _mag_aura_protection
+mag_aura_recept incomplete _mag_aura_recept
+mag_aura_sapstahp incomplete _mag_aura_sapstahp
+mag_aura_speedmove incomplete _mag_aura_speedmove
+mag_cur_cast_beneficcreature incomplete _mag_cur_cast_beneficcreature
+mag_cur_cast_bomb_end incomplete _mag_cur_cast_bomb_end
+mag_cur_cast_bomb_end_fail incomplete _mag_cur_cast_bomb_end_fail
+mag_cur_cast_bomb_init incomplete _mag_cur_cast_bomb_init
+mag_cur_cast_bomb_loop incomplete _mag_cur_cast_bomb_loop
+mag_cur_cast_loop incomplete _mag_cur_cast_loop
+mag_cur_end incomplete _mag_cur_end
+mag_cur_fail incomplete _mag_cur_fail
+mag_cur_healhp_end incomplete _mag_cur_healhp_end
+mag_cur_healhp_fail incomplete _mag_cur_healhp_fail
+mag_cur_healhp_init_l incomplete _mag_cur_healhp_init_l
+mag_cur_healhp_init_r incomplete _mag_cur_healhp_init_r
+mag_cur_healhp_loop incomplete _mag_cur_healhp_loop
+mag_cur_healsap_end incomplete _mag_cur_healsap_end
+mag_cur_healsap_fail incomplete _mag_cur_healsap_fail
+mag_cur_healsap_init_l incomplete _mag_cur_healsap_init_l
+mag_cur_healsap_init_r incomplete _mag_cur_healsap_init_r
+mag_cur_healsap_loop incomplete _mag_cur_healsap_loop
+mag_cur_healsta_end incomplete _mag_cur_healsta_end
+mag_cur_healsta_fail incomplete _mag_cur_healsta_fail
+mag_cur_healsta_init_l incomplete _mag_cur_healsta_init_l
+mag_cur_healsta_init_r incomplete _mag_cur_healsta_init_r
+mag_cur_healsta_loop incomplete _mag_cur_healsta_loop
+mag_cur_impact_healhp incomplete _mag_cur_impact_healhp
+mag_cur_impact_healhp_loop incomplete _mag_cur_impact_healhp_loop
+mag_cur_impact_healsap incomplete _mag_cur_impact_healsap
+mag_cur_impact_healsap_loop incomplete _mag_cur_impact_healsap_loop
+mag_cur_impact_healsta incomplete _mag_cur_impact_healsta
+mag_cur_impact_healsta_loop incomplete _mag_cur_impact_healsta_loop
+mag_cur_init incomplete _mag_cur_init
+mag_cur_loop incomplete _mag_cur_loop
+mag_cur_missile_bomb incomplete _mag_cur_missile_bomb
+mag_cur_missile_chain incomplete _mag_cur_missile_chain
+mag_cur_missile_spray incomplete _mag_cur_missile_spray
+mag_def_fear_end_l incomplete _mag_def_fear_end_l
+mag_def_fear_end_r incomplete _mag_def_fear_end_r
+mag_def_fear_fail incomplete _mag_def_fear_fail
+mag_def_fear_init_l incomplete _mag_def_fear_init_l
+mag_def_fear_init_r incomplete _mag_def_fear_init_r
+mag_def_fear_loop_l incomplete _mag_def_fear_loop_l
+mag_def_fear_loop_r incomplete _mag_def_fear_loop_r
+mag_def_impact_resist incomplete _mag_def_impact_resist
+mag_def_root_fail incomplete _mag_def_root_fail
+mag_def_sleep_end_l incomplete _mag_def_sleep_end_l
+mag_def_sleep_fail incomplete _mag_def_sleep_fail
+mag_def_sleep_init_l incomplete _mag_def_sleep_init_l
+mag_def_sleep_init_r incomplete _mag_def_sleep_init_r
+mag_def_sleep_loop incomplete _mag_def_sleep_loop
+mag_def_stun_end_l incomplete _mag_def_stun_end_l
+mag_def_stun_fail incomplete _mag_def_stun_fail
+mag_def_stun_init_l incomplete _mag_def_stun_init_l
+mag_def_stun_init_r incomplete _mag_def_stun_init_r
+mag_def_stun_loop incomplete _mag_def_stun_loop
+mag_gauntlet incomplete _mag_gauntlet
+mag_gauntlet_1 incomplete _mag_gauntlet_1
+mag_gauntlet_2 incomplete _mag_gauntlet_2
+mag_mix_cast_end incomplete _mag_mix_cast_end
+mag_mix_cast_init incomplete _mag_mix_cast_init
+mag_mix_cast_loop incomplete _mag_mix_cast_loop
+mag_off_acid_end incomplete _mag_off_acid_end
+mag_off_acid_fail incomplete _mag_off_acid_fail
+mag_off_acid_init_l incomplete _mag_off_acid_init_l
+mag_off_acid_init_r incomplete _mag_off_acid_init_r
+mag_off_acid_loop incomplete _mag_off_acid_loop
+mag_off_blind_end incomplete _mag_off_blind_end
+mag_off_blind_fail incomplete _mag_off_blind_fail
+mag_off_blind_init_l incomplete _mag_off_blind_init_l
+mag_off_blind_init_r incomplete _mag_off_blind_init_r
+mag_off_blind_loop incomplete _mag_off_blind_loop
+mag_off_cast_bomb_end incomplete _mag_off_cast_bomb_end
+mag_off_cast_bomb_end_fail incomplete _mag_off_cast_bomb_end_fail
+mag_off_cast_bomb_init incomplete _mag_off_cast_bomb_init
+mag_off_cast_bomb_loop incomplete _mag_off_cast_bomb_loop
+mag_off_cast_offensivecreature incomplete _mag_off_cast_offensivecreature
+mag_off_cold_end incomplete _mag_off_cold_end
+mag_off_cold_fail incomplete _mag_off_cold_fail
+mag_off_cold_init_l incomplete _mag_off_cold_init_l
+mag_off_cold_init_r incomplete _mag_off_cold_init_r
+mag_off_cold_loop incomplete _mag_off_cold_loop
+mag_off_electric_end_l incomplete _mag_off_electric_end_l
+mag_off_electric_end_r incomplete _mag_off_electric_end_r
+mag_off_electric_fail incomplete _mag_off_electric_fail
+mag_off_electric_init_l incomplete _mag_off_electric_init_l
+mag_off_electric_init_r incomplete _mag_off_electric_init_r
+mag_off_electric_loop_l incomplete _mag_off_electric_loop_l
+mag_off_electric_loop_r incomplete _mag_off_electric_loop_r
+mag_off_end incomplete _mag_off_end
+mag_off_fail incomplete _mag_off_fail
+mag_off_fire_end_l incomplete _mag_off_fire_end_l
+mag_off_fire_fail incomplete _mag_off_fire_fail
+mag_off_fire_init_l incomplete _mag_off_fire_init_l
+mag_off_fire_loop_l incomplete _mag_off_fire_loop_l
+mag_off_impact_acid incomplete _mag_off_impact_acid
+mag_off_impact_acid_loop incomplete _mag_off_impact_acid_loop
+mag_off_impact_blunt incomplete _mag_off_impact_blunt
+mag_off_impact_blunt_loop incomplete _mag_off_impact_blunt_loop
+mag_off_impact_cold incomplete _mag_off_impact_cold
+mag_off_impact_cold_loop incomplete _mag_off_impact_cold_loop
+mag_off_impact_curse incomplete _mag_off_impact_curse
+mag_off_impact_curse_loop incomplete _mag_off_impact_curse_loop
+mag_off_impact_electric incomplete _mag_off_impact_electric
+mag_off_impact_electric_loop incomplete _mag_off_impact_electric_loop
+mag_off_impact_fear incomplete _mag_off_impact_fear
+mag_off_impact_fear_loop incomplete _mag_off_impact_fear_loop
+mag_off_impact_fire incomplete _mag_off_impact_fire
+mag_off_impact_fire_loop incomplete _mag_off_impact_fire_loop
+mag_off_impact_hatred incomplete _mag_off_impact_hatred
+mag_off_impact_hatred_loop incomplete _mag_off_impact_hatred_loop
+mag_off_impact_loop_break incomplete _mag_off_impact_loop_break
+mag_off_impact_mezz incomplete _mag_off_impact_mezz
+mag_off_impact_mezz_loop incomplete _mag_off_impact_mezz_loop
+mag_off_impact_piercing incomplete _mag_off_impact_piercing
+mag_off_impact_piercing_loop incomplete _mag_off_impact_piercing_loop
+mag_off_impact_poison incomplete _mag_off_impact_poison
+mag_off_impact_poison_loop incomplete _mag_off_impact_poison_loop
+mag_off_impact_root incomplete _mag_off_impact_root
+mag_off_impact_root_loop incomplete _mag_off_impact_root_loop
+mag_off_impact_rot incomplete _mag_off_impact_rot
+mag_off_impact_rot_loop incomplete _mag_off_impact_rot_loop
+mag_off_impact_shockwave incomplete _mag_off_impact_shockwave
+mag_off_impact_shockwave_loop incomplete _mag_off_impact_shockwave_loop
+mag_off_impact_sickness incomplete _mag_off_impact_sickness
+mag_off_impact_sickness_loop incomplete _mag_off_impact_sickness_loop
+mag_off_impact_slashing incomplete _mag_off_impact_slashing
+mag_off_impact_slashing_loop incomplete _mag_off_impact_slashing_loop
+mag_off_impact_stun incomplete _mag_off_impact_stun
+mag_off_impact_stun_loop incomplete _mag_off_impact_stun_loop
+mag_off_init incomplete _mag_off_init
+mag_off_kami_cast_end incomplete _mag_off_kami_cast_end
+mag_off_kami_cast_init incomplete _mag_off_kami_cast_init
+mag_off_kami_cast_loop incomplete _mag_off_kami_cast_loop
+mag_off_kami_fo_p2_cast_end incomplete _mag_off_kami_fo_p2_cast_end
+mag_off_kami_fo_p2_cast_init incomplete _mag_off_kami_fo_p2_cast_init
+mag_off_kami_fo_p2_cast_loop incomplete _mag_off_kami_fo_p2_cast_loop
+mag_off_kami_g3_g4_cast_end incomplete _mag_off_kami_g3_g4_cast_end
+mag_off_kami_g3_g4_cast_init incomplete _mag_off_kami_g3_g4_cast_init
+mag_off_kami_g3_g4_cast_loop incomplete _mag_off_kami_g3_g4_cast_loop
+mag_off_kami_gd_g2_cast_end incomplete _mag_off_kami_gd_g2_cast_end
+mag_off_kami_gd_g2_cast_init incomplete _mag_off_kami_gd_g2_cast_init
+mag_off_kami_gd_g2_cast_loop incomplete _mag_off_kami_gd_g2_cast_loop
+mag_off_kami_p3_p4_cast_end incomplete _mag_off_kami_p3_p4_cast_end
+mag_off_kami_p3_p4_cast_init incomplete _mag_off_kami_p3_p4_cast_init
+mag_off_kami_p3_p4_cast_loop incomplete _mag_off_kami_p3_p4_cast_loop
+mag_off_loop incomplete _mag_off_loop
+mag_off_madness_end_l incomplete _mag_off_madness_end_l
+mag_off_madness_fail incomplete _mag_off_madness_fail
+mag_off_madness_init_l incomplete _mag_off_madness_init_l
+mag_off_madness_init_r incomplete _mag_off_madness_init_r
+mag_off_madness_loop_l incomplete _mag_off_madness_loop_l
+mag_off_madness_loop_r incomplete _mag_off_madness_loop_r
+mag_off_missile_acid incomplete _mag_off_missile_acid
+mag_off_missile_bomb incomplete _mag_off_missile_bomb
+mag_off_missile_bomb_b incomplete _mag_off_missile_bomb_b
+mag_off_missile_bomb_gc incomplete _mag_off_missile_bomb_gc
+mag_off_missile_chain incomplete _mag_off_missile_chain
+mag_off_missile_chain_gc incomplete _mag_off_missile_chain_gc
+mag_off_missile_electric incomplete _mag_off_missile_electric
+mag_off_missile_fire incomplete _mag_off_missile_fire
+mag_off_missile_kami incomplete _mag_off_missile_kami
+mag_off_missile_kami_fire incomplete _mag_off_missile_kami_fire
+mag_off_missile_poison incomplete _mag_off_missile_poison
+mag_off_missile_shock incomplete _mag_off_missile_shock
+mag_off_missile_spray incomplete _mag_off_missile_spray
+mag_off_missile_spray_gc incomplete _mag_off_missile_spray_gc
+mag_off_poison_end incomplete _mag_off_poison_end
+mag_off_poison_end_l incomplete _mag_off_poison_end_l
+mag_off_poison_end_r incomplete _mag_off_poison_end_r
+mag_off_poison_fail incomplete _mag_off_poison_fail
+mag_off_poison_init_l incomplete _mag_off_poison_init_l
+mag_off_poison_init_r incomplete _mag_off_poison_init_r
+mag_off_poison_loop incomplete _mag_off_poison_loop
+mag_off_poison_loop_l incomplete _mag_off_poison_loop_l
+mag_off_poison_loop_r incomplete _mag_off_poison_loop_r
+mag_off_root_end incomplete _mag_off_root_end
+mag_off_root_init_l incomplete _mag_off_root_init_l
+mag_off_root_init_r incomplete _mag_off_root_init_r
+mag_off_root_loop incomplete _mag_off_root_loop
+mag_off_rot_end incomplete _mag_off_rot_end
+mag_off_rot_fail incomplete _mag_off_rot_fail
+mag_off_rot_init_l incomplete _mag_off_rot_init_l
+mag_off_rot_init_r incomplete _mag_off_rot_init_r
+mag_off_rot_loop incomplete _mag_off_rot_loop
+mag_off_shock_end incomplete _mag_off_shock_end
+mag_off_shock_fail incomplete _mag_off_shock_fail
+mag_off_shock_init_l incomplete _mag_off_shock_init_l
+mag_off_shock_init_r incomplete _mag_off_shock_init_r
+mag_off_shock_loop incomplete _mag_off_shock_loop
+mag_off_slowaction_end incomplete _mag_off_slowaction_end
+mag_off_slowaction_fail incomplete _mag_off_slowaction_fail
+mag_off_slowaction_init_l incomplete _mag_off_slowaction_init_l
+mag_off_slowaction_loop incomplete _mag_off_slowaction_loop
+mag_off_slowmvt_end incomplete _mag_off_slowmvt_end
+mag_off_slowmvt_fail incomplete _mag_off_slowmvt_fail
+mag_off_slowmvt_init_l incomplete _mag_off_slowmvt_init_l
+mag_off_slowmvt_loop incomplete _mag_off_slowmvt_loop
+matis_alcove incomplete _matis_alcove
+ma_acc_ascenseur matis accessory incomplete _ascenseur
+ma_land_telepod matis incomplete _land_telepod
+ma_serre_waterfall matis incomplete _serre_waterfall
+ma_wea_dague matis weapon melee one-handed piercing dagger
+ma_wea_epee2m matis weapon melee two-handed slashing sword
+ma_wea_fusil matis weapon ranged two-handed rifle
+ma_wea_lance1m matis weapon melee one-handed piercing spear
+ma_wea_lance2m matis weapon melee two-handed piercing pike
+ma_wea_muzzle_1shot matis weapon incomplete _muzzle_1shot
+ma_wea_muzzle_gatling matis weapon incomplete _muzzle_gatling
+ma_wea_petit_bouclier matis weapon buckler shield
+ma_wea_pistolet matis weapon ranged one-handed pistol
+mel_impact incomplete _mel_impact
+mel_impactblunt incomplete _mel_impactblunt
+mel_impactpiercing incomplete _mel_impactpiercing
+mel_impactslashing incomplete _mel_impactslashing
+mel_levelup4to5 incomplete _mel_levelup4to5
+mel_meditenchantment incomplete _mel_meditenchantment
+mel_ran_impact_blind incomplete _mel_ran_impact_blind
+mel_ran_impact_electric incomplete _mel_ran_impact_electric
+mel_wea_enchantment incomplete _mel_wea_enchantment
+meteo_humidity incomplete _meteo_humidity
+meteo_thundersand incomplete _meteo_thundersand
+meteo_wind incomplete _meteo_wind
+misc_caravan_teleportout incomplete _misc_caravan_teleportout
+misc_ca_ship incomplete _misc_ca_ship
+misc_ca_ship_turn_left incomplete _misc_ca_ship_turn_left
+misc_ca_ship_turn_right incomplete _misc_ca_ship_turn_right
+misc_ca_spaceship incomplete _misc_ca_spaceship
+misc_ca_spaceship2 incomplete _misc_ca_spaceship2
+misc_ca_spaceship2_turn_left incomplete _misc_ca_spaceship2_turn_left
+misc_ca_spaceship2_turn_right incomplete _misc_ca_spaceship2_turn_right
+misc_dead incomplete _misc_dead
+misc_encyclopediabook_all incomplete _misc_encyclopediabook_all
+misc_encyclopediabook_fy incomplete _misc_encyclopediabook_fy
+misc_encyclopediabook_ma incomplete _misc_encyclopediabook_ma
+misc_encyclopediabook_tr incomplete _misc_encyclopediabook_tr
+misc_encyclopediabook_zo incomplete _misc_encyclopediabook_zo
+misc_kami_teleportout incomplete _misc_kami_teleportout
+misc_levelup incomplete _misc_levelup
+misc_preorder incomplete _misc_preorder
+misc_rafale_neige incomplete _misc_rafale_neige
+misc_respiration_course incomplete _misc_respiration_course
+misc_respiration_fixe incomplete _misc_respiration_fixe
+misc_respiration_marche incomplete _misc_respiration_marche
+misc_telepodkami incomplete _misc_telepodkami
+misc_telepodkaravan incomplete _misc_telepodkaravan
+mouches incomplete _mouches
+mo_c3_specialatk incomplete _mo_c3_specialatk
+mo_c4_specialatk incomplete _mo_c4_specialatk
+mo_c5_specialatk incomplete _mo_c5_specialatk
+mo_c6_specialatk incomplete _mo_c6_specialatk
+mo_carnitree_atk incomplete _mo_carnitree_atk
+mo_carnitree_mag_cast incomplete _mo_carnitree_mag_cast
+mo_carnitree_ran_atk incomplete _mo_carnitree_ran_atk
+mo_charogneinsect incomplete _mo_charogneinsect
+mo_charognemamal incomplete _mo_charognemamal
+mo_chonari_specialatk incomplete _mo_chonari_specialatk
+mo_cute_cur_cast_debilitating_end_l incomplete _mo_cute_cur_cast_debilitating_end_l
+mo_cute_cur_cast_debilitating_end_r incomplete _mo_cute_cur_cast_debilitating_end_r
+mo_cute_cur_cast_debilitating_init_l incomplete _mo_cute_cur_cast_debilitating_init_l
+mo_cute_cur_cast_debilitating_init_r incomplete _mo_cute_cur_cast_debilitating_init_r
+mo_cute_cur_cast_debilitating_loop incomplete _mo_cute_cur_cast_debilitating_loop
+mo_cute_mag_cur_cast_heal_end incomplete _mo_cute_mag_cur_cast_heal_end
+mo_cute_mag_cur_cast_heal_init_l incomplete _mo_cute_mag_cur_cast_heal_init_l
+mo_cute_mag_cur_cast_heal_init_r incomplete _mo_cute_mag_cur_cast_heal_init_r
+mo_cute_mag_cur_cast_heal_loop incomplete _mo_cute_mag_cur_cast_heal_loop
+mo_cute_mag_off_cast_damaging_end incomplete _mo_cute_mag_off_cast_damaging_end
+mo_cute_mag_off_cast_damaging_init_l incomplete _mo_cute_mag_off_cast_damaging_init_l
+mo_cute_mag_off_cast_damaging_init_r incomplete _mo_cute_mag_off_cast_damaging_init_r
+mo_cute_mag_off_cast_damaging_loop incomplete _mo_cute_mag_off_cast_damaging_loop
+mo_cute_mag_off_cast_incapaciting_end incomplete _mo_cute_mag_off_cast_incapaciting_end
+mo_cute_mag_off_cast_incapaciting_loop incomplete _mo_cute_mag_off_cast_incapaciting_loop
+mo_cute_mag_off_incapacitating_init_l incomplete _mo_cute_mag_off_incapacitating_init_l
+mo_cute_mag_off_incapacitating_init_r incomplete _mo_cute_mag_off_incapacitating_init_r
+mo_cute_specialatk incomplete _mo_cute_specialatk
+mo_electroalg_mag_cast incomplete _mo_electroalg_mag_cast
+mo_endrobouchea_atk incomplete _mo_endrobouchea_atk
+mo_endrobouchea_intm incomplete _mo_endrobouchea_intm
+mo_endrobouchea_mag_cast incomplete _mo_endrobouchea_mag_cast
+mo_endrobouchea_ran_atk incomplete _mo_endrobouchea_ran_atk
+mo_frahari_mag_off_cast_damaging_init_r incomplete _mo_frahari_mag_off_cast_damaging_init_r
+mo_frahar_cur_cast_debilitating_end_l incomplete _mo_frahar_cur_cast_debilitating_end_l
+mo_frahar_cur_cast_debilitating_end_r incomplete _mo_frahar_cur_cast_debilitating_end_r
+mo_frahar_cur_cast_debilitating_init_l incomplete _mo_frahar_cur_cast_debilitating_init_l
+mo_frahar_cur_cast_debilitating_init_r incomplete _mo_frahar_cur_cast_debilitating_init_r
+mo_frahar_cur_cast_debilitating_loop incomplete _mo_frahar_cur_cast_debilitating_loop
+mo_frahar_mag_cur_cast_heal_end incomplete _mo_frahar_mag_cur_cast_heal_end
+mo_frahar_mag_cur_cast_heal_init_l incomplete _mo_frahar_mag_cur_cast_heal_init_l
+mo_frahar_mag_cur_cast_heal_init_r incomplete _mo_frahar_mag_cur_cast_heal_init_r
+mo_frahar_mag_cur_cast_heal_loop incomplete _mo_frahar_mag_cur_cast_heal_loop
+mo_frahar_mag_off_cast_damaging_end incomplete _mo_frahar_mag_off_cast_damaging_end
+mo_frahar_mag_off_cast_damaging_init_l incomplete _mo_frahar_mag_off_cast_damaging_init_l
+mo_frahar_mag_off_cast_damaging_init_r incomplete _mo_frahar_mag_off_cast_damaging_init_r
+mo_frahar_mag_off_cast_damaging_loop incomplete _mo_frahar_mag_off_cast_damaging_loop
+mo_frahar_mag_off_cast_incapacitating_init_l incomplete _mo_frahar_mag_off_cast_incapacitating_init_l
+mo_frahar_mag_off_cast_incapacitating_init_r incomplete _mo_frahar_mag_off_cast_incapacitating_init_r
+mo_frahar_mag_off_cast_incapaciting_end incomplete _mo_frahar_mag_off_cast_incapaciting_end
+mo_frahar_mag_off_cast_incapaciting_loop incomplete _mo_frahar_mag_off_cast_incapaciting_loop
+mo_frahar_mag_off_incapacitating_init_l incomplete _mo_frahar_mag_off_incapacitating_init_l
+mo_frahar_mag_off_incapacitating_init_r incomplete _mo_frahar_mag_off_incapacitating_init_r
+mo_frahar_specialatk incomplete _mo_frahar_specialatk
+mo_gibbai_cur_cast_debilitating_end_l incomplete _mo_gibbai_cur_cast_debilitating_end_l
+mo_gibbai_cur_cast_debilitating_end_r incomplete _mo_gibbai_cur_cast_debilitating_end_r
+mo_gibbai_cur_cast_debilitating_init_l incomplete _mo_gibbai_cur_cast_debilitating_init_l
+mo_gibbai_cur_cast_debilitating_init_r incomplete _mo_gibbai_cur_cast_debilitating_init_r
+mo_gibbai_cur_cast_debilitating_loop incomplete _mo_gibbai_cur_cast_debilitating_loop
+mo_gibbai_mag_cur_cast_heal_end incomplete _mo_gibbai_mag_cur_cast_heal_end
+mo_gibbai_mag_cur_cast_heal_init_l incomplete _mo_gibbai_mag_cur_cast_heal_init_l
+mo_gibbai_mag_cur_cast_heal_init_r incomplete _mo_gibbai_mag_cur_cast_heal_init_r
+mo_gibbai_mag_cur_cast_heal_loop incomplete _mo_gibbai_mag_cur_cast_heal_loop
+mo_gibbai_mag_off_cast_damaging_end incomplete _mo_gibbai_mag_off_cast_damaging_end
+mo_gibbai_mag_off_cast_damaging_init_l incomplete _mo_gibbai_mag_off_cast_damaging_init_l
+mo_gibbai_mag_off_cast_damaging_init_r incomplete _mo_gibbai_mag_off_cast_damaging_init_r
+mo_gibbai_mag_off_cast_damaging_loop incomplete _mo_gibbai_mag_off_cast_damaging_loop
+mo_gibbai_mag_off_cast_incapacitating_init_l incomplete _mo_gibbai_mag_off_cast_incapacitating_init_l
+mo_gibbai_mag_off_cast_incapacitating_init_r incomplete _mo_gibbai_mag_off_cast_incapacitating_init_r
+mo_gibbai_mag_off_cast_incapaciting_end incomplete _mo_gibbai_mag_off_cast_incapaciting_end
+mo_gibbai_mag_off_cast_incapaciting_loop incomplete _mo_gibbai_mag_off_cast_incapaciting_loop
+mo_gibbai_mag_off_incapacitating_init_l incomplete _mo_gibbai_mag_off_incapacitating_init_l
+mo_gibbai_mag_off_incapacitating_init_r incomplete _mo_gibbai_mag_off_incapacitating_init_r
+mo_gibbai_specialatk incomplete _mo_gibbai_specialatk
+mo_h10_specialatk incomplete _mo_h10_specialatk
+mo_h11_specialatk incomplete _mo_h11_specialatk
+mo_h12_specialatk incomplete _mo_h12_specialatk
+mo_h2_specialatk incomplete _mo_h2_specialatk
+mo_h3_specialatk incomplete _mo_h3_specialatk
+mo_h6_specialatk incomplete _mo_h6_specialatk
+mo_h7_specialatk incomplete _mo_h7_specialatk
+mo_h9_specialatk incomplete _mo_h9_specialatk
+mo_hastasha_specialatk incomplete _mo_hastasha_specialatk
+mo_kakty_specialatk incomplete _mo_kakty_specialatk
+mo_kami_dress_fo_p2 incomplete _mo_kami_dress_fo_p2
+mo_kami_dress_g3_g4 incomplete _mo_kami_dress_g3_g4
+mo_kami_dress_gd_g2 incomplete _mo_kami_dress_gd_g2
+mo_kami_dress_p3_p4 incomplete _mo_kami_dress_p3_p4
+mo_kitifly_dress incomplete _mo_kitifly_dress
+mo_kitihank_specialatk incomplete _mo_kitihank_specialatk
+mo_kitikil_dress incomplete _mo_kitikil_dress
+mo_kitikil_specialatk incomplete _mo_kitikil_specialatk
+mo_kitimandib_specialatk incomplete _mo_kitimandib_specialatk
+mo_kitinarak_specialatk incomplete _mo_kitinarak_specialatk
+mo_kitinega_specialatk incomplete _mo_kitinega_specialatk
+mo_kitinokto_specialatk incomplete _mo_kitinokto_specialatk
+mo_phytopsy_death incomplete _mo_phytopsy_death
+mo_phytopsy_idle incomplete _mo_phytopsy_idle
+mo_phytopsy_intm incomplete _mo_phytopsy_intm
+mo_phytopsy_mag_cast incomplete _mo_phytopsy_mag_cast
+mo_phytopsy_reveil incomplete _mo_phytopsy_reveil
+mo_ryzerb_specialatk incomplete _mo_ryzerb_specialatk
+mo_sapenslaver_atk incomplete _mo_sapenslaver_atk
+mo_sapenslaver_mag_cast incomplete _mo_sapenslaver_mag_cast
+mo_sapenslaver_ran_atk incomplete _mo_sapenslaver_ran_atk
+mo_swarmplant_atk incomplete _mo_swarmplant_atk
+mo_swarmplant_mag_cast incomplete _mo_swarmplant_mag_cast
+mo_swarmplant_ran_atk incomplete _mo_swarmplant_ran_atk
+mo_swarmplant_swarm incomplete _mo_swarmplant_swarm
+mo_vampignon_specialatk incomplete _mo_vampignon_specialatk
+mo_yber_specialatk incomplete _mo_yber_specialatk
+mo_zerx_specialatk incomplete _mo_zerx_specialatk
+mp_kitinegg incomplete _mp_kitinegg
+mp_ressources incomplete _mp_ressources
+ne_land_telepod incomplete _ne_land_telepod
+outpost_kami_type incomplete _outpost_kami_type
+outpost_karavan_type incomplete _outpost_karavan_type
+plantfeed incomplete _plantfeed
+plantgrimpeb incomplete _plantgrimpeb
+pow_berserke incomplete _pow_berserke
+primr-bugsa incomplete _primr-bugsa
+primr-bugsb incomplete _primr-bugsb
+primr-bugsc incomplete _primr-bugsc
+primr-bugsd incomplete _primr-bugsd
+primr-bugse incomplete _primr-bugse
+primr-solbirtha incomplete _primr-solbirtha
+primr-solbirthb incomplete _primr-solbirthb
+primr-solbirthc incomplete _primr-solbirthc
+primr-solbirthd incomplete _primr-solbirthd
+pr_fx_krevette incomplete _pr_fx_krevette
+pr_fx_lombrique incomplete _pr_fx_lombrique
+pr_fx_sakapatate incomplete _pr_fx_sakapatate
+pr_grenouille3 incomplete _pr_grenouille3
+pr_grenouilleb3 incomplete _pr_grenouilleb3
+pr_grenouillec3 incomplete _pr_grenouillec3
+pr_grenouille_eau3 incomplete _pr_grenouille_eau3
+pr_grenouille_eaub3 incomplete _pr_grenouille_eaub3
+pr_grenouille_seve3 incomplete _pr_grenouille_seve3
+pr_land_telepod incomplete _pr_land_telepod
+pr_pollen incomplete _pr_pollen
+pr_pollen2 incomplete _pr_pollen2
+pr_ratsc incomplete _pr_ratsc
+ran_cast_pistolarc incomplete _ran_cast_pistolarc
+ran_ca_hof_shoot incomplete _ran_ca_hof_shoot
+ran_ca_hom_shoot_left incomplete _ran_ca_hom_shoot_left
+ran_ca_hom_shoot_right incomplete _ran_ca_hom_shoot_right
+ran_impact incomplete _ran_impact
+ran_impact_2 incomplete _ran_impact_2
+ran_impact_explosion incomplete _ran_impact_explosion
+ran_impact_gatlin incomplete _ran_impact_gatlin
+ran_missile_acid incomplete _ran_missile_acid
+ran_missile_blind incomplete _ran_missile_blind
+ran_missile_blunt incomplete _ran_missile_blunt
+ran_missile_electric incomplete _ran_missile_electric
+ran_missile_fire incomplete _ran_missile_fire
+ran_missile_glue incomplete _ran_missile_glue
+ran_missile_poison incomplete _ran_missile_poison
+ran_missile_shockwave incomplete _ran_missile_shockwave
+ran_wea_missile incomplete _ran_wea_missile
+rayon incomplete _rayon
+sandblasta incomplete _sandblasta
+sfx_selection incomplete _sfx_selection
+sfx_selection_mouseover incomplete _sfx_selection_mouseover
+sfx_sky_clouds incomplete _sfx_sky_clouds
+sfx_sky_comete incomplete _sfx_sky_comete
+sfx_sky_moon01 incomplete _sfx_sky_moon01
+sfx_sky_moon02 incomplete _sfx_sky_moon02
+sfx_sky_moon03 incomplete _sfx_sky_moon03
+sfx_sky_shootingstar incomplete _sfx_sky_shootingstar
+sfx_sky_storm_clouds incomplete _sfx_sky_storm_clouds
+sfx_sky_storm_clouds_b incomplete _sfx_sky_storm_clouds_b
+sfx_sky_storm_dome incomplete _sfx_sky_storm_dome
+sfx_sky_storm_lightning incomplete _sfx_sky_storm_lightning
+sfx_sky_storm_lightning_b incomplete _sfx_sky_storm_lightning_b
+sfx_sky_sun incomplete _sfx_sky_sun
+shoota incomplete _shoota
+shootasmok incomplete _shootasmok
+smokechaudiere incomplete _smokechaudiere
+smokesidechaudiere incomplete _smokesidechaudiere
+smoke_oasis_kamik incomplete _smoke_oasis_kamik
+spire_fx_ca_01 incomplete _spire_fx_ca_01
+spire_fx_ca_02 incomplete _spire_fx_ca_02
+spire_fx_ca_03 incomplete _spire_fx_ca_03
+spire_fx_ca_04 incomplete _spire_fx_ca_04
+spire_fx_ca_05 incomplete _spire_fx_ca_05
+spire_fx_ca_06 incomplete _spire_fx_ca_06
+spire_fx_ca_07 incomplete _spire_fx_ca_07
+spire_fx_ca_08 incomplete _spire_fx_ca_08
+spire_fx_ca_09 incomplete _spire_fx_ca_09
+spire_fx_ca_10 incomplete _spire_fx_ca_10
+spire_fx_ca_11 incomplete _spire_fx_ca_11
+spire_fx_ca_12 incomplete _spire_fx_ca_12
+spire_fx_ca_13 incomplete _spire_fx_ca_13
+spire_fx_ca_14 incomplete _spire_fx_ca_14
+spire_fx_ca_15 incomplete _spire_fx_ca_15
+spire_fx_ca_16 incomplete _spire_fx_ca_16
+spire_fx_ca_17 incomplete _spire_fx_ca_17
+spire_fx_ca_18 incomplete _spire_fx_ca_18
+spire_fx_ca_19 incomplete _spire_fx_ca_19
+spire_fx_ca_20 incomplete _spire_fx_ca_20
+spire_fx_ca_21 incomplete _spire_fx_ca_21
+spire_fx_ca_22 incomplete _spire_fx_ca_22
+spire_fx_ca_23 incomplete _spire_fx_ca_23
+spire_fx_ka_01 incomplete _spire_fx_ka_01
+spire_fx_ka_02 incomplete _spire_fx_ka_02
+spire_fx_ka_03 incomplete _spire_fx_ka_03
+spire_fx_ka_04 incomplete _spire_fx_ka_04
+spire_fx_ka_05 incomplete _spire_fx_ka_05
+spire_fx_ka_06 incomplete _spire_fx_ka_06
+spire_fx_ka_07 incomplete _spire_fx_ka_07
+spire_fx_ka_08 incomplete _spire_fx_ka_08
+spire_fx_ka_09 incomplete _spire_fx_ka_09
+spire_fx_ka_10 incomplete _spire_fx_ka_10
+spire_fx_ka_11 incomplete _spire_fx_ka_11
+spire_fx_ka_12 incomplete _spire_fx_ka_12
+spire_fx_ka_13 incomplete _spire_fx_ka_13
+spire_fx_ka_14 incomplete _spire_fx_ka_14
+spire_fx_ka_15 incomplete _spire_fx_ka_15
+spire_fx_ka_16 incomplete _spire_fx_ka_16
+spire_fx_ka_17 incomplete _spire_fx_ka_17
+spire_fx_ka_18 incomplete _spire_fx_ka_18
+spire_fx_ka_19 incomplete _spire_fx_ka_19
+spire_fx_ka_20 incomplete _spire_fx_ka_20
+spire_fx_ka_21 incomplete _spire_fx_ka_21
+spire_fx_ka_22 incomplete _spire_fx_ka_22
+spire_fx_ka_23 incomplete _spire_fx_ka_23
+sp_bien_cure incomplete _sp_bien_cure
+sp_bien_cure_lev1 incomplete _sp_bien_cure_lev1
+sp_bien_cure_lev2 incomplete _sp_bien_cure_lev2
+sp_bien_cure_lev3 incomplete _sp_bien_cure_lev3
+sp_bien_cure_lev4 incomplete _sp_bien_cure_lev4
+sp_bien_cure_lev5 incomplete _sp_bien_cure_lev5
+sp_bien_end_fizzle incomplete _sp_bien_end_fizzle
+sp_bien_end_fumble incomplete _sp_bien_end_fumble
+sp_bien_end_ok incomplete _sp_bien_end_ok
+sp_bien_end_ok_lev1 incomplete _sp_bien_end_ok_lev1
+sp_bien_end_ok_lev2 incomplete _sp_bien_end_ok_lev2
+sp_bien_end_ok_lev3 incomplete _sp_bien_end_ok_lev3
+sp_bien_end_ok_lev4 incomplete _sp_bien_end_ok_lev4
+sp_bien_end_ok_lev5 incomplete _sp_bien_end_ok_lev5
+sp_bien_init incomplete _sp_bien_init
+sp_bien_loop incomplete _sp_bien_loop
+sp_cast_end_fizzle incomplete _sp_cast_end_fizzle
+sp_cast_end_fumble incomplete _sp_cast_end_fumble
+sp_cast_end_ok incomplete _sp_cast_end_ok
+sp_cast_init incomplete _sp_cast_init
+sp_cast_loop incomplete _sp_cast_loop
+sp_host_end_fizzle incomplete _sp_host_end_fizzle
+sp_host_end_fumble incomplete _sp_host_end_fumble
+sp_host_end_ok_lev1 incomplete _sp_host_end_ok_lev1
+sp_host_end_ok_lev2 incomplete _sp_host_end_ok_lev2
+sp_host_end_ok_lev3 incomplete _sp_host_end_ok_lev3
+sp_host_end_ok_lev4 incomplete _sp_host_end_ok_lev4
+sp_host_end_ok_lev5 incomplete _sp_host_end_ok_lev5
+sp_host_hurt incomplete _sp_host_hurt
+sp_host_hurt_lev1 incomplete _sp_host_hurt_lev1
+sp_host_hurt_lev2 incomplete _sp_host_hurt_lev2
+sp_host_hurt_lev3 incomplete _sp_host_hurt_lev3
+sp_host_hurt_lev4 incomplete _sp_host_hurt_lev4
+sp_host_hurt_lev5 incomplete _sp_host_hurt_lev5
+sp_host_hurt_lev5back2 incomplete _sp_host_hurt_lev5back2
+sp_host_hurt_lev5backup incomplete _sp_host_hurt_lev5backup
+sp_host_init incomplete _sp_host_init
+sp_host_loop incomplete _sp_host_loop
+sp_medit incomplete _sp_medit
+sp_mort incomplete _sp_mort
+sp_neutre_end_fizzle incomplete _sp_neutre_end_fizzle
+sp_neutre_end_fumble incomplete _sp_neutre_end_fumble
+sp_neutre_end_ok incomplete _sp_neutre_end_ok
+sp_neutre_end_ok_lev1 incomplete _sp_neutre_end_ok_lev1
+sp_neutre_end_ok_lev2 incomplete _sp_neutre_end_ok_lev2
+sp_neutre_end_ok_lev3 incomplete _sp_neutre_end_ok_lev3
+sp_neutre_end_ok_lev4 incomplete _sp_neutre_end_ok_lev4
+sp_neutre_end_ok_lev5 incomplete _sp_neutre_end_ok_lev5
+sp_neutre_init incomplete _sp_neutre_init
+sp_neutre_loop incomplete _sp_neutre_loop
+sp_neutre_protect_lev1 incomplete _sp_neutre_protect_lev1
+sp_neutre_protect_lev2 incomplete _sp_neutre_protect_lev2
+sp_neutre_protect_lev3 incomplete _sp_neutre_protect_lev3
+sp_neutre_protect_lev4 incomplete _sp_neutre_protect_lev4
+sp_neutre_protect_lev5 incomplete _sp_neutre_protect_lev5
+sp_progress incomplete _sp_progress
+sp_protect incomplete _sp_protect
+sp_resist incomplete _sp_resist
+sp_resist_lev1 incomplete _sp_resist_lev1
+sp_resist_lev2 incomplete _sp_resist_lev2
+sp_resist_lev3 incomplete _sp_resist_lev3
+sp_resist_lev4 incomplete _sp_resist_lev4
+sp_resist_lev5 incomplete _sp_resist_lev5
+stardust incomplete _stardust
+steprunhomboue incomplete _steprunhomboue
+steprunhomdust incomplete _steprunhomdust
+steprunhomveget incomplete _steprunhomveget
+steprunhomwet incomplete _steprunhomwet
+stepswim incomplete _stepswim
+stepswimidle incomplete _stepswimidle
+stepswimrun incomplete _stepswimrun
+stepswimspeed incomplete _stepswimspeed
+stepswimspeedunderwater incomplete _stepswimspeedunderwater
+stepswimunderwater incomplete _stepswimunderwater
+stepswimwalk incomplete _stepswimwalk
+stepwalkhomboue incomplete _stepwalkhomboue
+stepwalkhomdust incomplete _stepwalkhomdust
+stepwalkhomveget incomplete _stepwalkhomveget
+stepwalkhomwet incomplete _stepwalkhomwet
+tr-colibris incomplete _tr-colibris
+tr-dragonflya incomplete _tr-dragonflya
+tr-dragonflyb incomplete _tr-dragonflyb
+tr-fishes incomplete _tr-fishes
+tr-fishesb incomplete _tr-fishesb
+tr_ascenseur tryker incomplete _ascenseur
+tr_fx_bigbird tryker incomplete _fx_bigbird
+tr_land_telepod tryker incomplete _land_telepod
+tr_tablebulle tryker incomplete _tablebulle
+tr_waterfall_base tryker incomplete _waterfall_base
+tr_waterfall_base_big tryker incomplete _waterfall_base_big
+tr_wea_dague tryker weapon melee one-handed piercing dagger
+tr_wea_epee1m tryker weapon melee one-handed slashing sword
+tr_wea_epee2m tryker weapon melee two-handed slashing sword
+tr_wea_muzzle_1shot tryker weapon incomplete _muzzle_1shot
+tr_wea_muzzle_gatling tryker weapon incomplete _muzzle_gatling
+tr_wea_petit_bouclier tryker weapon buckler shield
+tr_wea_pistolarc tryker weapon ranged one-handed bowpistol
+tr_wea_pistolet_sousmarin tryker weapon ranged one-handed pistol underwater
+underwater incomplete _underwater
+vegetdarkspell incomplete _vegetdarkspell
+vegetdarkspellb incomplete _vegetdarkspellb
+zorai_ambre incomplete _zorai_ambre
+zo_acc_ascenseur zorai accessory incomplete _ascenseur
+zo_bt_mon_flare_couloir zorai incomplete _bt_mon_flare_couloir
+zo_flare zorai incomplete _flare
+zo_land_telepod zorai incomplete _land_telepod
+zo_wea_fusarc zorai weapon ranged two-handed bowrifle
+zo_wea_lance1m zorai weapon melee one-handed piercing spear
+zo_wea_lanceroquette zorai weapon ranged two-handed launcher
+zo_wea_masse1m zorai weapon melee one-handed blunt mace
+zo_wea_masse2m zorai weapon melee two-handed blunt mace
+zo_wea_muzzle_1shot zorai weapon incomplete _muzzle_1shot
+zo_wea_muzzle_gatling zorai weapon incomplete _muzzle_gatling
+zo_wea_petit_bouclier zorai weapon buckler shield
diff --git a/ryzom/tools/extract_r2_required/sfx_shape_list.txt b/ryzom/tools/extract_r2_required/sfx_shape_list.txt
new file mode 100644
index 000000000..2dc66f660
--- /dev/null
+++ b/ryzom/tools/extract_r2_required/sfx_shape_list.txt
@@ -0,0 +1,301 @@
+bata01.shape
+bata02.shape
+bata03.shape
+beam3da.shape
+beam3db.shape
+beam3dc.shape
+beama01.shape
+beama02.shape
+beamgroundcircle.shape
+birda02.shape
+birda03.shape
+buga.shape
+bugballa01.shape
+bugballa02.shape
+bugballa03.shape
+bugballaemit01.shape
+bugballaemit02.shape
+bugballaemit03.shape
+bugballb01.shape
+bugballb02.shape
+bugballb03.shape
+colibrisa.shape
+colibrisb.shape
+cone_stun.shape
+cricketa.shape
+de_flower01.shape
+de_flower02.shape
+de_flower03.shape
+de_flower04.shape
+de_flower05.shape
+de_flower06.shape
+dragonflya.shape
+flare_preoder_item.shape
+flashmask01.shape
+flashmask02.shape
+flashmask03.shape
+flymesh.shape
+fo_flower01.shape
+fo_flower02.shape
+fo_flower03.shape
+fo_flower04.shape
+fo_flower05.shape
+fo_flower06.shape
+fungusa01.shape
+fungusa02.shape
+fungusa03.shape
+fungusa04.shape
+fungusa05.shape
+fungusa06.shape
+fx_telepod01.shape
+fx_telepodadd01.shape
+fx_telepodroof01.shape
+fx_telepodroofadd01.shape
+fy_wea_baton_trail_00.shape
+fy_wea_dague_trail_00.shape
+fy_wea_epee1m_trail_00.shape
+fy_wea_epee2m_trail_00.shape
+fy_wea_hache1m_trail_00.shape
+fy_wea_hache2m_trail_00.shape
+fy_wea_lance1m_trail_00.shape
+fy_wea_lance2m_trail_00.shape
+fy_wea_masse1m_trail_00.shape
+fy_wea_masse2m_trail_00.shape
+ge_acc_pick_a_trail_00.shape
+ge_acc_pick_o_trail_car.shape
+ge_acc_pick_o_trail_kam.shape
+ge_feudecamp.shape
+ge_fy_wea_trib_hache1m_trail_car.shape
+ge_fy_wea_trib_hache1m_trail_gen.shape
+ge_fy_wea_trib_hache1m_trail_kam.shape
+ge_fy_wea_trib_hache2m_trail_car.shape
+ge_fy_wea_trib_hache2m_trail_gen.shape
+ge_fy_wea_trib_hache2m_trail_kam.shape
+ge_ma_wea_trib_lance1m_trail_car.shape
+ge_ma_wea_trib_lance1m_trail_gen.shape
+ge_ma_wea_trib_lance1m_trail_kam.shape
+ge_ma_wea_trib_lance2m_trail_car.shape
+ge_ma_wea_trib_lance2m_trail_gen.shape
+ge_ma_wea_trib_lance2m_trail_kam.shape
+ge_tr_wea_trib_dague_trail_car.shape
+ge_tr_wea_trib_dague_trail_gen.shape
+ge_tr_wea_trib_dague_trail_kam.shape
+ge_tr_wea_trib_epee1m_trail_car.shape
+ge_tr_wea_trib_epee1m_trail_gen.shape
+ge_tr_wea_trib_epee1m_trail_kam.shape
+ge_tr_wea_trib_epee2m_trail_car.shape
+ge_tr_wea_trib_epee2m_trail_gen.shape
+ge_tr_wea_trib_epee2m_trail_kam.shape
+ge_wea_baton_trail_00.shape
+ge_wea_dague_trail_00.shape
+ge_wea_epee1m_trail_00.shape
+ge_wea_epee2m_trail_00.shape
+ge_wea_hache1m_trail_00.shape
+ge_wea_hache2m_trail_00.shape
+ge_wea_lance1m_trail_00.shape
+ge_wea_lance2m_trail_00.shape
+ge_wea_masse1m_trail_00.shape
+ge_wea_masse2m_trail_00.shape
+ge_zo_wea_trib_baton_trail_car.shape
+ge_zo_wea_trib_baton_trail_gen.shape
+ge_zo_wea_trib_baton_trail_kam.shape
+ge_zo_wea_trib_masse1m_trail_car.shape
+ge_zo_wea_trib_masse1m_trail_gen.shape
+ge_zo_wea_trib_masse1m_trail_kam.shape
+ge_zo_wea_trib_masse2m_trail_car.shape
+ge_zo_wea_trib_masse2m_trail_gen.shape
+ge_zo_wea_trib_masse2m_trail_kam.shape
+healingcreature01.shape
+healingcreature02.shape
+healingcreature03.shape
+hostilecreature01.shape
+hostilecreature02.shape
+hostilecreature03.shape
+kamidebrita.shape
+kamidebritb.shape
+kamidebritc.shape
+knowlege_book01.shape
+knowlege_book02.shape
+knowlege_box.shape
+knowlege_box_fy.shape
+knowlege_box_ma.shape
+knowlege_box_tr.shape
+knowlege_box_zo.shape
+knowlege_topbox.shape
+knowlege_topbox_fy.shape
+knowlege_topbox_ma.shape
+knowlege_topbox_tr.shape
+knowlege_topbox_zo.shape
+lightning.shape
+lightning01.shape
+lightning02.shape
+mag_impact_blunt.shape
+mag_impact_cold01.shape
+mag_impact_cold02.shape
+mag_impact_cold03.shape
+mag_impact_cold_fragment.shape
+mag_impact_fear01.shape
+mag_impact_fear02.shape
+mag_impact_pierce.shape
+mag_impact_slash.shape
+ma_fx_bird01.shape
+ma_fx_bird02.shape
+ma_fx_bird03.shape
+ma_fx_bird04.shape
+ma_fx_frog_01.shape
+ma_fx_frog_02.shape
+ma_fx_frog_03.shape
+ma_fx_paradisiacbird01.shape
+ma_fx_paradisiacbird02.shape
+ma_fx_paradisiacbird03.shape
+ma_fx_paradisiacbird04.shape
+ma_fx_rat00.shape
+ma_fx_rat01.shape
+ma_fx_rat02.shape
+ma_fx_rat03.shape
+ma_fx_rat04.shape
+ma_fx_scorpion_01.shape
+ma_fx_scorpion_02.shape
+ma_fx_scorpion_03.shape
+ma_fx_scorpion_04.shape
+ma_wea_baton_trail_00.shape
+ma_wea_dague_trail_00.shape
+ma_wea_epee1m_trail_00.shape
+ma_wea_epee2m_trail_00.shape
+ma_wea_hache1m_trail_00.shape
+ma_wea_hache2m_trail_00.shape
+ma_wea_lance1m_trail_00.shape
+ma_wea_lance2m_trail_00.shape
+ma_wea_masse1m_trail_00.shape
+ma_wea_masse2m_trail_00.shape
+medusea.shape
+medusea01.shape
+medusea02.shape
+medusea03.shape
+medusea04.shape
+medusea05.shape
+medusea06.shape
+mixtecreature01.shape
+mixtecreature02.shape
+mixtecreature03.shape
+mo_swarmplant_stingbug.shape
+mp_ressources_gen.shape
+neutrecreature.shape
+neutrecreature02.shape
+neutrecreature03.shape
+neutrecreature04.shape
+nrgcircle01.shape
+nrgcircle02.shape
+papillona01.shape
+papillona02.shape
+papillonb01.shape
+papillonb02.shape
+papillonc01.shape
+papillonc02.shape
+papillond01.shape
+papillond02.shape
+pr_fx_crevette_a.shape
+pr_fx_crevette_b.shape
+pr_fx_crevette_c.shape
+pr_fx_frog_01.shape
+pr_fx_frog_02.shape
+pr_fx_frog_03.shape
+pr_fx_lombriquea.shape
+pr_fx_lombriqueb.shape
+pr_fx_lombriquec.shape
+pr_fx_rat00.shape
+pr_fx_rat01.shape
+pr_fx_rat02.shape
+pr_fx_rat03.shape
+pr_fx_rat04.shape
+pr_fx_sakapatate.shape
+rayon.shape
+rectangle01.shape
+resistmesh.shape
+ringrune01.shape
+ringrune02.shape
+rippleshocka00.shape
+rippleshocka01.shape
+root01.shape
+root02.shape
+root03.shape
+root04.shape
+root05.shape
+root06.shape
+root07.shape
+sfx_acidball01.shape
+sfx_acidball02.shape
+sfx_acidball03.shape
+sfx_acidball04.shape
+sfx_boule.shape
+sfx_cold_fragment01.shape
+sfx_echarde.shape
+sfx_glueweb01.shape
+sfx_glueweb02.shape
+sfx_glueweb03.shape
+sfx_glueweb04.shape
+sfx_iceprism_a.shape
+sfx_iceprism_b.shape
+sfx_iceprism_c.shape
+sfx_kitinegg_a.shape
+sfx_kitinegg_b.shape
+sfx_kitinegg_c.shape
+sfx_kitinegg_d.shape
+sfx_kitinegg_e.shape
+sfx_lightning00.shape
+sfx_lightning01.shape
+sfx_lightning02.shape
+sfx_lightning03.shape
+sfx_lightning_b_01.shape
+sfx_lightning_b_02.shape
+sfx_lightning_b_03.shape
+sfx_mo_charogneinsect.shape
+sfx_mo_charognemammal.shape
+sfx_mo_goocharogneinsect.shape
+sfx_mo_goocharognemammal.shape
+sfx_snake00.shape
+sfx_snake01.shape
+sfx_snake02.shape
+sfx_spheremirror.shape
+sfx_sphereshield.shape
+shockcone01.shape
+shockcone02.shape
+shockwave01.shape
+shockwave02.shape
+shockwave03.shape
+shockwave04.shape
+splashcouronea01.shape
+splashcouronea02.shape
+splashcouronea03.shape
+splashcouronea04.shape
+tr_blur1.shape
+tr_blur2.shape
+tr_fx_bigbird_01.shape
+tr_fx_bigbird_02.shape
+tr_fx_bigbird_03.shape
+tr_fx_bigbird_04.shape
+tr_fx_bigbird_05.shape
+tr_fx_bird01.shape
+tr_fx_bird02.shape
+tr_fx_bird03.shape
+tr_fx_bird04.shape
+tr_wea_baton_trail_00.shape
+tr_wea_dague_trail_00.shape
+tr_wea_epee1m_trail_00.shape
+tr_wea_epee2m_trail_00.shape
+tr_wea_hache1m_trail_00.shape
+tr_wea_hache2m_trail_00.shape
+tr_wea_lance1m_trail_00.shape
+tr_wea_lance2m_trail_00.shape
+tr_wea_masse1m_trail_00.shape
+tr_wea_masse2m_trail_00.shape
+zo_wea_baton_trail_00.shape
+zo_wea_dague_trail_00.shape
+zo_wea_epee1m_trail_00.shape
+zo_wea_epee2m_trail_00.shape
+zo_wea_hache1m_trail_00.shape
+zo_wea_hache2m_trail_00.shape
+zo_wea_lance1m_trail_00.shape
+zo_wea_lance2m_trail_00.shape
+zo_wea_masse1m_trail_00.shape
+zo_wea_masse2m_trail_00.shape
diff --git a/ryzom/tools/extract_r2_required/sfx_shape_parsed.tsv b/ryzom/tools/extract_r2_required/sfx_shape_parsed.tsv
new file mode 100644
index 000000000..59f545578
--- /dev/null
+++ b/ryzom/tools/extract_r2_required/sfx_shape_parsed.tsv
@@ -0,0 +1,301 @@
+bata01 incomplete _bata01
+bata02 incomplete _bata02
+bata03 incomplete _bata03
+beam3da incomplete _beam3da
+beam3db incomplete _beam3db
+beam3dc incomplete _beam3dc
+beama01 incomplete _beama01
+beama02 incomplete _beama02
+beamgroundcircle incomplete _beamgroundcircle
+birda02 incomplete _birda02
+birda03 incomplete _birda03
+buga incomplete _buga
+bugballa01 incomplete _bugballa01
+bugballa02 incomplete _bugballa02
+bugballa03 incomplete _bugballa03
+bugballaemit01 incomplete _bugballaemit01
+bugballaemit02 incomplete _bugballaemit02
+bugballaemit03 incomplete _bugballaemit03
+bugballb01 incomplete _bugballb01
+bugballb02 incomplete _bugballb02
+bugballb03 incomplete _bugballb03
+colibrisa incomplete _colibrisa
+colibrisb incomplete _colibrisb
+cone_stun incomplete _cone_stun
+cricketa incomplete _cricketa
+de_flower01 incomplete _de_flower01
+de_flower02 incomplete _de_flower02
+de_flower03 incomplete _de_flower03
+de_flower04 incomplete _de_flower04
+de_flower05 incomplete _de_flower05
+de_flower06 incomplete _de_flower06
+dragonflya incomplete _dragonflya
+flare_preoder_item incomplete _flare_preoder_item
+flashmask01 incomplete _flashmask01
+flashmask02 incomplete _flashmask02
+flashmask03 incomplete _flashmask03
+flymesh incomplete _flymesh
+fo_flower01 incomplete _fo_flower01
+fo_flower02 incomplete _fo_flower02
+fo_flower03 incomplete _fo_flower03
+fo_flower04 incomplete _fo_flower04
+fo_flower05 incomplete _fo_flower05
+fo_flower06 incomplete _fo_flower06
+fungusa01 incomplete _fungusa01
+fungusa02 incomplete _fungusa02
+fungusa03 incomplete _fungusa03
+fungusa04 incomplete _fungusa04
+fungusa05 incomplete _fungusa05
+fungusa06 incomplete _fungusa06
+fx_telepod01 incomplete _fx_telepod01
+fx_telepodadd01 incomplete _fx_telepodadd01
+fx_telepodroof01 incomplete _fx_telepodroof01
+fx_telepodroofadd01 incomplete _fx_telepodroofadd01
+fy_wea_baton_trail_00 fyros weapon melee one-handed blunt staff trail default
+fy_wea_dague_trail_00 fyros weapon melee one-handed piercing dagger trail default
+fy_wea_epee1m_trail_00 fyros weapon melee one-handed slashing sword trail default
+fy_wea_epee2m_trail_00 fyros weapon melee two-handed slashing sword trail default
+fy_wea_hache1m_trail_00 fyros weapon melee one-handed slashing axe trail default
+fy_wea_hache2m_trail_00 fyros weapon melee two-handed slashing axe trail default
+fy_wea_lance1m_trail_00 fyros weapon melee one-handed piercing spear trail default
+fy_wea_lance2m_trail_00 fyros weapon melee two-handed piercing pike trail default
+fy_wea_masse1m_trail_00 fyros weapon melee one-handed blunt mace trail default
+fy_wea_masse2m_trail_00 fyros weapon melee two-handed blunt mace trail default
+ge_acc_pick_a_trail_00 common accessory incomplete _pick_a_trail_00
+ge_acc_pick_o_trail_car common accessory incomplete _pick_o_trail_car
+ge_acc_pick_o_trail_kam common accessory incomplete _pick_o_trail_kam
+ge_feudecamp common incomplete _feudecamp
+ge_fy_wea_trib_hache1m_trail_car common fyros weapon tribe melee one-handed slashing axe trail karavan
+ge_fy_wea_trib_hache1m_trail_gen common fyros weapon tribe melee one-handed slashing axe trail generic
+ge_fy_wea_trib_hache1m_trail_kam common fyros weapon tribe melee one-handed slashing axe trail kami
+ge_fy_wea_trib_hache2m_trail_car common fyros weapon tribe melee two-handed slashing axe trail karavan
+ge_fy_wea_trib_hache2m_trail_gen common fyros weapon tribe melee two-handed slashing axe trail generic
+ge_fy_wea_trib_hache2m_trail_kam common fyros weapon tribe melee two-handed slashing axe trail kami
+ge_ma_wea_trib_lance1m_trail_car common matis weapon tribe melee one-handed piercing spear trail karavan
+ge_ma_wea_trib_lance1m_trail_gen common matis weapon tribe melee one-handed piercing spear trail generic
+ge_ma_wea_trib_lance1m_trail_kam common matis weapon tribe melee one-handed piercing spear trail kami
+ge_ma_wea_trib_lance2m_trail_car common matis weapon tribe melee two-handed piercing pike trail karavan
+ge_ma_wea_trib_lance2m_trail_gen common matis weapon tribe melee two-handed piercing pike trail generic
+ge_ma_wea_trib_lance2m_trail_kam common matis weapon tribe melee two-handed piercing pike trail kami
+ge_tr_wea_trib_dague_trail_car common tryker weapon tribe melee one-handed piercing dagger trail karavan
+ge_tr_wea_trib_dague_trail_gen common tryker weapon tribe melee one-handed piercing dagger trail generic
+ge_tr_wea_trib_dague_trail_kam common tryker weapon tribe melee one-handed piercing dagger trail kami
+ge_tr_wea_trib_epee1m_trail_car common tryker weapon tribe melee one-handed slashing sword trail karavan
+ge_tr_wea_trib_epee1m_trail_gen common tryker weapon tribe melee one-handed slashing sword trail generic
+ge_tr_wea_trib_epee1m_trail_kam common tryker weapon tribe melee one-handed slashing sword trail kami
+ge_tr_wea_trib_epee2m_trail_car common tryker weapon tribe melee two-handed slashing sword trail karavan
+ge_tr_wea_trib_epee2m_trail_gen common tryker weapon tribe melee two-handed slashing sword trail generic
+ge_tr_wea_trib_epee2m_trail_kam common tryker weapon tribe melee two-handed slashing sword trail kami
+ge_wea_baton_trail_00 common weapon melee one-handed blunt staff trail default
+ge_wea_dague_trail_00 common weapon melee one-handed piercing dagger trail default
+ge_wea_epee1m_trail_00 common weapon melee one-handed slashing sword trail default
+ge_wea_epee2m_trail_00 common weapon melee two-handed slashing sword trail default
+ge_wea_hache1m_trail_00 common weapon melee one-handed slashing axe trail default
+ge_wea_hache2m_trail_00 common weapon melee two-handed slashing axe trail default
+ge_wea_lance1m_trail_00 common weapon melee one-handed piercing spear trail default
+ge_wea_lance2m_trail_00 common weapon melee two-handed piercing pike trail default
+ge_wea_masse1m_trail_00 common weapon melee one-handed blunt mace trail default
+ge_wea_masse2m_trail_00 common weapon melee two-handed blunt mace trail default
+ge_zo_wea_trib_baton_trail_car common zorai weapon tribe melee one-handed blunt staff trail karavan
+ge_zo_wea_trib_baton_trail_gen common zorai weapon tribe melee one-handed blunt staff trail generic
+ge_zo_wea_trib_baton_trail_kam common zorai weapon tribe melee one-handed blunt staff trail kami
+ge_zo_wea_trib_masse1m_trail_car common zorai weapon tribe melee one-handed blunt mace trail karavan
+ge_zo_wea_trib_masse1m_trail_gen common zorai weapon tribe melee one-handed blunt mace trail generic
+ge_zo_wea_trib_masse1m_trail_kam common zorai weapon tribe melee one-handed blunt mace trail kami
+ge_zo_wea_trib_masse2m_trail_car common zorai weapon tribe melee two-handed blunt mace trail karavan
+ge_zo_wea_trib_masse2m_trail_gen common zorai weapon tribe melee two-handed blunt mace trail generic
+ge_zo_wea_trib_masse2m_trail_kam common zorai weapon tribe melee two-handed blunt mace trail kami
+healingcreature01 incomplete _healingcreature01
+healingcreature02 incomplete _healingcreature02
+healingcreature03 incomplete _healingcreature03
+hostilecreature01 incomplete _hostilecreature01
+hostilecreature02 incomplete _hostilecreature02
+hostilecreature03 incomplete _hostilecreature03
+kamidebrita incomplete _kamidebrita
+kamidebritb incomplete _kamidebritb
+kamidebritc incomplete _kamidebritc
+knowlege_book01 incomplete _knowlege_book01
+knowlege_book02 incomplete _knowlege_book02
+knowlege_box incomplete _knowlege_box
+knowlege_box_fy incomplete _knowlege_box_fy
+knowlege_box_ma incomplete _knowlege_box_ma
+knowlege_box_tr incomplete _knowlege_box_tr
+knowlege_box_zo incomplete _knowlege_box_zo
+knowlege_topbox incomplete _knowlege_topbox
+knowlege_topbox_fy incomplete _knowlege_topbox_fy
+knowlege_topbox_ma incomplete _knowlege_topbox_ma
+knowlege_topbox_tr incomplete _knowlege_topbox_tr
+knowlege_topbox_zo incomplete _knowlege_topbox_zo
+lightning incomplete _lightning
+lightning01 incomplete _lightning01
+lightning02 incomplete _lightning02
+mag_impact_blunt incomplete _mag_impact_blunt
+mag_impact_cold01 incomplete _mag_impact_cold01
+mag_impact_cold02 incomplete _mag_impact_cold02
+mag_impact_cold03 incomplete _mag_impact_cold03
+mag_impact_cold_fragment incomplete _mag_impact_cold_fragment
+mag_impact_fear01 incomplete _mag_impact_fear01
+mag_impact_fear02 incomplete _mag_impact_fear02
+mag_impact_pierce incomplete _mag_impact_pierce
+mag_impact_slash incomplete _mag_impact_slash
+ma_fx_bird01 matis incomplete _fx_bird01
+ma_fx_bird02 matis incomplete _fx_bird02
+ma_fx_bird03 matis incomplete _fx_bird03
+ma_fx_bird04 matis incomplete _fx_bird04
+ma_fx_frog_01 matis incomplete _fx_frog_01
+ma_fx_frog_02 matis incomplete _fx_frog_02
+ma_fx_frog_03 matis incomplete _fx_frog_03
+ma_fx_paradisiacbird01 matis incomplete _fx_paradisiacbird01
+ma_fx_paradisiacbird02 matis incomplete _fx_paradisiacbird02
+ma_fx_paradisiacbird03 matis incomplete _fx_paradisiacbird03
+ma_fx_paradisiacbird04 matis incomplete _fx_paradisiacbird04
+ma_fx_rat00 matis incomplete _fx_rat00
+ma_fx_rat01 matis incomplete _fx_rat01
+ma_fx_rat02 matis incomplete _fx_rat02
+ma_fx_rat03 matis incomplete _fx_rat03
+ma_fx_rat04 matis incomplete _fx_rat04
+ma_fx_scorpion_01 matis incomplete _fx_scorpion_01
+ma_fx_scorpion_02 matis incomplete _fx_scorpion_02
+ma_fx_scorpion_03 matis incomplete _fx_scorpion_03
+ma_fx_scorpion_04 matis incomplete _fx_scorpion_04
+ma_wea_baton_trail_00 matis weapon melee one-handed blunt staff trail default
+ma_wea_dague_trail_00 matis weapon melee one-handed piercing dagger trail default
+ma_wea_epee1m_trail_00 matis weapon melee one-handed slashing sword trail default
+ma_wea_epee2m_trail_00 matis weapon melee two-handed slashing sword trail default
+ma_wea_hache1m_trail_00 matis weapon melee one-handed slashing axe trail default
+ma_wea_hache2m_trail_00 matis weapon melee two-handed slashing axe trail default
+ma_wea_lance1m_trail_00 matis weapon melee one-handed piercing spear trail default
+ma_wea_lance2m_trail_00 matis weapon melee two-handed piercing pike trail default
+ma_wea_masse1m_trail_00 matis weapon melee one-handed blunt mace trail default
+ma_wea_masse2m_trail_00 matis weapon melee two-handed blunt mace trail default
+medusea incomplete _medusea
+medusea01 incomplete _medusea01
+medusea02 incomplete _medusea02
+medusea03 incomplete _medusea03
+medusea04 incomplete _medusea04
+medusea05 incomplete _medusea05
+medusea06 incomplete _medusea06
+mixtecreature01 incomplete _mixtecreature01
+mixtecreature02 incomplete _mixtecreature02
+mixtecreature03 incomplete _mixtecreature03
+mo_swarmplant_stingbug incomplete _mo_swarmplant_stingbug
+mp_ressources_gen incomplete _mp_ressources_gen
+neutrecreature incomplete _neutrecreature
+neutrecreature02 incomplete _neutrecreature02
+neutrecreature03 incomplete _neutrecreature03
+neutrecreature04 incomplete _neutrecreature04
+nrgcircle01 incomplete _nrgcircle01
+nrgcircle02 incomplete _nrgcircle02
+papillona01 incomplete _papillona01
+papillona02 incomplete _papillona02
+papillonb01 incomplete _papillonb01
+papillonb02 incomplete _papillonb02
+papillonc01 incomplete _papillonc01
+papillonc02 incomplete _papillonc02
+papillond01 incomplete _papillond01
+papillond02 incomplete _papillond02
+pr_fx_crevette_a incomplete _pr_fx_crevette_a
+pr_fx_crevette_b incomplete _pr_fx_crevette_b
+pr_fx_crevette_c incomplete _pr_fx_crevette_c
+pr_fx_frog_01 incomplete _pr_fx_frog_01
+pr_fx_frog_02 incomplete _pr_fx_frog_02
+pr_fx_frog_03 incomplete _pr_fx_frog_03
+pr_fx_lombriquea incomplete _pr_fx_lombriquea
+pr_fx_lombriqueb incomplete _pr_fx_lombriqueb
+pr_fx_lombriquec incomplete _pr_fx_lombriquec
+pr_fx_rat00 incomplete _pr_fx_rat00
+pr_fx_rat01 incomplete _pr_fx_rat01
+pr_fx_rat02 incomplete _pr_fx_rat02
+pr_fx_rat03 incomplete _pr_fx_rat03
+pr_fx_rat04 incomplete _pr_fx_rat04
+pr_fx_sakapatate incomplete _pr_fx_sakapatate
+rayon incomplete _rayon
+rectangle01 incomplete _rectangle01
+resistmesh incomplete _resistmesh
+ringrune01 incomplete _ringrune01
+ringrune02 incomplete _ringrune02
+rippleshocka00 incomplete _rippleshocka00
+rippleshocka01 incomplete _rippleshocka01
+root01 incomplete _root01
+root02 incomplete _root02
+root03 incomplete _root03
+root04 incomplete _root04
+root05 incomplete _root05
+root06 incomplete _root06
+root07 incomplete _root07
+sfx_acidball01 incomplete _sfx_acidball01
+sfx_acidball02 incomplete _sfx_acidball02
+sfx_acidball03 incomplete _sfx_acidball03
+sfx_acidball04 incomplete _sfx_acidball04
+sfx_boule incomplete _sfx_boule
+sfx_cold_fragment01 incomplete _sfx_cold_fragment01
+sfx_echarde incomplete _sfx_echarde
+sfx_glueweb01 incomplete _sfx_glueweb01
+sfx_glueweb02 incomplete _sfx_glueweb02
+sfx_glueweb03 incomplete _sfx_glueweb03
+sfx_glueweb04 incomplete _sfx_glueweb04
+sfx_iceprism_a incomplete _sfx_iceprism_a
+sfx_iceprism_b incomplete _sfx_iceprism_b
+sfx_iceprism_c incomplete _sfx_iceprism_c
+sfx_kitinegg_a incomplete _sfx_kitinegg_a
+sfx_kitinegg_b incomplete _sfx_kitinegg_b
+sfx_kitinegg_c incomplete _sfx_kitinegg_c
+sfx_kitinegg_d incomplete _sfx_kitinegg_d
+sfx_kitinegg_e incomplete _sfx_kitinegg_e
+sfx_lightning00 incomplete _sfx_lightning00
+sfx_lightning01 incomplete _sfx_lightning01
+sfx_lightning02 incomplete _sfx_lightning02
+sfx_lightning03 incomplete _sfx_lightning03
+sfx_lightning_b_01 incomplete _sfx_lightning_b_01
+sfx_lightning_b_02 incomplete _sfx_lightning_b_02
+sfx_lightning_b_03 incomplete _sfx_lightning_b_03
+sfx_mo_charogneinsect incomplete _sfx_mo_charogneinsect
+sfx_mo_charognemammal incomplete _sfx_mo_charognemammal
+sfx_mo_goocharogneinsect incomplete _sfx_mo_goocharogneinsect
+sfx_mo_goocharognemammal incomplete _sfx_mo_goocharognemammal
+sfx_snake00 incomplete _sfx_snake00
+sfx_snake01 incomplete _sfx_snake01
+sfx_snake02 incomplete _sfx_snake02
+sfx_spheremirror incomplete _sfx_spheremirror
+sfx_sphereshield incomplete _sfx_sphereshield
+shockcone01 incomplete _shockcone01
+shockcone02 incomplete _shockcone02
+shockwave01 incomplete _shockwave01
+shockwave02 incomplete _shockwave02
+shockwave03 incomplete _shockwave03
+shockwave04 incomplete _shockwave04
+splashcouronea01 incomplete _splashcouronea01
+splashcouronea02 incomplete _splashcouronea02
+splashcouronea03 incomplete _splashcouronea03
+splashcouronea04 incomplete _splashcouronea04
+tr_blur1 tryker incomplete _blur1
+tr_blur2 tryker incomplete _blur2
+tr_fx_bigbird_01 tryker incomplete _fx_bigbird_01
+tr_fx_bigbird_02 tryker incomplete _fx_bigbird_02
+tr_fx_bigbird_03 tryker incomplete _fx_bigbird_03
+tr_fx_bigbird_04 tryker incomplete _fx_bigbird_04
+tr_fx_bigbird_05 tryker incomplete _fx_bigbird_05
+tr_fx_bird01 tryker incomplete _fx_bird01
+tr_fx_bird02 tryker incomplete _fx_bird02
+tr_fx_bird03 tryker incomplete _fx_bird03
+tr_fx_bird04 tryker incomplete _fx_bird04
+tr_wea_baton_trail_00 tryker weapon melee one-handed blunt staff trail default
+tr_wea_dague_trail_00 tryker weapon melee one-handed piercing dagger trail default
+tr_wea_epee1m_trail_00 tryker weapon melee one-handed slashing sword trail default
+tr_wea_epee2m_trail_00 tryker weapon melee two-handed slashing sword trail default
+tr_wea_hache1m_trail_00 tryker weapon melee one-handed slashing axe trail default
+tr_wea_hache2m_trail_00 tryker weapon melee two-handed slashing axe trail default
+tr_wea_lance1m_trail_00 tryker weapon melee one-handed piercing spear trail default
+tr_wea_lance2m_trail_00 tryker weapon melee two-handed piercing pike trail default
+tr_wea_masse1m_trail_00 tryker weapon melee one-handed blunt mace trail default
+tr_wea_masse2m_trail_00 tryker weapon melee two-handed blunt mace trail default
+zo_wea_baton_trail_00 zorai weapon melee one-handed blunt staff trail default
+zo_wea_dague_trail_00 zorai weapon melee one-handed piercing dagger trail default
+zo_wea_epee1m_trail_00 zorai weapon melee one-handed slashing sword trail default
+zo_wea_epee2m_trail_00 zorai weapon melee two-handed slashing sword trail default
+zo_wea_hache1m_trail_00 zorai weapon melee one-handed slashing axe trail default
+zo_wea_hache2m_trail_00 zorai weapon melee two-handed slashing axe trail default
+zo_wea_lance1m_trail_00 zorai weapon melee one-handed piercing spear trail default
+zo_wea_lance2m_trail_00 zorai weapon melee two-handed piercing pike trail default
+zo_wea_masse1m_trail_00 zorai weapon melee one-handed blunt mace trail default
+zo_wea_masse2m_trail_00 zorai weapon melee two-handed blunt mace trail default
diff --git a/ryzom/tools/extract_r2_required/sitem_missing.txt b/ryzom/tools/extract_r2_required/sitem_missing.txt
index 8b6d93c69..e69de29bb 100644
--- a/ryzom/tools/extract_r2_required/sitem_missing.txt
+++ b/ryzom/tools/extract_r2_required/sitem_missing.txt
@@ -1,126 +0,0 @@
-iccm1bm.sitem
-iccm1pd.sitem
-iccm1sa.sitem
-iccm1ss.sitem
-icfm1bm.sitem
-icfm1bm_2.sitem
-icfm1bm_3.sitem
-icfm1pd.sitem
-icfm1pd_2.sitem
-icfm1pd_3.sitem
-icfm1ps.sitem
-icfm1ps_2.sitem
-icfm1ps_3.sitem
-icfm1sa.sitem
-icfm1sa_2.sitem
-icfm1sa_3.sitem
-icfm1ss.sitem
-icfm1ss_2.sitem
-icfm1ss_3.sitem
-icfm2bm.sitem
-icfm2bm_2.sitem
-icfm2bm_3.sitem
-icfm2ms.sitem
-icfm2ms_2.sitem
-icfm2ms_3.sitem
-icfm2pp.sitem
-icfm2pp_2.sitem
-icfm2pp_3.sitem
-icfm2sa.sitem
-icfm2sa_2.sitem
-icfm2sa_3.sitem
-icfm2ss.sitem
-icfm2ss_2.sitem
-icfm2ss_3.sitem
-icmm1bm.sitem
-icmm1bm_2.sitem
-icmm1bm_3.sitem
-icmm1pd.sitem
-icmm1pd_2.sitem
-icmm1pd_3.sitem
-icmm1ps.sitem
-icmm1ps_2.sitem
-icmm1ps_3.sitem
-icmm1sa.sitem
-icmm1sa_2.sitem
-icmm1sa_3.sitem
-icmm1ss.sitem
-icmm1ss_2.sitem
-icmm1ss_3.sitem
-icmm2bm.sitem
-icmm2bm_2.sitem
-icmm2bm_3.sitem
-icmm2ms.sitem
-icmm2ms_2.sitem
-icmm2ms_3.sitem
-icmm2pp.sitem
-icmm2pp_2.sitem
-icmm2pp_3.sitem
-icmm2sa.sitem
-icmm2sa_2.sitem
-icmm2sa_3.sitem
-icmm2ss.sitem
-icmm2ss_2.sitem
-icmm2ss_3.sitem
-ictm1bm.sitem
-ictm1bm_2.sitem
-ictm1bm_3.sitem
-ictm1pd.sitem
-ictm1pd_2.sitem
-ictm1pd_3.sitem
-ictm1ps.sitem
-ictm1ps_2.sitem
-ictm1ps_3.sitem
-ictm1sa.sitem
-ictm1sa_2.sitem
-ictm1sa_3.sitem
-ictm1ss.sitem
-ictm1ss_2.sitem
-ictm1ss_3.sitem
-ictm2bm.sitem
-ictm2bm_2.sitem
-ictm2bm_3.sitem
-ictm2ms.sitem
-ictm2ms_2.sitem
-ictm2ms_3.sitem
-ictm2pp.sitem
-ictm2pp_2.sitem
-ictm2pp_3.sitem
-ictm2sa.sitem
-ictm2sa_2.sitem
-ictm2sa_3.sitem
-ictm2ss.sitem
-ictm2ss_2.sitem
-ictm2ss_3.sitem
-iczm1bm.sitem
-iczm1bm_2.sitem
-iczm1bm_3.sitem
-iczm1pd.sitem
-iczm1pd_2.sitem
-iczm1pd_3.sitem
-iczm1ps.sitem
-iczm1ps_2.sitem
-iczm1ps_3.sitem
-iczm1sa.sitem
-iczm1sa_2.sitem
-iczm1sa_3.sitem
-iczm1ss.sitem
-iczm1ss_2.sitem
-iczm1ss_3.sitem
-iczm2bm.sitem
-iczm2bm_2.sitem
-iczm2bm_3.sitem
-iczm2ms.sitem
-iczm2ms_2.sitem
-iczm2ms_3.sitem
-iczm2pp.sitem
-iczm2pp_2.sitem
-iczm2pp_3.sitem
-iczm2sa.sitem
-iczm2sa_2.sitem
-iczm2sa_3.sitem
-iczm2ss.sitem
-iczm2ss_2.sitem
-iczm2ss_3.sitem
-icralv.sitem
-icralp.sitem
diff --git a/ryzom/tools/extract_r2_required/sitem_parsed.tsv b/ryzom/tools/extract_r2_required/sitem_parsed.tsv
index 25e67ee86..1c186b03a 100644
--- a/ryzom/tools/extract_r2_required/sitem_parsed.tsv
+++ b/ryzom/tools/extract_r2_required/sitem_parsed.tsv
@@ -176,7 +176,7 @@ icmsb_3 icmsb_3 item crafted matis buckler shield hq
icmss icmss item crafted matis large shield
icmss_2 icmss_2 item crafted matis large shield mq
icmss_3 icmss_3 item crafted matis large shield hq
-icravr icravr item crafted refugee armor vest red
+icravr icravr item crafted refugee armor vest color red
ictacp ictacp item crafted tryker light caster armor pants
ictacp_2 ictacp_2 item crafted tryker light caster armor pants mq
ictacp_3 ictacp_3 item crafted tryker light caster armor pants hq