+---
+dicc: {"md":["👀","🤸","🔮","🏋️","🎨","🤷","🫅","🙇","🧑🎓","🧑⚕️","🐾","","🤹","⛪","👥","🥷","🛟","🏴☠️"],"hp":["⚕️","🔨","⛏️","[[_RPG|🪓]]","🧪","🩸","❄️","⚡","🔥","🖖","🧠","☠️","🎯","🔊","😇","😈","🧲","🧿","☑️"],"sp":["🏃","","🧗","🪽","🏊"]}
+src: PZO12003 — Pathfinder Monster Core, 320
+name: Araña Cazadora
+lvl: Criatura 1
+trts: ['LN', 'Medio', 'Animal']
+attr: [2, 4, 1, -5, 2, -4]
+skls: [7, 7, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0]
+defs: [17, 6, 9, 5]
+foda: [16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+spd: [5, 0, 5, 0, 0]
+prcp: visión en la oscuridad; sensibilidad en telaraña.
+lang: Animalia
+pasv: {"0": {"nmbr": "Sentido aracnido", "trts": ["Percepción"], "efct": "Puede sentir de manera imprecisa las vibraciones de criaturas tocando su telaraña logrando así detectarlas."}, "1": {"nmbr": "Veneno de araña", "trts": ["Veneno"], "efct": "La araña inyecta exitosamente su veneno al cuerpo de su enemigo. Este se ve afectado por 1d6 rondas de acuerdo al nivel de envenenamiento.\n\t**Nivel 1** `$=dv.current().dicc.hp[11]`1d4 + [[Desprevenido]]\n\t**Nivel 2** `$=dv.current().dicc.hp[11]`1d6 + [[Torpe|torpe 1]] + [[Desprevenido]]\n\t**Nivel 3** `$=dv.current().dicc.hp[11]`1d6 + [[Torpe|torpe 2]] + [[Desprevenido]]\n\n> [!example]- Vigor🎲16\n> El veneno entra al sistema del enemigo\n>> [!todo]- Éxito crítico\n>> La victima se vuelve inmune al efecto del veneno por 1 día.\n>\n>> [!success]- Éxito\n>> La victima resiste al veneno, si ya se encontraba en algun nivel se reduce en 1.\n>\n>> [!failure]- Fallo\n>> La victima padece los efectos del veneno, el nivel sube en 1.\n>\n>> [!warning]- Fallo crítico\n>> La victima padele el máximo nivel de envenenamiento."}, "2": {"nmbr": "Trampa de telaraña", "trts": [], "efct": "Toda criatura impactada por la telaraña de la araña cazadora queda inmovilizada y pegada a la superficie más próxima hasta que logra Escapar (🏋️17)"}}
+actv: {"0": {"nmbr": "Acechando a la preza", "trts": [], "tipo": "〈🏃〉", "accn": "r", "daño": "", "efct": "**Requisitos:** Todavía no se ha rolado por iniciativa. **Desencadenante:** Una criatura toca su telaraña mientras esta acechando. **Efecto:** La araña cazadora automaticamente detecta a la criatura y realiza [[Zancada]], [[Trepar]] o *Descender en telaraña* antes de tirar por iniciativa."}, "1": {"nmbr": "Descender en telaraña", "trts": [], "tipo": "〈🏃〉", "accn": 1, "daño": "", "efct": "La araña cazadora se mueve directamente hacia abajo hasta 8m, suspendida en un hilo de telaraña. Puede quedar colgada o dejarse caer. Toda criatura que ataque exitosamente el hilo de telaraña (🛡️20) la corta provocanto la caída de la araña."}, "2": {"nmbr": "Colmillos 🎲+9", "trts": ["Ataque", "Finura"], "tipo": "〈👊️〉", "accn": 1, "daño": "`$=dv.current().dicc.hp[2]`**1d6+2** + *Veneno de araña*", "efct": ""}, "3": {"nmbr": "Lanza telaraña 🎲+7", "trts": ["Ataque"], "tipo": "6〈🏹〉", "accn": 1, "daño": "", "efct": "*Trampa de telaraña*."}}
+---
+```dataviewjs
+const sc = dv.current().src
+const nm = dv.current().name
+const lv = dv.current().lvl
+const tr = dv.current().trts
+const at = dv.current().attr
+const md = dv.current().skls
+const ac = dv.current().defs
+const hp = dv.current().foda
+const lg = dv.current().lang
+const sp = dv.current().spd
+const pt = dv.current().prcp
+const pv = dv.current().pasv
+const av = dv.current().actv
+
+function findTraits(val){
+ let len = val.length;
+ let text = "";
+ for (let i = 0; i < len; i++) {
+ text += " ==[[_core/jugabilidad/Rasgos/" + val[i] + " \\| " + val[i] + "]]== \t";
+ }
+ return text;
+};
+function getMod(val){
+ return val >= 0? '+' + String(val) : String(val);
+};
+function findSpeed(val){
+ let len = val.length;
+ let dicc = dv.current().dicc.sp;
+ let text = "";
+ for (let i = 0; i < len; i++) {
+ if (val[i] != 0) {
+ text += "⎬" + dicc[i] + getMod(val[i]) + "⎨";
+ }
+ }
+ return text;
+};
+function getStringPrcp(val){
+ let text = "";
+ if (val) {
+ text += "\n**Percepción** " + val;
+ }
+ return text;
+};
+function getStringLangs(val){
+ let text = "";
+ if (val) {
+ text += "\n**Idiomas** " + val;
+ }
+ return text;
+};
+function getSkills(val){
+ let len = val.length;
+ let dicc = dv.current().dicc.md;
+ let text = "";
+ for (let i = 1; i < len; i++) {
+ if (val[i] != 0) {
+ text += "【" + dicc[i] + getMod(val[i]) + "】";
+ }
+ }
+ return text;
+};
+function getFODA(val){
+ let len = val.length;
+ let dicc = dv.current().dicc.hp;
+ let inm = "";
+ let res = "";
+ let deb = "";
+ let text = "";
+ for (let i = 1; i < len; i++) {
+ if (val[i] == "i") {
+ inm += "「" + dicc[i] + "」";
+ } else if (val[i] < 0){
+ res += "「" + dicc[i] + getMod(val[i]) + "」";
+ } else if (val[i] > 0){
+ deb += "「" + dicc[i] + getMod(val[i]) + "」";
+ }
+ }
+ if (inm) {
+ text += "\n**INM** " + inm;
+ }
+ if (res) {
+ text += "\n**RES** " + res;
+ }
+ if (deb) {
+ text += "\n**DEB** " + deb;
+ }
+ if (text) {
+ text += "\n\n---\n\n";
+ }
+ return text;
+};
+function getPas(val){
+ let len = Object.entries(dv.current().pasv).length;
+ let text = "";
+ for (let i = 0; i < len; i++) {
+ text += "> **" + val[i].nmbr + "** ";
+ if (val[i].trts) {
+ let ln = dv.current().pasv[i].trts.length;
+ for (let j = 0; j < ln; j++) {
+ text += " ==[[_core/jugabilidad/Rasgos/" + val[i].trts[j] + " \\| " + val[i].trts[j] + "]]== \t";
+ }
+ }
+ text += "\n>> " + val[i].efct + "\n\n";
+ }
+ return text;
+};
+function getAct(val){
+ let len = Object.entries(dv.current().actv).length;
+ let text = "";
+ for (let i = 0; i < len; i++) {
+ text += "**" + val[i].nmbr + "** \`pf2:" + val[i].accn + "\` \| " + val[i].tipo;
+ if (val[i].trts) {
+ let ln = dv.current().actv[i].trts.length;
+ for (let j = 0; j < ln; j++) {
+ text += " ==[[_core/jugabilidad/Rasgos/" + val[i].trts[j] + " \\| " + val[i].trts[j] + "]]== \t";
+ }
+ }
+ text += "\n--- \| ---\n" + val[i].daño + " \| " + val[i].efct + "\n\n";
+ }
+ return text;
+};
+
+dv.paragraph( "```pf2e-stats\n# " +
+ "【" + hp[0] + "】" +
+ nm + "\n## " + lv + "\n\n---\n\n" +
+ findTraits(tr) + "\n## " +
+ findSpeed(sp) + dv.current().dicc.md[0] + getMod(md[0]) +
+ "\n###### 〈F" + getMod(at[0]) + "〉〈D" + getMod(at[1]) + "〉〈R" + getMod(at[2]) + "〉〈I" + getMod(at[3]) + "〉〈S" + getMod(at[4]) + "〉〈C" + getMod(at[5]) + "〉" +
+ "\n**〔🛡️" + ac[0] + "〕 🎲 Vig**" + getMod(ac[1]) + " **Ref**" + getMod(ac[2]) + " **Det**" + getMod(ac[3]) +
+ getStringPrcp(pt) +
+ getStringLangs(lg) +
+ "\n" + getSkills(md) +
+ "\n\n---\n\n" +
+ getFODA(hp) +
+ getPas(pv) +
+ getAct(av) +
+ sc +
+ "\n```"
+);
+```
\ No newline at end of file