From 4f73353ab5cab3760683d98767a068b350669970 Mon Sep 17 00:00:00 2001 From: aqiu384 Date: Sun, 21 Jan 2024 18:33:01 -0800 Subject: [PATCH] p3p enemy data --- src/p3p/data/demon-ids.tsv | 255 ++++++++++++++ src/p3p/data/enemy-data.bin | Bin 0 -> 32254 bytes src/p3p/data/enemy-ids.tsv | 335 ++++++++++++++++++ src/p3p/data/item-effects.tsv | 255 ++++++++++++++ src/p3p/data/race-ids.tsv | 31 ++ src/p3p/data/skill-ids.tsv | 623 ++++++++++++++++++++++++++++++++++ src/p3p/demon-data.py | 148 ++++++++ 7 files changed, 1647 insertions(+) create mode 100644 src/p3p/data/demon-ids.tsv create mode 100644 src/p3p/data/enemy-data.bin create mode 100644 src/p3p/data/enemy-ids.tsv create mode 100644 src/p3p/data/item-effects.tsv create mode 100644 src/p3p/data/race-ids.tsv create mode 100644 src/p3p/data/skill-ids.tsv create mode 100755 src/p3p/demon-data.py diff --git a/src/p3p/data/demon-ids.tsv b/src/p3p/data/demon-ids.tsv new file mode 100644 index 0000000..d70c5ae --- /dev/null +++ b/src/p3p/data/demon-ids.tsv @@ -0,0 +1,255 @@ +Orpheus +Susano-o +Flauros +Loki +Nekomata +Pyro Jack +Jack Frost +Scathach +Rangda +Nata Taishi +Cu Chulainn +Ose +Kusi Mitama +Apsaras +Laksmi +Parvati +Kikuri-Hime +Sati +Sarasvati +Unicorn +Cybele +Skadi +Hariti +Kali +Ganga +Taraka +Lamia +Odin +King Frost +Oukuninushi +Kingu +Naga Raja +Forneus +Kohryu +Mithra +Daisoujou +Ananta +Omoikane +Principality +Raphael +Titania +Oberon +Narcissus +Queen Mab +Leanan Sidhe +Pixie +Uriel +Surt +Throne +Ares +Titan +Chimera +Ara Mitama +Valkyrie +Melchizedek +Dominion +Siegfried +Virtue +Power +Archangel +Angel +Alilat +Arahabaki +Nebiros +Decarabia +Kurama Tengu +Yomotsu Shikome +Naga +Norn +Atropos +Orobas +Lachesis +Saki Mitama +Eligor +Clotho +Fortuna +Thor +Bishamonten +Take-Mikazuchi +Jikokuten +Hanuman +Koumokuten +Zouchouten +Attis +Vasuki +Orthrus +Take-Minakata +Ubelluris +Inugami +Thanatos +Alice +Seth +Mot +Samael +Vetala +Loa +Pale Rider +Michael +Byakko +Suzaku +Seiryuu +Nigi Mitama +Genbu +Beelzebub +Mother Harlot +Abaddon +Lilith +Incubus +Succubus +Lilim +Chi You +Shiva +Masakado +Seiten Taisei +Yamatano-orochi +Oumitsunu +Helel +Sandalphon +Black Frost +Garuda +Kaiwan +Ganesha +Nandi +Chernobog +Dionysus +Narasimha +Girimehkala +Gurr +Legion +Berith +Saturnus +Vishnu +Barong +Jatayu +Horus +Quetzalcoatl +Yatagarasu +Messiah +Asura +Metatron +Satan +Gabriel +Hokuto Seikun +Trumpeter +Anubis +Slime +Hua Po +High Pixie +Yaksini +Shiisaa +Thoth +Alp +Mothman +Kumbhanda +Empusa +Rakshasa +Hecatoncheires +Hell Biker +Ghoul +Yurlungur +Pazuzu +Mara +Kartikeya +Baal Zebul +Suparna +Lucifer +Nidhoggr +Atavaka +Orpheus Telos +Mokoi +Neko Shogun +Setanta +Tam Lin +Orpheus +0AF +0B0 +0B1 +0B2 +0B3 +0B4 +0B5 +0B6 +0B7 +0B8 +0B9 +0BA +0BB +0BC +0BD +0BE +Universe +Io +Isis +Palladion +Athena +Penthesilea +Artemisia +Hermes +Trismegistus +Lucia +Juno +Polydeuces +Caesar +Nemesis +Kala-Nemi +Castor +Cerberus +Hypnos +Moros +Medea +Psyche +0D4 +0D5 +0D6 +0D7 +0D8 +0D9 +0DA +0DB +0DC +0DD +0DE +0DF +0E0 +0E1 +0E2 +0E3 +0E4 +0E5 +0E6 +0E7 +0E8 +0E9 +0EA +0EB +0EC +0ED +0EE +0EF +0F0 +0F1 +0F2 +0F3 +0F4 +0F5 +0F6 +0F7 +0F8 +0F9 +0FA +0FB +0FC +0FD +0FE +0FF diff --git a/src/p3p/data/enemy-data.bin b/src/p3p/data/enemy-data.bin new file mode 100644 index 0000000000000000000000000000000000000000..678e2c4a9f7895a88ff6497c693c7f7b41181387 GIT binary patch literal 32254 zcmeHP33Qy*b-w>UGn!p9(u_2t#nNc8HI^+|k{4m)-5_HyiU~0&E{i>42NOcd5;r7} zljJ}aLJXvVw8Uvi3zSe3LLfa3VJSTcIiV&rG=M2^nuVmKC9Rt@IZe~=zBh0F_b+dR ztrQF6Cnt2BR#iJTJyo8DrilX6YcdLio-0nD? z4dLzd6b(}}6Nx8)&3n*2G#$y%&mwJ}=M`#`=+>{&A5f~0Y)k{&N{i{68s$bKdZ|SB z{wrNi*?GBK6BU3T*04lR1Dy-xeXc|&FQko>NXH`~(e6C0((ub@N2Cyl&PjC3J+y-| z&5h{I+71;H}gh+FX^?u zKt0Rb@}1B)+gkf*F0e1r5{-X6bb+DW zPfGOEUhC&HxOMT8`Dk$n=+!h(!ygE2HT&2qizN?*#=tQg4#Cc)*VUlNnC(0y$n4qq z*bzjBLc{Fek&qoiyC2mXJwv;N*5dD?wG>I(@hH%2>AHvZ(Dq16ptYn$kA(*JA|e-i z3mt7hK1xF_?iFi?0XF*ol^b6<>%p}(c2hBEJ=V=2)b zjl~h+(;AYq=E&4dXR)=kTt&xGvN@f~!p@h|W*2^=vE8E*-NEf{Y|Ug_VBu?MlM6j% zj7*y(`h;K5$7x{6;DSYzq2pn-Yc%{_cE!_fSy-W+5Mxw%cvMQHCu=zNiep0rJ| zrHWp}{@pfQD0Wc_d<%##;i`8N{M!^2Z20EMG!PX+q;24|&m_&V5-# zhbJZaoex;Qpe3gcEo4tE0=-N_U*4eIXxR#_v$)5?$!ib~V$p_Flsc(fqu^{0tR;9P zl4JeR>)+wVbKn`NSTqxbm4A=&V$jXNc4%fTTju@;QSQ}U~7%A_2)I_JHzK1(7%-E z_6O;F$`sq;j7`#GREDiTSFK?;+U*{{FV6jyhz`dKTMG~TH+_;?x=WcHBu>!_uDCX7 zn?|B{OZ3=0>n~}}K)KKk-jAW(t(xBU8GY@U4i9yEi6p4d0*RjUJe@(!*^cH6{UOcqpm!rW z1fx%p=uO|U9;c-k$ja0O8-JFr(rVZlKF5ImwM2LQ+P=yvwicR_h~`()dJRj|Z<$8H ztrA^MTOXp%&W_eBT|xUjvQOIQddARqXI&rhW>?BH=LREt@?v7xTI#DsKITuX zHJ;r!42G>+sL)j`6oD?$cU(18EED>@5`E0DbuabI@9pVDf0uyOSKxawyAS65d5KQ^ z3UlOGGTab@jjyK@U1BanJooMzFhPZ~!b2N6{tnSFS4d}?p)t3Q5bdT54ZP(HyFp0a zx3H_H2XY^eS!%v!cYGpu|}Jn6a1S! z)SoK!1&Q8py7dIjU%s%vi*BS9m@n&#=6K{>gU;o=tl^A()_>D6Q^$6XV%=TD?EEEd zet)WQ{65)Y=F!rAI**!LbGbHJNhe{}v`Q27Y0TGx{rgNob+r0-mZFixurWIlibk*w zeN<~RXU+Z{fwcgg{}{cE5}9N+1MJ5zPh5r7s7i7js_vX?1)eC-o!`Q^oylifa{{ev zoMS4_nf$3jCrk7Swzcm0U4wJ6qFj#o;)@#bUW><2J>8mnK+H6G6hwb_JcpHdu9!*` zfPKQV_UE;MJ33@?_lOZ#dT8|632P567@N~J7go9nHLTEB?YB*l>2AsUqzkS4X>{d4 z{|MHw8!*>Q!QwWf1uId@&albH{!^mQe9rnIt=u@e=va8zFgTB3b?_uCmWS>;jCOvC zScgWFyXgcTnEc-t+DE7*e+TI+g|E}_=eY-0gPr>7;AT-CTL6gL%; zv!3Yjmsk(b(4v99k(z%yf$imxNo&u5cZj0pI~xvKtsQM$y!Ou^zPy6AkJ?*M1>#z6 zMdTZP)`*JN2+3mu1?vXt%3`~Q-c9fEP*yNs3%0d)3(BL_zlma*Pg)OAHjzyv&~EPx z`x3;pK94T=mOYe5;8^F+5EVNU?brc-KUS}9yqsbC;q0LTJ+#>RAoXQRg&ZvPa?Fyy zqY+Qq=NWj*@jG_x`POHs+&4IH4(7-q;TsNozi}kGTk`JxIsCgX+S48b=NBBH$enKS z+CWd2!$t_89EWeFAbvTpKQXBIkL~x8%MgwDv`bKIvA> zxVE-!EOesP-vRd<(H@l^1KPdADoZN#1BpH>W*?xl+t2D+h#iERQNyzeitCS!ac!%Z zpQjd;tWQvXuD8&S(ZJj8J24sr`}Y-s$I>o=BF3#$8k zmbyE)SM=D2MY~hWxxW_`%R{a70Uvt5eZIj%@0aKa?(bttBjfF`A208hL+5!$U;#pG zc~zp%PT4O}W$x-VCAtZg!hYgNzr;9CeW&n%)WmHV{RjJ(Eu4>a`<1fl+W(hB=X-eH zmivlm_w&NmQn{z-6l#oSvq{WA{+UWOjd2ycujq~rvSRGzN_0QRmO{3>*dn5uJ1U+o z*8Vk7Y8l=E=ku}D*pk>mtFLioS0D9a&3&_o5zmUzdlz*M)Bvtbh3=QU6SrVao@z)% zY)J04^LpzNj>xIPUaVyDnS45ic>W$=yZLm@pDGyX1$z0rtZ!IDUGsb9VC{XShx>l} zVvo*cO%;;SA+?!%Y~}pr<+)gUKj+yo*@?*Hp06qNw*~LSs!8ik%9mTlyD(Ea4z{AF zXN}{xwA7>5zZ3B@Fc!xeBFQjLxZaPJ>!!-*2EkfOi_sv_yoV+++l%KC*l}~u^>|m( zgqCATqUVPgftvHVo-FKqiRYB+Y3z9f^WGtOuRF*37Ih7DubYeUa~bArdO8)>(xgAA z<||mW@i>-9y%(r>V+`vOKG|FBqUCb~w}+;3*NNGEtDs9X-9g(Z)s(<)>|&43*uTAK zS$PGgzMK;MFCvx}=d=`?&}tj@wpKis|4ujVJM08Oh!V?hX*y`No!sBohS}*{%<$Ku zO^Yx~=XvT0{aRI8wu1RPr^INBbqD3YD01Dm#rT~ZXUTgxLE|CJ9`@rM36=I*7e%~hq+C{^2L;K|>)*-d zhv1=2k;ZryJ4Tm#d~~C4Bx=mvE$qB3be>!rvM!}!qR`ZiX#P=*Bzk%lmKyA#@092b ze`Ng)jkPbFH-=Txl^*oVp^FUY?@IKhhpg|>iq4Vp5{&*=A*SnTXV`?6){^Xb88eP( zPqKZE*fUt|T0uWzU1;FFLoi9MKFzv|a>K=eg_x&$cfkJxGwk4Ye^sK_bGzG@b`Oog zFPFkImuaG#_nBS=Rfv+SS7r`c<*{%+ielE3k^!j(a^aebuw>i_;3Ll%J8eF}eZkhJD`FXI`WUt28ZnN&D(Nbr7FCxnom~-hXs<_ch9u(5WkN=?c z2(2jh_YPADv0*cxzt@s^cK>aOPF#i);b^*{fyeJ0MsPVY%L?TCEw##O8MS{NZ^Al~ z;<-4^1?OPq;!g53)%}d`c>Ly_qWB5f#)DSZNrUSK;h7=qWAl#DsJ#qt1MH&h<9?(> zzba-P@#DDN<*|YCAbe~Xs)fz+gJRl7-47Hp}K_tER$ z>AA(womN**MRH2_q^odW0&$3sq zU(%n(e#>*PwUEa9g_uclOY9@3=M98DZk2Pr=?pk?kL&3^^mnl2SBSYodi{-|CHA`Z zWjMLN);E5~Ll;Mamccwn=5=WLncUWi?6(0K$i%@CzG z?ZNnc^2s9uS;T}5SPy>^aq$_v?=gVr@L7E$UuzO;P4GTu2Gfw~$7H;JVX;lbB}O_-;>H=5e5)}%`3anltshz5--}+}gc>&B z&0aO{GS9f;&>6H=`H}T+R5@jRXSdMV)oAws&P*N``oA|Qr~y?GwsI{sPG6sUWqAEG zKDF8Xjo7980sRnK%lf+O_S{1ee$V4eHe0GaUGLrZEshFYx!Sw$M-07|3KmO__vWXk zU9$1bcKqGsIdw?q?hx(fxAtd7f69ZtDEGNTK=1aTcjopS0{UhT`lj6HYiOFW-M4tq zf1LZXLqOl^L4P)PR}CGqQxkhKnSlkI;Gtuhhwuv8lqz(P{rd=`vja-<({SRh%UVzJ z%dnZjk{=G5X!htM>7gMCjqeR-2l}@3_4QGceVR*aMCR!5X{eXcr4Z1Zbahwr_0jE= z-u4>MW7A_}W8j^$TkL|y-;8GeK9Xn~l5d9AAU7oUC$r>JXy5G6N77n;S9zC0w#Dx$ zn!dwT^qYWqQXNAr+undRfrUAqX5KYS(A=C0kNgPyyV~EsZ})V-jH}*gz!7;i>WUZ2YjY}qn5U#6VhB*xIwaI(oWw<)~A;nt$M zs}S#)L@B)PoVLb|WW;aZ%?JiB0 z&z{Ci(=Yie`U|5cAwTFe~|4ShD+9osV1QJUP+HG%QlkLEdDP^v(3 zM#rn@m4}Qz3tCHTy>@kJa^>{I_;>(sbG!FpHCLeIHkRCkt}l5vr38BG#032N(As^L z)lKQMw@j2Kw{G3Ka%BM8EO{w(HqeDSTH6++Zt;wDKHF6+yd<&ET4*IW`8Z9{O(A}G zzGq!Tc;}qI@dq!-9<&Zx(P%O$7W1wersxgh?t3r1BubI&ls#o14w~(}p?Dy2Akvu4 z;%#PcnxYGQYkx^2-LEhl#16wUVUv z{^z&;gqH|(CXeJLnE@@lWZ>TPy=lB}h&QRdX^KwR;e96WD|D&ovGg%}!+XPWU9#OX zoJ`TR&zR6(Ljinj_~GQk$vK>Sgi~~I!uL=-kl$p6j}7n1?8zJsTKM-;?lDN--Q{C5 zMX$@F313MCCk!JT9S$2k%Kp9VeJ$^6>EYz#06Tx&_fS0Gb71c8be)}|sX8l3_DDp< z6R*!*pF3&W(9n>N%@nP@#P_huJ8q3~yHA?xnCh6G9>S@jcO^MR`72H6h&5tiX1;lE zcz<+kESR@><}t_mnAII>oX!qp2QXs_m^01PZmgiAyvG&egtMAeE~UPS&ld<^UFkzZlgr;`)bwC*$$Z#UZO;fIFy z`shq(tiQ_~&p9x8Idfbyr3(6qE!Ez9Aac0Yf{|!e=#&+|$V}1ppXm2azCu$Sd{^(RW+usx zUNpY<9{Dtnf{|1z;(JeHSM5~Q(U;7rQP7Saz)4)FArX#vNpNOin66qD}L?An|9%w`@yM#?*Z}K5~(={tqZ9w z)s}Dayl=p#Ee-zVhN!MWUzU>3+h>22TKk#;)&{%iJWpGcB=T2K@Lh-buZ2EDL;0S( z|M+ni^@J6@`&ywpnRhHQ@>=M2YRi|}n{iI$rrAZ`H==pp0dI*cyR!jr$MkoWdIQko zMl`?e9g4+QY!2T|9g7x}TLREG7|~(q6W?W8wIucctsLydcOCqaU+Om@(YOk|AtX<% zxg`296~~9xcLbncZ*Xfu-BlZ6M{eV*)KC_x^&~Oz4oEz*+1$B+p`XsX1ToM3Z?RY4rBEl01uD$!47H<*_%} ziW9y!BY9>(q5bWyuXAqqY|zQNXsH-a;gDAL$ zjKFg}K@^fNWXSp@(4T<9((nCwox)Tb2}#jrE2z!*xq_Lw1R|w0s!okLom#BGAqq8oZWUrKm?clZ_~?o9dALVzN+{1{CO9RgWW| zlhZ84Rx&%Kq7Kno)xYjCd8f6uW=lF9wvdE{DN6~m55Y5?6nEM5~sbfo`_YBr1aZdla_2$%CulK8M<|yNd$xdxfEOY8~ zN;wCth!A{rm#8~#WjzZ*9o0C+lzM-w8U!DMeaIH77WmsD?2dI^ZKIP@Pox%M$1_k! zX{3$llBwrhvyjxF2Za$51=2u*86vjiplSj~Up%x@pE_L;m^)v9{gxvCO%bxJ(B zsuh_mh@L6+)+x7CM6*jtvN#)$xi8>M=yI z1jcGu0wO!%-41S%`{UH+)DR>okTn}MX+>yE$f0aOt6gfLHbY?wzkM*hsHJYts9N1E z;X75LuCt+-Sq?!_H6w-KCjG`YzEmaSxNgw8OZMsr;XHG4kWJa0J{*3dwe0tuY3x4X9zg0Qm5p`!EGCJs*^U4M- z)MAmhOx}z5R-a3)XHZ+6v8bNj9Gt&j+Qg24+!x>|!m&Vpq=hKC>(#+DEL{y}>V07o zEGf7I+XvQi{E=MU{!-N#&+8At5|#YF&8yOdNe;)ejTAyxj!gbG$vT8a>-RgaQEC>X zB;&rrAD30_M@r(9JG_~eONA}g==E|zQI*)S53RR3qKg@3q*137tI4DL!y&=epw$!2+ zS-%l&k^g0@MC-IR>Sc;T(kLwiQFzz}Xzb{rkUgkcE86Z6{fMba9sPx2xI8LG%23Y68#Mbz?e zsbXt1+=GTsm8K3wl~-K~K{Eq|@Q45@YEp7pP#r;i@c;jrni&LYj7Q{Zj|OS1S|&$s zwrF4PJNlD+>QPAA|7(is_+Cd+M-H7xMnI=Mvb8f)xZ9)SIqxpzJ1>R#{`Wm6wI?;? z%-CkuDO1ecb2CuXb~hBisvNbI37&gsynU&V&NYa_`;6~Z-wO+xiHoOPv$2vKksbaj zr?)*Quj&B(tmhw2`xJNQD$5i%=`Rkwo>Mf8)t~EmSz@L@dENO3Y|N-J#YfQ8_iWU` zk~pnYIaP-&52mQLPRYT0C9V!~>M(JU^!WC737;2buSlQzZ2ebQ(WX#@=|+0Xj@p9RLUX$GYxA( zo@+8rp2p+lc;xuG`y*?X&-A?F> 8] for x in RESIST_ORDER) + ailments = ''.join(RESIST_LVLS[full_ailments[x] >> 8] for x in AILMENT_ORDER) + res_mods = [5 * (full_resists[x] & 0xFF) for x in RESIST_ORDER] + ail_mods = [5 * (full_ailments[x] & 0xFF) for x in AILMENT_ORDER] + + old_resists = demon['resists'] + old_ailments = demon.get('ailments', '-'*len(OLD_AILMENTS)) + old_res_mods = demon.get('resmods', [0]*len(OLD_RESISTS)).copy() + old_ail_mods = demon.get('ailmods', [0]*len(OLD_AILMENTS)).copy() + + for i, res_mod in enumerate(old_res_mods): + if res_mod == 0: + old_res_mods[i] = RESIST_MODS[old_resists[i]] + for i, ail_mod in enumerate(old_ail_mods): + if ail_mod == 0: + old_ail_mods[i] = RESIST_MODS[old_ailments[i]] + + old_resists = old_resists.replace('S', '-').replace('T', '-') + old_ailments = old_ailments.replace('S', '-').replace('T', '-') + + printif_notequal(dname, 'resists', old_resists, resists) + printif_notequal(dname, 'ailments', old_ailments, ailments) + printif_notequal(dname, 'res_mods', old_res_mods, res_mods) + printif_notequal(dname, 'ail_mods', old_ail_mods, ail_mods) + +for dname, seen in SEEN_DEMONS.items(): + if not seen: + print(dname) + +save_ordered_demons(OLD_DEMONS, 'van-enemy-data.json')