{"id":680,"date":"2022-05-21T23:29:50","date_gmt":"2022-05-22T04:29:50","guid":{"rendered":"https:\/\/chronocrash.com\/obor\/wiki\/?p=680"},"modified":"2023-12-28T14:51:12","modified_gmt":"2023-12-28T19:51:12","slug":"weapons","status":"publish","type":"post","link":"https:\/\/chronocrash.com\/obor\/wiki\/weapons\/","title":{"rendered":"Weapons"},"content":{"rendered":"\n<p>OpenBOR includes a native weapon system, allowing in game characters to attain new abilities, power ups, or as the name implies, usable weapons. In actuality, each weapon is an alternate model that partially replaces traits from the default model. For example, the weapon model for a sword might replace idle, walking, and jumping animations with new ones carrying a sword, and the attack animation with a sword swing. All the other model traits like name, hit-points, and so on remain the same.<\/p>\n\n\n\n<p>All entity types can use weapons. By default computer controlled entities will seek out and collect available weapon pickups.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Initial Setup<\/h3>\n\n\n\n<p>To begin, you will need to create a new model for the weapon (see <a href=\"#Weapon_Model\" data-type=\"internal\" data-id=\"#Weapon_Model\">Weapon Model<\/a>). It is similar in principal to a normal model, but you do not need to include any properties or animations which are the same as the original model. When the weapon is in use, the original model is &#8220;upgraded&#8221; with the new model. Properties (animations, icons, etc.) that differ from the original model are replaced. Any new properties are added. Properties not found in the weapon model text are unchanged unless noted otherwise.<\/p>\n\n\n\n<p>The original model&#8217;s <a href=\"https:\/\/chronocrash.com\/obor\/wiki\/control_commands\/#Com\" data-type=\"URL\" data-id=\"https:\/\/chronocrash.com\/obor\/wiki\/control_commands\/#Com\">com list<\/a> is not copied. This is so you can redefine available commands in the weapon model (i.e. no hurricane kick if you&#8217;re carrying a two ton rock over your head). <a href=\"https:\/\/chronocrash.com\/obor\/wiki\/control_commands\/#Cancel\">Cancel commands<\/a> do copy since they are part of an animation. If you want to disable cancels, just include the animation in your weapon model without the cancels in it.<\/p>\n\n\n\n<p>Make sure the weapon model is loaded before you try to use it. This works like loading any other model. Once you have a weapon model, you need to add it to the original model&#8217;s <a href=\"http:\/\/weapons_list\">weapons list<\/a>. After this step, your model is ready to use the weapon. Weapons can be equipped in a variety of ways, including collectable items, commands, or script.<\/p>\n\n\n\n<p>If the weapon is meant to be an item found in levels or taken from opponents, you will also need a <a href=\"https:\/\/chronocrash.com\/obor\/wiki\/wp-admin\/post.php?post=680&amp;action=edit#Weapon_Item\">Weapon Item<\/a>. Weapon items are very similar to other collectable items, with some properties added to activate the weapon model.<\/p>\n\n\n\n<p>By default, entities lose a weapon when taking any hits. If the weapon was an item pickup, it drops in front of the entity that carried it. After three drops, the weapon is <a href=\"https:\/\/chronocrash.com\/obor\/wiki\/killed-and-dead\/\" data-type=\"post\" data-id=\"283\">killed<\/a>. You can modify any of these behaviors and much more, so be sure to study the properties below.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Properties<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">General<\/h3>\n\n\n\n<p>Unless noted otherwise, these properties are usable by both the default model and any weapon models. This allows you to dictate new weapon behaviors based on the current weapon. For example, you might want to prevent picking up other weapons while carrying a large barrel or rock to throw.<\/p>\n\n\n\n<div id=\"weapons_list\" class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<h4 class=\"wp-block-heading\">Weapon List\u200b<\/h4>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nweapons &amp;lt;weapon models&gt;\n\n#default\nweapons none\n<\/pre><\/div>\n\n\n<p>List of weapons a model can use. Accepts a list of model names. The first model weapon is weapon 1, the next weapon 2, and so on (weapon 0 is the default model with no weapon). When an entity is instructed to set its weapon it switches to the weapon model by its position in the list. For example, if the second model in the weapon list is <code>baseball_bat<\/code>, picking up an item with <code>weapnum 2<\/code> (see below) will switch to the baseball_bat model.<br><br>You may use <code>none<\/code> for a model name to disable that weapon number. For example if the weapons list is <code>weapons none baseball_bat knife<\/code>, the entity will ignore any attempt to set its weapon to 1.<\/p>\n<\/div><\/div>\n\n\n\n<div id=\"weapon_loss_condition\" class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<h4 class=\"wp-block-heading\">Weapon Loss Condition\u200b<\/h4>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nweapon_loss_condition &amp;lt;flags&gt;\n\n#default\nweapon_loss_condition pain fall grab\n<\/pre><\/div>\n\n\n<p>Set in game conditions that cause loss of carried weapon. Accepts one or more of the following flags. If used, you must provide all the flags you want to enable.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>none<\/code> &#8211; No effect if any other flag is used. Use this by itself if you want to override the model&#8217;s default configuration with all flags false.<\/li>\n\n\n\n<li><code>damage<\/code> &#8211; Any native damage.<\/li>\n\n\n\n<li><code>death<\/code> &#8211; Dies from damage.<\/li>\n\n\n\n<li><code>default<\/code> &#8211; Shortcut that adds default flags (<code>damage<\/code>, <code>death<\/code>, <code>fall<\/code>, <code>grabbed<\/code>, <code>grabbing<\/code>, <code>land_damage<\/code>, and <code>pain<\/code>).<\/li>\n\n\n\n<li><code>fall<\/code> &#8211; Knocked down.<\/li>\n\n\n\n<li><code>grabbed<\/code> &#8211; Grabbed by another entity.<\/li>\n\n\n\n<li><code>grabbing<\/code> &#8211; Grabs another entity.<\/li>\n\n\n\n<li><code>land_damage<\/code> &#8211; Takes damage from a throw or blast on landing.<\/li>\n\n\n\n<li><code>pain<\/code> &#8211; Put in hitstun.<\/li>\n\n\n\n<li><code>stage<\/code> &#8211; Stage transition.<\/li>\n<\/ul>\n\n\n\n<p>Accessible to script as <a href=\"https:\/\/chronocrash.com\/obor\/wiki\/model-property\/\" data-type=\"post\" data-id=\"497\">model property<\/a> using following bitmask constants. <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>openborconstant(\"WEAPON_LOSS_CONDITION_NONE\")<\/code><\/li>\n\n\n\n<li><code>openborconstant(\"WEAPON_LOSS_CONDITION_DAMAGE\")<\/code><\/li>\n\n\n\n<li><code>openborconstant(\"WEAPON_LOSS_CONDITION_DEATH\")<\/code><\/li>\n\n\n\n<li><code>openborconstant(\"WEAPON_LOSS_CONDITION_FALL\")<\/code><\/li>\n\n\n\n<li><code>openborconstant(\"WEAPON_LOSS_CONDITION_GRABBED\")<\/code><\/li>\n\n\n\n<li><code>openborconstant(\"WEAPON_LOSS_CONDITION_GRABBING\")<\/code><\/li>\n\n\n\n<li><code>openborconstant(\"WEAPON_LOSS_CONDITION_LAND_DAMAGE\")<\/code><\/li>\n\n\n\n<li><code>openborconstant(\"WEAPON_LOSS_CONDITION_PAIN\")<\/code><\/li>\n\n\n\n<li><code>openborconstant(\"WEAPON_LOSS_CONDITION_STAGE\")<\/code><\/li>\n\n\n\n<li><code>openborconstant(\"WEAPON_LOSS_CONDITION_DEFAULT\")<\/code><\/li>\n<\/ul>\n<\/div><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">Weapon Loss Index\u200b<\/h4>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nweapon_loss_index {int}\n\n#default\nweapon_loss_index 0\n<\/pre><\/div>\n\n\n<p>Accepts an integer value corresponding to the desired weapon list index. Entity reverts to the specified entry in its weapon list when losing current weapon. If this property is not used, the entity reverts to weapon 0 (default model).<\/p>\n\n\n\n<p><strong>Example:&nbsp;<\/strong>When this entity meets conditions for losing a weapon, it will instead revert to weapon 2 (<code>ax_red_dragon<\/code>).<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nweapons  ax_chicken ax_red_dragon ax_blue_dragon\n\nweapon_loss_index 2\n<\/pre><\/div>\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<h4 class=\"wp-block-heading\">Model Copy\u200b<\/h4>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nmodelflag &amp;lt;flags&gt;\n\n#default\nmodelflag none\n<\/pre><\/div>\n\n\n<p>Configure copy behavior when switching to a new model (i.e picking up a weapon). Accepts one or more of the following.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>none<\/code> (default) &#8211; No flags. Standard copy that includes most items from original model.<\/li>\n\n\n\n<li><code>no_basic<\/code> &#8211; Don&#8217;t copy animations, icons, diesound, dust, speed, model header projectile properties, or running properties.<\/li>\n\n\n\n<li><code>no_weapon<\/code> &#8211; Don&#8217;t copy weapon list.<\/li>\n\n\n\n<li><code>no_script<\/code> &#8211; Don&#8217;t copy scripts.<\/li>\n<\/ul>\n\n\n\n<p>Accessible to script as a <a href=\"https:\/\/chronocrash.com\/obor\/wiki\/model-property\/\" data-type=\"post\" data-id=\"497\">model property<\/a> using following bitmask constants:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>openborconstant(\"MODEL_COPY_FLAG_NONE\")<\/code><\/li>\n\n\n\n<li><code>openborconstant(\"MODEL_COPY_FLAG_NO_BASIC\")<\/code><\/li>\n\n\n\n<li><code>openborconstant(\"MODEL_COPY_FLAG_NO_WEAPON\")<\/code><\/li>\n\n\n\n<li><code>openborconstant(\"MODEL_COPY_FLAG_NO_SCRIPT\")<\/code><\/li>\n<\/ul>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: cpp; title: ; notranslate\" title=\"\">\nint model_flag_value = get_model_property(model_property, &quot;model_flag&quot;);\n\nif(model_flag_value &amp; openborconstant(&quot;MODEL_COPY_FLAG_NO_WEAPON&quot;))\n{\n     \/* Do something here if no weapon copy is active. *\/\n}\n\n\/* \n* Now turn the no weapon copy bit off \n* and apply it to model_flag.\n*\/\nmodel_flag_value &amp;= ~openborconstant(&quot;MODEL_COPY_FLAG_NO_WEAPON&quot;);\n\nset_model_property(model_property, &quot;model_flag&quot;, model_flag_value);\n\n<\/pre><\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<h4 class=\"wp-block-heading\">Weapon Frame\u200b<\/h4>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nweaponframe &amp;lt;frame&gt; &amp;lt;index&gt;\n\n#default\nNot defined.\n<\/pre><\/div>\n\n\n<p>Animation header command. When the animation reaches <code>frame<\/code>, the entity will switch to <code>index<\/code> in its <a href=\"http:\/\/weapons_list\">weapons list<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Level Design<\/h3>\n\n\n\n<p>The following are used by level text files to set up weapons mid game as entities spawn.<\/p>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<h4 class=\"wp-block-heading\">Set Weapon\u200b<\/h4>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nsetweap &amp;lt;index&gt;\n\n#default\nsetweap 0\n<\/pre><\/div>\n\n\n<p>Level header command. Player entities start the level using <code>index<\/code> weapon in their <a href=\"#weapons_list\">weapons list<\/a>. <\/p>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<h4 class=\"wp-block-heading\">Weapon On Spawn\u200b<\/h4>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nweapon &amp;lt;item name&gt;\n\n#default\nNot defined.\n<\/pre><\/div>\n\n\n<p>Level spawn command. Item model is model name of a <a href=\"#Weapon_Item\">weapon item<\/a>. The entity will spawn into play having already &#8220;picked up&#8221; the weapon item, and using it if possible. <\/p>\n<\/div><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Weapon Item<\/h3>\n\n\n\n<p>Weapon items are collectable items that when picked up instruct the entity to switch to a weapon model. Picked up items drop at the entity&#8217;s location if their weapon is lost. After a set number of drops (see <code>counter<\/code>), the weapon item is <a href=\"https:\/\/chronocrash.com\/obor\/wiki\/killed-and-dead\/\" data-type=\"post\" data-id=\"283\">killed<\/a>.<\/p>\n\n\n\n<p>Computer controlled entities will find and pick up usable weapon items. The computer ignores items if the entity can&#8217;t use them.<\/p>\n\n\n\n<p>To set up a weapon item, create an Item model, and give it the <code>weapon<\/code> subtype. Then configure the following properties.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Subtype<\/h4>\n\n\n\n<p>Weapon pickup items need one of the following subtypes.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>weapon<\/code> &#8211; Normal weapon behavior. Use this for most weapons and power ups. <\/li>\n\n\n\n<li><code>project<\/code> &#8211; Instead of swapping models, this populates the model <code>projectile<\/code> property. See <code><a href=\"#project_ltmodelgt\" data-type=\"internal\" data-id=\"#project_ltmodelgt\">project<\/a><\/code>.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Weapon Index\u200b<\/h4>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nweapnum &amp;lt;index&gt;\n\n#default\nweapnum 0\n<\/pre><\/div>\n\n\n<p>Accepts an integer value corresponding to a weapon list index. Entities that pick up the item switch to the weapon model in the specified index position of their weapons list. If an entity does not have a weapons list entry in index position, does not have a weapons list at all, or if the model name in index position is <code>none<\/code>, the entity cannot collect the item.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Drop Limit\u200b<\/h4>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\ncounter {int}\n\n#default\ncounter 3\n<\/pre><\/div>\n\n\n<p>Accepts an integer value to set the number of losses before weapon item is removed from play.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Animal\u200b<\/h4>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nanimal {int}\n\n#default\nanimal 0\n<\/pre><\/div>\n\n\n<p>If true, activates following default behaviors to approximate riding a creature:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Any incoming attacks knock the entity down and cause weapon loss.<\/li>\n\n\n\n<li>Permanent weapon loss causes the dropped item to run away (i.e. fly out of screen view).<\/li>\n\n\n\n<li>Entity is immune to grabs.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Projectile Model\u200b<\/h4>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nproject &amp;lt;model name&gt;\n\n#default\nproject none\n<\/pre><\/div>\n\n\n<p>For use with <code>project<\/code> subtype. <code>Model<\/code> is the model name of projectile. When this item is picked up, <code>model<\/code> is copied to the collecting entity&#8217;s model <code>project<\/code> property. You may then use <a href=\"https:\/\/chronocrash.com\/obor\/wiki\/projectile#throwframe_ltframe_ltOffset_Y\">throwframe<\/a> to spawn the model as a projectile entity.  <\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Reload\u200b<\/h4>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nreload {int}\n\n#default\nreload 0\n<\/pre><\/div>\n\n\n<p>If the collecting entity has a limited use weapon (see <code><a href=\"#shootnum_ltintgt\" data-type=\"internal\" data-id=\"#shootnum_ltintgt\">shootnum<\/a><\/code>), this item adds <code>int<\/code> to remaining uses. Otherwise does nothing.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Weapon Model<\/h3>\n\n\n\n<p>Weapon models are the alternate models an entity may assume when using a weapon. They are similar to a normal model text, but usually less extensive as you only need to include changed properties. Weapon models should be type none. The following properties are unique to weapon models. <\/p>\n\n\n\n<p>Weapon models can technically be any type, but to avoid conflicts you should always use type <code>none<\/code>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Use Limit\u200b<\/h4>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nshootnum {int}\n\n#default\nshootnum 0\n<\/pre><\/div>\n\n\n<p>If <code>int<\/code> (default <code>0<\/code>) is any positive number, this becomes a limited use weapon. Once <code>int<\/code> uses are depleted, the entity reverts back to its default model.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Use Limit Display\u200b<\/h4>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\ntypeshot\n\n#default\ntypeshot 0\n<\/pre><\/div>\n\n\n<p>Used in conjunction with <code><a href=\"#shootnum_ltintgt\" data-type=\"internal\" data-id=\"#shootnum_ltintgt\">shootnum<\/a><\/code> to control behavior of limited use weapons. This property has no effect if <code><a href=\"#shootnum_ltintgt\" data-type=\"internal\" data-id=\"#shootnum_ltintgt\">shootnum<\/a><\/code> is not in use. If enabled (1), Remaining weapon uses appear as a counter in the HUD. <\/p>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<h2 class=\"wp-block-heading\">Advanced<\/h2>\n\n\n\n<p>The following is an explanation of how the engine handles weapons internally. This could be useful for advanced creators wishing to take greater advantage of the weapon system.<\/p>\n\n\n\n<p>When an entity picks up a weapon item, the following events occur:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>The receiving entity switches to its weapons list entry model matching the weapnum index on weapon item.<\/li>\n\n\n\n<li>The receiving entity has a property that is populated with the weapon item entity&#8217;s pointer.<\/li>\n\n\n\n<li>The weapon item entity moves to a hidden location in the level (a hardcoded Z position where the camera can&#8217;t show it).<\/li>\n<\/ol>\n\n\n\n<p>When an entity drops a weapon, the following happens:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>The dropping entity returns to its default model.<\/li>\n\n\n\n<li>The weapon item property on dropping entity is used to reference the weapon item entity. and perform following actions:\n<ul class=\"wp-block-list\">\n<li>The weapon item entity moves to dropping entity&#8217;s current position.<\/li>\n\n\n\n<li>The weapon item entity plays SPAWN or RESPAWN animations if it has them (RESPAWN has priority).<\/li>\n\n\n\n<li>If the dropping entity&#8217;s weapon counter is 0, the weapon item entity goes into engine&#8217;s default (blink &amp; disappear) death routine.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>The weapon item property on dropping entity clears to NULL.<\/li>\n<\/ol>\n<\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Weapons and alternate modes.<\/p>\n","protected":false},"author":1,"featured_media":687,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[30,328],"tags":[503,504,506,110,502,304,305,501,303,505,291,292,293,302,507],"class_list":["post-680","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-game-mechanics","category-openbor","tag-animal","tag-counter","tag-modelflag","tag-project","tag-reload","tag-setweap","tag-shootnum","tag-typeshot","tag-weaploss","tag-weapnum","tag-weapon","tag-weapon_loss_condition","tag-weapon_loss_index","tag-weaponframe","tag-weapons"],"revision_note":"","jetpack_featured_media_url":"https:\/\/i0.wp.com\/chronocrash.com\/obor\/wiki\/wp-content\/uploads\/2022\/05\/obor_wiki_weapon_1.png?fit=168%2C164&ssl=1&wsr","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/chronocrash.com\/obor\/wiki\/wp-json\/wp\/v2\/posts\/680","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/chronocrash.com\/obor\/wiki\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/chronocrash.com\/obor\/wiki\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/chronocrash.com\/obor\/wiki\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/chronocrash.com\/obor\/wiki\/wp-json\/wp\/v2\/comments?post=680"}],"version-history":[{"count":5,"href":"https:\/\/chronocrash.com\/obor\/wiki\/wp-json\/wp\/v2\/posts\/680\/revisions"}],"predecessor-version":[{"id":1337,"href":"https:\/\/chronocrash.com\/obor\/wiki\/wp-json\/wp\/v2\/posts\/680\/revisions\/1337"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/chronocrash.com\/obor\/wiki\/wp-json\/wp\/v2\/media\/687"}],"wp:attachment":[{"href":"https:\/\/chronocrash.com\/obor\/wiki\/wp-json\/wp\/v2\/media?parent=680"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/chronocrash.com\/obor\/wiki\/wp-json\/wp\/v2\/categories?post=680"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/chronocrash.com\/obor\/wiki\/wp-json\/wp\/v2\/tags?post=680"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}