* Saves the item to a YAML file. * @return YAML node. */
| 79 | * @return YAML node. |
| 80 | */ |
| 81 | YAML::Node BattleItem::save() const |
| 82 | { |
| 83 | YAML::Node node; |
| 84 | node["id"] = _id; |
| 85 | node["type"] = _rules->getType(); |
| 86 | if (_owner) |
| 87 | { |
| 88 | node["owner"] = _owner->getId(); |
| 89 | } |
| 90 | else |
| 91 | { |
| 92 | node["owner"] = -1; |
| 93 | } |
| 94 | if (_unit) |
| 95 | { |
| 96 | node["unit"] = _unit->getId(); |
| 97 | } |
| 98 | else |
| 99 | { |
| 100 | node["unit"] = -1; |
| 101 | } |
| 102 | |
| 103 | if (_inventorySlot) |
| 104 | { |
| 105 | node["inventoryslot"] = _inventorySlot->getId(); |
| 106 | } |
| 107 | else |
| 108 | { |
| 109 | node["inventoryslot"] = "NULL"; |
| 110 | } |
| 111 | node["inventoryX"] = _inventoryX; |
| 112 | node["inventoryY"] = _inventoryY; |
| 113 | |
| 114 | if (_tile) |
| 115 | { |
| 116 | node["position"] = _tile->getPosition(); |
| 117 | } |
| 118 | else |
| 119 | { |
| 120 | node["position"] = Position(-1, -1, -1); |
| 121 | } |
| 122 | node["ammoqty"] = _ammoQuantity; |
| 123 | if (_ammoItem) |
| 124 | { |
| 125 | node["ammoItem"] = _ammoItem->getId(); |
| 126 | } |
| 127 | else |
| 128 | { |
| 129 | node["ammoItem"] = -1; |
| 130 | } |
| 131 | |
| 132 | node["painKiller"] = _painKiller; |
| 133 | node["heal"] = _heal; |
| 134 | node["stimulant"] = _stimulant; |
| 135 | node["fuseTimer"] = _fuseTimer; |
| 136 | if (_droppedOnAlienTurn) |
| 137 | node["droppedOnAlienTurn"] = _droppedOnAlienTurn; |
| 138 |
nothing calls this directly
no test coverage detected