Difference between revisions of "Template:Skill bundle"

3,015 bytes added ,  16:26, 1 October 2023
Undo revision 50253 by SurtrFan8511 (talk)
(Removed "no effect" texts)
(Undo revision 50253 by SurtrFan8511 (talk))
Tag: Undo
 
(28 intermediate revisions by 2 users not shown)
Line 10: Line 10:
--><!--
--><!--
Establishing grouping by timing-proc
Establishing grouping by timing-proc
--><includeonly><onlyinclude>{{#forargs:timing
--><includeonly><onlyinclude>{{#iferror:{{#forargs:timing
| id
| id
| effect timing
| effect timing
Line 16: Line 16:
| {{#vardefine:queue{{#var:queue number}}|{{#var:queue{{#var:queue number}}}};{{#var:id}}}}
| {{#vardefine:queue{{#var:queue number}}|{{#var:queue{{#var:queue number}}}};{{#var:id}}}}
| {{#vardefine:queue counter|{{#expr:{{#var:queue counter|0}} + 1}}}}{{#vardefine:queue{{#var:queue counter}}|{{#var:id}}}}{{#arraydefine:stack timing-proc|{{#arrayprint:stack timing-proc}}, {{#var:effect timing}}-{{{rate_2_use{{#var:id}}|0}}}-{{{max_rate_2_use{{#var:id}}|0}}}}}
| {{#vardefine:queue counter|{{#expr:{{#var:queue counter|0}} + 1}}}}{{#vardefine:queue{{#var:queue counter}}|{{#var:id}}}}{{#arraydefine:stack timing-proc|{{#arrayprint:stack timing-proc}}, {{#var:effect timing}}-{{{rate_2_use{{#var:id}}|0}}}-{{{max_rate_2_use{{#var:id}}|0}}}}}
}}}}<!--processing each timing-proc group-->{{#loop:i
}}}}{{#arraydefine:victory effects|}}<!--processing each timing-proc group-->{{#loop:i
| 1
| 1
| {{#var:queue counter}}
| {{#var:queue counter}}
| {{#arraydefine:rst list|}}{{#arraydefine:ska list|}}{{#arraydefine:sta list|}}{{#vardefine:effect memory cell|}}{{#arraydefine:effect id array|{{#var:queue{{#var:i}}}}|;}}{{#arrayprint:effect id array|
| {{#arraydefine:rst list|}}{{#arraydefine:ska list|}}{{#arraydefine:sta list|}}{{#vardefine:effect memory cell|}}{{#arraydefine:effect id array|{{#var:queue{{#var:i}}}}|;}}{{#arrayprint:effect id array|
| @@@@
| @@@@
| <!--range grouping-->{{#ifeq:{{{add_status_id@@@@|0}}}/{{{add_hp@@@@|0}}}/{{{max_add_hp@@@@|0}}}/{{{add_cp@@@@|0}}}/{{{max_add_cp@@@@|0}}}/{{{knockback@@@@|0}}}/{{{knockback_horizontal@@@@|0}}}/{{{knockback_random@@@@|0}}}|{{#var:effect memory cell|}}
| <!--range grouping-->{{#ifeq:{{{add_status_id@@@@|0}}}/{{{add_hp@@@@|0}}}/{{{max_add_hp@@@@|0}}}/{{{add_cp@@@@|0}}}/{{{max_add_cp@@@@|0}}}/{{{knockback@@@@|0}}}/{{{knockback_horizontal@@@@|0}}}/{{{knockback_random@@@@|0}}}/{{{target_my_team@@@@|0}}}/{{{target_enemy@@@@|0}}}/{{{rate_2_use@@@@|0}}}/{{{max_rate_2_use@@@@|0}}}|{{#var:effect memory cell|}}
| {{#vardefine:stack range|{{#var:stack range}}{{{distance@@@@|0}}} {{{range_h@@@@|0}}} {{{range_v@@@@|0}}} {{{range_d@@@@|0}}} {{{is_square@@@@|0}}};}}{{#arraydefine:stack range id|{{#arrayprint:stack range id}}, @@@@}}
| {{#vardefine:stack range|{{#var:stack range}}{{{distance@@@@|0}}} {{{distance_h@@@@|0}}} {{{range_h@@@@|0}}} {{{range_v@@@@|0}}} {{{range_d@@@@|0}}} {{{is_square@@@@|0}}};}}{{#arraydefine:stack range id|{{#arrayprint:stack range id}}, @@@@}}
| {{#vardefine:effect memory cell|{{{add_status_id@@@@|0}}}/{{{add_hp@@@@|0}}}/{{{max_add_hp@@@@|0}}}/{{{add_cp@@@@|0}}}/{{{max_add_cp@@@@|0}}}/{{{knockback@@@@|0}}}/{{{knockback_horizontal@@@@|0}}}/{{{knockback_random@@@@|0}}}}}{{#ifeq:{{#var:effect memory cell}}|0/0/0/0/0/0/0/0|{{#vardefine:effect memory cell|}}{{#arraydefine:stack range id|}}|{{#vardefine:stack range|{{{distance@@@@|0}}} {{{range_h@@@@|0}}} {{{range_v@@@@|0}}} {{{range_d@@@@|0}}} {{{is_square@@@@|0}}};}}{{#arraydefine:stack range id|@@@@}}}}
| {{#vardefine:effect memory cell|{{{add_status_id@@@@|0}}}/{{{add_hp@@@@|0}}}/{{{max_add_hp@@@@|0}}}/{{{add_cp@@@@|0}}}/{{{max_add_cp@@@@|0}}}/{{{knockback@@@@|0}}}/{{{knockback_horizontal@@@@|0}}}/{{{knockback_random@@@@|0}}}/{{{target_my_team@@@@|0}}}/{{{target_enemy@@@@|0}}}/{{{rate_2_use@@@@|0}}}/{{{max_rate_2_use@@@@|0}}}}}{{#ifeq:{{#var:effect memory cell}}|0/0/0/0/0/0/0/0/0/0/0/0|{{#vardefine:effect memory cell|}}{{#arraydefine:stack range id|}}|{{#vardefine:stack range|{{{distance@@@@|0}}} {{{distance_h@@@@|0}}} {{{range_h@@@@|0}}} {{{range_v@@@@|0}}} {{{range_d@@@@|0}}} {{{is_square@@@@|0}}};}}{{#arraydefine:stack range id|@@@@}}}}
}}{{#if:{{#vardefineecho:override range@@@@|{{Skill range combo|{{#var:stack range}}}}}}|{{#arrayprint:stack range id||####|{{#vardefine:show effect####|false}}}}{{#vardefine:show effect@@@@|true}}
}}<!--
defining targets again because skill range combo template uses them too early {clown emoji)
--><!--{{#vardefine:target|{{Skill targets|self={{{target_self@@@@|0}}}|team={{{target_my_team@@@@|0}}}|enemy={{{target_enemy@@@@|0}}}}}}}--><!--end target definition
-->{{#if:{{#vardefineecho:override range@@@@|{{Skill range combo|{{#var:stack range}}}}}}|{{#arrayprint:stack range id||####|{{#vardefine:show effect####|false}}}}{{#vardefine:show effect@@@@|true}}
}}<!--victory effect check-->{{#ifexpr:
({{{collect_exp@@@@|0}}} != 0 or
{{{add_exp@@@@|0}}} != 0 or
{{{max_add_exp@@@@|0}}} != 0 or
{{{add_money@@@@|0}}} != 0 or
{{{max_add_money@@@@|0}}} != 0 or
{{{add_rank_exp@@@@|0}}} != 0 or
{{{max_add_rank_exp@@@@|0}}} != 0 or
{{{add_support_point@@@@|0}}} != 0 or
{{{max_add_support_point@@@@|0}}} != 0 or
{{{add_item_id@@@@|0}}} != 0 or
{{{add_item@@@@|0}}} != 0 or
{{{item_id@@@@|0}}} != 0)
| {{#ifeq:{{#arraysize:victory effects}}|0
| {{#arraydefine:victory effects|@@@@}}
| {{#arraydefine:victory effects|{{#arrayprint:victory effects}}, @@@@}}}}
}}<!--no effect check-->{{#ifexpr:
}}<!--no effect check-->{{#ifexpr:
({{{target_self@@@@|0}}} = 0 and {{{target_my_team@@@@|0}}} = 0 and {{{target_enemy@@@@|0}}} = 0 and {{{add_status_id@@@@|0}}} != 0) or (
{{{add_status_id@@@@|0}}} = 0 and
{{{add_status_id@@@@|0}}} = 0 and
{{{remove_status_id@@@@|0}}} = 0 and
{{{remove_status_id@@@@|0}}} = 0 and
Line 56: Line 76:
{{{max_add_support_point@@@@|0}}} = 0 and
{{{max_add_support_point@@@@|0}}} = 0 and
{{{add_item_id@@@@|0}}} = 0 and
{{{add_item_id@@@@|0}}} = 0 and
{{{add_item@@@@|0}}} = 0
{{{add_item@@@@|0}}} = 0 and
{{{item_id@@@@|0}}} = 0)
<!--add new entries here-->
<!--add new entries here-->
|{{#vardefine:show effect@@@@|false}}}}<!--resist status grouping-->{{#ifeq:{{{remove_status_id@@@@|0}}}|0|
|{{#vardefine:show effect@@@@|false}}}}<!--resist status grouping-->{{#ifeq:{{{remove_status_id@@@@|0}}}|0|
Line 71: Line 92:
| {{#arraydefine:sta list|{{#arrayprint:sta list}}, @@@@}}}}
| {{#arraydefine:sta list|{{#arrayprint:sta list}}, @@@@}}}}
}}
}}
}}{{#ifexpr:{{#arraysize:rst list}} > 5|{{#arrayprint:rst list||####|{{#vardefine:show effect####|false}}}}{{#vardefine:show effect{{#arrayindex:rst list|0}}|true}}}}{{#ifexpr:{{#arraysize:ska list}} > 5|{{#arrayprint:ska list||####|{{#vardefine:show effect####|false}}}}{{#vardefine:show effect{{#arrayindex:ska list|0}}|true}}}}{{#ifexpr:{{#arraysize:sta list}} > 5|{{#arrayprint:sta list||####|{{#vardefine:show effect####|false}}}}{{#vardefine:show effect{{#arrayindex:sta list|0}}|true}}}}<!--group print start-->{{#vardefine:timing flag|true}}{{#arrayprint:effect id array|
}}{{#ifexpr:{{#arraysize:rst list}} > 4|{{#arrayprint:rst list||####|{{#vardefine:show effect####|false}}}}{{#vardefine:show effect{{#arrayindex:rst list|0}}|true}}}}{{#ifexpr:{{#arraysize:ska list}} > 4|{{#arrayprint:ska list||####|{{#vardefine:show effect####|false}}}}{{#vardefine:show effect{{#arrayindex:ska list|0}}|true}}}}{{#ifexpr:{{#arraysize:sta list}} > 4|{{#arrayprint:sta list||####|{{#vardefine:show effect####|false}}}}{{#vardefine:show effect{{#arrayindex:sta list|0}}|true}}}}<!--group print start-->{{#vardefine:timing flag|true}}{{#arrayprint:effect id array|
| @@@@
| @@@@
| {{#ifeq:{{#var:show effect@@@@}}|true|<!--prefix-->{{#if:{{#var:timing flag}}|{{#vardefine:timing flag|}}[{{Skill trigger timing|{{{timing@@@@|0}}}}}]{{spaces|1}}|<br>{{spaces|4}}
| {{#ifeq:{{#var:show effect@@@@}}|true|<!--prefix-->{{#if:{{#var:timing flag}}|{{#vardefine:timing flag|}}[{{Skill trigger timing|{{{timing@@@@|0}}}}}]{{spaces|1}}|<br>{{spaces|4}}
}}<!--effect print-->{{#vardefine:use default desc|true}}{{#if:
}}<!--effect print-->{{#vardefine:use default desc|true}}{{#if:
{{#arraysearch:rst list|@@@@}}|{{#ifexpr:{{#arraysize:rst list}} > 5|Resist {{#arraysize:rst list}} statuses {{#vardefine:hide icons|true}}{{#vardefine:hide tips|true}}{{Collapsible box|padding=1px|{{#arrayprint:rst list|,&#32;|####|{{Status|id={{{remove_status_id####|0}}}}}}}}}{{#vardefine:hide icons|}}{{#vardefine:hide tips|}}{{#vardefine:use default desc|false}}}}}}{{#if:
{{#arraysearch:rst list|@@@@}}|{{#ifexpr:{{#arraysize:rst list}} > 4|Resist {{#arraysize:rst list}} statuses {{Collapsible box|style-box=padding:0px 2px;margin-bottom:-0.45em|{{#arrayprint:rst list|,&#32;|####|{{Status name|id={{{remove_status_id####|0}}}|link=true}}}}}}{{#vardefine:use default desc|false}}}}}}{{#if:
{{#arraysearch:ska list|@@@@}}|{{#ifexpr:{{#arraysize:ska list}} > 5|Deal extra damage against {{#arraysize:ska list}} skills {{#vardefine:hide icons|true}}{{#vardefine:hide tips|true}}{{Collapsible box|padding=1px|{{#arrayprint:ska list|,&#32;|####|{{Skill name|id={{{anti_skill_id####|0}}}}} (x{{Skill effect potency|base={{#expr:{{{mult####|0}}} / 100}}|max={{#expr:{{{mult_max####|0}}} / 100}}}})}}}}{{#vardefine:hide icons|}}{{#vardefine:hide tips|}}{{#vardefine:use default desc|false}}}}}}{{#if:
{{#arraysearch:ska list|@@@@}}|{{#ifexpr:{{#arraysize:ska list}} > 4|Deal extra damage against {{#arraysize:ska list}} skills {{Collapsible box|style-box=padding:0px 2px;margin-bottom:-0.45em|{{#arrayprint:ska list|,&#32;|####|{{Skill name|id={{{anti_skill_id####|0}}}}} (x{{Skill effect potency|base={{#expr:{{{mult####|0}}} / 100}}|max={{#expr:{{{mult_max####|0}}} / 100}}}})}}}}{{#vardefine:use default desc|false}}}}}}{{#if:
{{#arraysearch:sta list|@@@@}}|{{#ifexpr:{{#arraysize:sta list}} > 5|Deal extra damage against {{#arraysize:sta list}} statuses {{#vardefine:hide icons|true}}{{#vardefine:hide tips|true}}{{Collapsible box|padding=1px|{{#arrayprint:sta list|,&#32;|####|{{Status|id={{{anti_status_id####|0}}}}} (x{{Skill effect potency|base={{#expr:{{{mult####|0}}} / 100}}|max={{#expr:{{{mult_max####|0}}} / 100}}}})}}}}{{#vardefine:hide icons|}}{{#vardefine:hide tips|}}{{#vardefine:use default desc|false}}}}}}{{#ifeq:
{{#arraysearch:sta list|@@@@}}|{{#ifexpr:{{#arraysize:sta list}} > 4|Deal extra damage against {{#arraysize:sta list}} statuses {{Collapsible box|style-box=padding:0px 2px;margin-bottom:-0.45em|{{#arrayprint:sta list|,&#32;|####|{{Status name|id={{{anti_status_id####|0}}}|link=true}} (x{{Skill effect potency|base={{#expr:{{{mult####|0}}} / 100}}|max={{#expr:{{{mult_max####|0}}} / 100}}}})}}}}{{#vardefine:use default desc|false}}}}}}{{#ifeq:
{{#var:use default desc}}|true|{{#vardefine:short description|}}{{Skill description|target_self={{{target_self@@@@|0}}}|target_my_team={{{target_my_team@@@@|0}}}|target_enemy={{{target_enemy@@@@|0}}}|distance={{{distance@@@@|0}}}|range_h={{{range_h@@@@|0}}}|range_v={{{range_v@@@@|0}}}|range_d={{{range_d@@@@|0}}}|is_square={{{is_square@@@@|0}}}|rate_2_use={{{rate_2_use@@@@|0}}}|max_rate_2_use={{{max_rate_2_use@@@@|0}}}|mult={{{mult@@@@|0}}}|mult_max={{{mult_max@@@@|0}}}|add_status_id={{{add_status_id@@@@|0}}}|remove_status_id={{{remove_status_id@@@@|0}}}|anti_skill_id={{{anti_skill_id@@@@|0}}}|anti_status_id={{{anti_status_id@@@@|0}}}|reduce_weapon_id={{{reduce_weapon_id@@@@|0}}}|reduce_status_id={{{reduce_status_id@@@@|0}}}|add_hp={{{add_hp@@@@|0}}}|max_add_hp={{{max_add_hp@@@@|0}}}|add_cp={{{add_cp@@@@|0}}}|max_add_cp={{{max_add_cp@@@@|0}}}|add_sp_v={{{add_sp_v@@@@|0}}}|add_sp_h={{{add_sp_h@@@@|0}}}|add_sp_d={{{add_sp_d@@@@|0}}}|add_hate={{{add_hate@@@@|0}}}|knockback={{{knockback@@@@|0}}}|knockback_horizontal={{{knockback_horizontal@@@@|0}}}|knockback_random={{{knockback_random@@@@|0}}}|regist_move_horizontal={{{regist_move_horizontal@@@@|0}}}|regist_knockback={{{regist_knockback@@@@|0}}}|regist_forcepull={{{regist_forcepull@@@@|0}}}|collect_exp={{{collect_exp@@@@|0}}}|add_exp={{{add_exp@@@@|0}}}|max_add_exp={{{max_add_exp@@@@|0}}}|add_money={{{add_money@@@@|0}}}|max_add_money={{{max_add_money@@@@|0}}}|add_rank_exp={{{add_rank_exp@@@@|0}}}|max_add_rank_exp={{{max_add_rank_exp@@@@|0}}}|add_support_point={{{add_support_point@@@@|0}}}|max_add_support_point={{{max_add_support_point@@@@|0}}}|add_item_id={{{add_item|id@@@@|0}}}|add_item={{{add_item@@@@|0}}}|turn_interval={{{turn_interval@@@@|0}}}|turn_interval_surplus={{{turn_interval_surplus@@@@|0}}}|turn_interval_is_total_turn={{{turn_interval_is_total_turn@@@@|0}}}<!--add new parameters here-->
{{#var:use default desc}}|true|{{#vardefine:short description|}}{{Skill description|target_self={{{target_self@@@@|0}}}|target_my_team={{{target_my_team@@@@|0}}}|target_enemy={{{target_enemy@@@@|0}}}|distance={{{distance@@@@|0}}}|distance_h={{{distance_h@@@@|0}}}|range_h={{{range_h@@@@|0}}}|range_v={{{range_v@@@@|0}}}|range_d={{{range_d@@@@|0}}}|is_square={{{is_square@@@@|0}}}|rate_2_use={{{rate_2_use@@@@|0}}}|max_rate_2_use={{{max_rate_2_use@@@@|0}}}|mult={{{mult@@@@|0}}}|mult_max={{{mult_max@@@@|0}}}|add_status_id={{{add_status_id@@@@|0}}}|remove_status_id={{{remove_status_id@@@@|0}}}|anti_skill_id={{{anti_skill_id@@@@|0}}}|anti_status_id={{{anti_status_id@@@@|0}}}|reduce_weapon_id={{{reduce_weapon_id@@@@|0}}}|reduce_status_id={{{reduce_status_id@@@@|0}}}|add_hp={{{add_hp@@@@|0}}}|max_add_hp={{{max_add_hp@@@@|0}}}|add_cp={{{add_cp@@@@|0}}}|max_add_cp={{{max_add_cp@@@@|0}}}|add_sp_v={{{add_sp_v@@@@|0}}}|add_sp_h={{{add_sp_h@@@@|0}}}|add_sp_d={{{add_sp_d@@@@|0}}}|add_hate={{{add_hate@@@@|0}}}|knockback={{{knockback@@@@|0}}}|knockback_horizontal={{{knockback_horizontal@@@@|0}}}|knockback_random={{{knockback_random@@@@|0}}}|regist_move_horizontal={{{regist_move_horizontal@@@@|0}}}|regist_knockback={{{regist_knockback@@@@|0}}}|regist_forcepull={{{regist_forcepull@@@@|0}}}|turn_interval={{{turn_interval@@@@|0}}}|turn_interval_surplus={{{turn_interval_surplus@@@@|0}}}|turn_interval_is_total_turn={{{turn_interval_is_total_turn@@@@|0}}}|support_ok={{{support_ok@@@@|0}}}|hp_drain_mult={{{hp_drain_mult@@@@|0}}}|hp_drain_mult_max={{{hp_drain_mult_max@@@@|0}}}|hp_drain_add={{{hp_drain_add@@@@|0}}}|hp_drain_add_max={{{hp_drain_add_max@@@@|0}}}|cp_drain_mult={{{cp_drain_mult@@@@|0}}}|cp_drain_mult_max={{{cp_drain_mult_max@@@@|0}}}|cp_drain_add={{{cp_drain_add@@@@|0}}}|cp_drain_add_max={{{cp_drain_add_max@@@@|0}}}|cond_cp_equal={{{cond_cp_equal@@@@|0}}}|cond_cp_less={{{cond_cp_less@@@@|0}}}|cond_cp_greater={{{cond_cp_greater@@@@|0}}}|cond_cp_combination_type={{{cond_cp_combination_type@@@@|0}}}|cond_hp_prop_equal={{{cond_hp_prop_equal@@@@|0}}}|cond_hp_prop_less={{{cond_hp_prop_less@@@@|0}}}|cond_hp_prop_greater={{{cond_hp_prop_greater@@@@|0}}}|cond_hp_prop_combination_type={{{cond_hp_prop_combination_type@@@@|0}}}<!--add new non-victory-related parameters here-->
|override range={{#var:override range@@@@|}}}}}}<!--group print end-->}}}} / {{Skill rate|base={{{rate_2_use{{#arrayindex:effect id array|0}}|0}}}|max={{{max_rate_2_use{{#arrayindex:effect id array|0}}|0}}}}}<br>
|override range={{#var:override range@@@@|}}}}}}<!--group print end-->}}}}{{#if:{{#var:timing flag}}||&#32;/ {{Skill rate|base={{{rate_2_use{{#arrayindex:effect id array|0}}|0}}}|max={{{max_rate_2_use{{#arrayindex:effect id array|0}}|0}}}}}<br>{{#vardefine:hit form|hit}}}}
}}<!--undefining variables-->{{#vardefine:queue number|}}{{#vardefine:queue counter|0}}{{#arraydefine:stack timing-proc|}}{{#vardefine:stack range|}}{{#vardefine:effect memory cell|}}</includeonly></onlyinclude><noinclude>{{Documentation}}</noinclude>
}}<!--printing victory effects-->{{#ifeq:{{#arraysize:victory effects}}|0|
| [{{Skill trigger timing|17}}] {{#arrayprint:victory effects|<br>&nbsp;&nbsp;&nbsp;&nbsp;|@@@@|{{Skill description|target_self={{{target_self@@@@|0}}}|target_my_team={{{target_my_team@@@@|0}}}|target_enemy={{{target_enemy@@@@|0}}}|distance={{{distance@@@@|0}}}|distance_h={{{distance_h@@@@|0}}}|range_h={{{range_h@@@@|0}}}|range_v={{{range_v@@@@|0}}}|range_d={{{range_d@@@@|0}}}|is_square={{{is_square@@@@|0}}}|rate_2_use={{{rate_2_use@@@@|0}}}|max_rate_2_use={{{max_rate_2_use@@@@|0}}}|turn_interval={{{turn_interval@@@@|0}}}|turn_interval_surplus={{{turn_interval_surplus@@@@|0}}}|turn_interval_is_total_turn={{{turn_interval_is_total_turn@@@@|0}}}|collect_exp={{{collect_exp@@@@|0}}}|add_exp={{{add_exp@@@@|0}}}|max_add_exp={{{max_add_exp@@@@|0}}}|add_money={{{add_money@@@@|0}}}|max_add_money={{{max_add_money@@@@|0}}}|add_rank_exp={{{add_rank_exp@@@@|0}}}|max_add_rank_exp={{{max_add_rank_exp@@@@|0}}}|add_support_point={{{add_support_point@@@@|0}}}|max_add_support_point={{{max_add_support_point@@@@|0}}}|add_item_id={{{add_item|id@@@@|0}}}|add_item={{{add_item@@@@|0}}}|support_ok={{{support_ok@@@@|0}}}|item_id={{{item_id@@@@|0}}}|prob_value={{{prob_value@@@@|0}}}|prob_max_value={{{prob_max_value@@@@|0}}}<!--add new victory parameters here-->}}}}}}<!--undefining variables-->{{#vardefine:queue number|}}{{#vardefine:queue counter|0}}{{#arraydefine:stack timing-proc|}}{{#vardefine:stack range|}}{{#vardefine:effect memory cell|}}{{#arraydefine:victory effects|}}
|Server error 😔. Try again later.}}</includeonly></onlyinclude><noinclude>{{Documentation}}</noinclude>
trusted
5,894

edits