MCPcopy Create free account
hub / github.com/OpenXcom/OpenXcom / save

Method save

src/Savegame/BattleItem.cpp:81–140  ·  view source on GitHub ↗

* Saves the item to a YAML file. * @return YAML node. */

Source from the content-addressed store, hash-verified

79 * @return YAML node.
80 */
81YAML::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

Callers

nothing calls this directly

Calls 4

PositionClass · 0.70
getTypeMethod · 0.45
getIdMethod · 0.45
getPositionMethod · 0.45

Tested by

no test coverage detected