~ares-developers/ares/gd03

« back to all changes in this revision

Viewing changes to src/Doc/class_techno_ext.html

  • Committer: Renegade
  • Date: 2010-05-29 08:12:17 UTC
  • Revision ID: git-v1:0a1bb6321f04d723afe64d1b843dc87b4da783ec
Creating /trunk/src.

git-svn-id: svn://svn.renegadeprojects.com/ares/trunk@622 859b54a9-7a54-0410-aeb3-f8d2f1fa40fd

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 
2
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
 
3
<title>Ares: TechnoExt Class Reference</title>
 
4
<link href="tabs.css" rel="stylesheet" type="text/css">
 
5
<link href="doxygen.css" rel="stylesheet" type="text/css">
 
6
</head><body>
 
7
<!-- Generated by Doxygen 1.5.8 -->
 
8
<script type="text/javascript">
 
9
<!--
 
10
function changeDisplayState (e){
 
11
  var num=this.id.replace(/[^[0-9]/g,'');
 
12
  var button=this.firstChild;
 
13
  var sectionDiv=document.getElementById('dynsection'+num);
 
14
  if (sectionDiv.style.display=='none'||sectionDiv.style.display==''){
 
15
    sectionDiv.style.display='block';
 
16
    button.src='open.gif';
 
17
  }else{
 
18
    sectionDiv.style.display='none';
 
19
    button.src='closed.gif';
 
20
  }
 
21
}
 
22
function initDynSections(){
 
23
  var divs=document.getElementsByTagName('div');
 
24
  var sectionCounter=1;
 
25
  for(var i=0;i<divs.length-1;i++){
 
26
    if(divs[i].className=='dynheader'&&divs[i+1].className=='dynsection'){
 
27
      var header=divs[i];
 
28
      var section=divs[i+1];
 
29
      var button=header.firstChild;
 
30
      if (button!='IMG'){
 
31
        divs[i].insertBefore(document.createTextNode(' '),divs[i].firstChild);
 
32
        button=document.createElement('img');
 
33
        divs[i].insertBefore(button,divs[i].firstChild);
 
34
      }
 
35
      header.style.cursor='pointer';
 
36
      header.onclick=changeDisplayState;
 
37
      header.id='dynheader'+sectionCounter;
 
38
      button.src='closed.gif';
 
39
      section.id='dynsection'+sectionCounter;
 
40
      section.style.display='none';
 
41
      section.style.marginLeft='14px';
 
42
      sectionCounter++;
 
43
    }
 
44
  }
 
45
}
 
46
window.onload = initDynSections;
 
47
-->
 
48
</script>
 
49
<div class="navigation" id="top">
 
50
  <div class="tabs">
 
51
    <ul>
 
52
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
 
53
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
 
54
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
 
55
      <li><a href="files.html"><span>Files</span></a></li>
 
56
      <li><a href="dirs.html"><span>Directories</span></a></li>
 
57
    <li>
 
58
      <form action="search.php" method="get">
 
59
        <table cellspacing="0" cellpadding="0" border="0">
 
60
          <tr>
 
61
            <td><label>&nbsp;<u>S</u>earch&nbsp;for&nbsp;</label></td>
 
62
            <td><input type="text" name="query" value="" size="20" accesskey="s"/></td>
 
63
          </tr>
 
64
        </table>
 
65
      </form>
 
66
    </li>
 
67
    </ul>
 
68
  </div>
 
69
  <div class="tabs">
 
70
    <ul>
 
71
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
 
72
      <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
 
73
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
 
74
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
 
75
    </ul>
 
76
  </div>
 
77
</div>
 
78
<div class="contents">
 
79
<h1>TechnoExt Class Reference</h1><!-- doxytag: class="TechnoExt" --><code>#include &lt;Ext/Techno/Body.h&gt;</code>
 
80
<p>
 
81
 
 
82
<p>
 
83
<a href="class_techno_ext-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
 
84
<tr><td></td></tr>
 
85
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
 
86
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_techno_ext_1_1_ext_data.html">ExtData</a></td></tr>
 
87
 
 
88
<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
 
89
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef TechnoClass&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_techno_ext.html#e5e668e566a3bb5185fd69bbca2538e7">TT</a></td></tr>
 
90
 
 
91
<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
 
92
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_techno_ext.html#d34ee729a8d65cc603a7ca7dc9796a26">SpawnSurvivors</a> (TechnoClass *pThis, TechnoClass *pKiller, bool Select)</td></tr>
 
93
 
 
94
<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_techno_ext.html#7d4485d7aae9182a5461af705278eadc">ParadropSurvivor</a> (FootClass *Survivor, CoordStruct *loc, bool Select)</td></tr>
 
95
 
 
96
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_techno_ext.html#ae9631478226ada4d987ce91607d1481">StopDraining</a> (TechnoClass *Drainer, TechnoClass *Drainee)</td></tr>
 
97
 
 
98
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Breaks the link between DrainTarget and DrainingMe.  <a href="#ae9631478226ada4d987ce91607d1481"></a><br></td></tr>
 
99
<tr><td colspan="2"><br><h2>Static Public Attributes</h2></td></tr>
 
100
<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="class_container.html">Container</a>&lt; <a class="el" href="class_techno_ext.html">TechnoExt</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_techno_ext.html#3cdb7f8ccc49548f0b621ff80df0e8fb">ExtMap</a></td></tr>
 
101
 
 
102
<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="classhash__map.html">hash_map</a>&lt; ObjectClass <br class="typebreak">
 
103
*, AlphaShapeClass * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_techno_ext.html#8d9a814ce49630832f7b03b0047dc147">AlphaExt</a></td></tr>
 
104
 
 
105
<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="classhash__map.html">hash_map</a>&lt; TechnoClass <br class="typebreak">
 
106
*, BuildingLightClass * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_techno_ext.html#bf2c9a99af7a9fe3034bf6bec585f4f9">SpotlightExt</a></td></tr>
 
107
 
 
108
<tr><td class="memItemLeft" nowrap align="right" valign="top">static BuildingLightClass *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_techno_ext.html#f257e89b8b2cb018402f9a6b1c25956f">ActiveBuildingLight</a> = NULL</td></tr>
 
109
 
 
110
<tr><td class="memItemLeft" nowrap align="right" valign="top">static FireError&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_techno_ext.html#3af090234190adb36352d45da32c38d1">FiringStateCache</a> = -1</td></tr>
 
111
 
 
112
<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_techno_ext.html#3ff06595758c870b0d7775f41a3226ef">NeedsRegap</a> = false</td></tr>
 
113
 
 
114
</table>
 
115
<hr><h2>Member Typedef Documentation</h2>
 
116
<a class="anchor" name="e5e668e566a3bb5185fd69bbca2538e7"></a><!-- doxytag: member="TechnoExt::TT" ref="e5e668e566a3bb5185fd69bbca2538e7" args="" -->
 
117
<div class="memitem">
 
118
<div class="memproto">
 
119
      <table class="memname">
 
120
        <tr>
 
121
          <td class="memname">typedef TechnoClass <a class="el" href="class_techno_ext.html#e5e668e566a3bb5185fd69bbca2538e7">TechnoExt::TT</a>          </td>
 
122
        </tr>
 
123
      </table>
 
124
</div>
 
125
<div class="memdoc">
 
126
 
 
127
<p>
 
128
 
 
129
</div>
 
130
</div><p>
 
131
<hr><h2>Member Function Documentation</h2>
 
132
<a class="anchor" name="7d4485d7aae9182a5461af705278eadc"></a><!-- doxytag: member="TechnoExt::ParadropSurvivor" ref="7d4485d7aae9182a5461af705278eadc" args="(FootClass *Survivor, CoordStruct *loc, bool Select)" -->
 
133
<div class="memitem">
 
134
<div class="memproto">
 
135
      <table class="memname">
 
136
        <tr>
 
137
          <td class="memname">bool TechnoExt::ParadropSurvivor           </td>
 
138
          <td>(</td>
 
139
          <td class="paramtype">FootClass *&nbsp;</td>
 
140
          <td class="paramname"> <em>Survivor</em>, </td>
 
141
        </tr>
 
142
        <tr>
 
143
          <td class="paramkey"></td>
 
144
          <td></td>
 
145
          <td class="paramtype">CoordStruct *&nbsp;</td>
 
146
          <td class="paramname"> <em>loc</em>, </td>
 
147
        </tr>
 
148
        <tr>
 
149
          <td class="paramkey"></td>
 
150
          <td></td>
 
151
          <td class="paramtype">bool&nbsp;</td>
 
152
          <td class="paramname"> <em>Select</em></td><td>&nbsp;</td>
 
153
        </tr>
 
154
        <tr>
 
155
          <td></td>
 
156
          <td>)</td>
 
157
          <td></td><td></td><td><code> [static]</code></td>
 
158
        </tr>
 
159
      </table>
 
160
</div>
 
161
<div class="memdoc">
 
162
 
 
163
<p>
 
164
<div class="fragment"><pre class="fragment"><a name="l00100"></a>00100 {
 
165
<a name="l00101"></a>00101         <span class="keywordtype">bool</span> success;
 
166
<a name="l00102"></a>00102         <span class="keywordtype">int</span> floorZ = MapClass::Instance-&gt;GetCellFloorHeight(loc);
 
167
<a name="l00103"></a>00103         ++Unsorted::IKnowWhatImDoing;
 
168
<a name="l00104"></a>00104         <span class="keywordflow">if</span>(loc-&gt;Z - floorZ &gt; 100) {
 
169
<a name="l00105"></a>00105                 success = Survivor-&gt;SpawnParachuted(loc);
 
170
<a name="l00106"></a>00106         } <span class="keywordflow">else</span> {
 
171
<a name="l00107"></a>00107                 success = Survivor-&gt;Put(loc, ScenarioClass::Instance-&gt;Random.RandomRanged(0, 7));
 
172
<a name="l00108"></a>00108         }
 
173
<a name="l00109"></a>00109         --Unsorted::IKnowWhatImDoing;
 
174
<a name="l00110"></a>00110         RET_UNLESS(success);
 
175
<a name="l00111"></a>00111         Survivor-&gt;Scatter(0xB1CFE8, 1, 0);
 
176
<a name="l00112"></a>00112         Survivor-&gt;QueueMission(Survivor-&gt;Owner-&gt;ControlledByHuman() ? mission_Guard : mission_Hunt, 0);
 
177
<a name="l00113"></a>00113         <span class="keywordflow">if</span>(Select) {
 
178
<a name="l00114"></a>00114                 Survivor-&gt;Select();
 
179
<a name="l00115"></a>00115         }
 
180
<a name="l00116"></a>00116         <span class="keywordflow">return</span> 1;
 
181
<a name="l00117"></a>00117         <span class="comment">// TODO: Tag</span>
 
182
<a name="l00118"></a>00118 }
 
183
</pre></div>
 
184
<p>
 
185
 
 
186
</div>
 
187
</div><p>
 
188
<a class="anchor" name="d34ee729a8d65cc603a7ca7dc9796a26"></a><!-- doxytag: member="TechnoExt::SpawnSurvivors" ref="d34ee729a8d65cc603a7ca7dc9796a26" args="(TechnoClass *pThis, TechnoClass *pKiller, bool Select)" -->
 
189
<div class="memitem">
 
190
<div class="memproto">
 
191
      <table class="memname">
 
192
        <tr>
 
193
          <td class="memname">void TechnoExt::SpawnSurvivors           </td>
 
194
          <td>(</td>
 
195
          <td class="paramtype">TechnoClass *&nbsp;</td>
 
196
          <td class="paramname"> <em>pThis</em>, </td>
 
197
        </tr>
 
198
        <tr>
 
199
          <td class="paramkey"></td>
 
200
          <td></td>
 
201
          <td class="paramtype">TechnoClass *&nbsp;</td>
 
202
          <td class="paramname"> <em>pKiller</em>, </td>
 
203
        </tr>
 
204
        <tr>
 
205
          <td class="paramkey"></td>
 
206
          <td></td>
 
207
          <td class="paramtype">bool&nbsp;</td>
 
208
          <td class="paramname"> <em>Select</em></td><td>&nbsp;</td>
 
209
        </tr>
 
210
        <tr>
 
211
          <td></td>
 
212
          <td>)</td>
 
213
          <td></td><td></td><td><code> [static]</code></td>
 
214
        </tr>
 
215
      </table>
 
216
</div>
 
217
<div class="memdoc">
 
218
 
 
219
<p>
 
220
<div class="fragment"><pre class="fragment"><a name="l00019"></a>00019 {
 
221
<a name="l00020"></a>00020         TechnoTypeClass *Type = pThis-&gt;GetTechnoType();
 
222
<a name="l00021"></a>00021 
 
223
<a name="l00022"></a>00022         HouseClass *pOwner = pThis-&gt;Owner;
 
224
<a name="l00023"></a>00023         <a class="code" href="class_techno_type_ext_1_1_ext_data.html">TechnoTypeExt::ExtData</a> *pData = <a class="code" href="class_techno_type_ext.html#cc5f01db1b341572a92ad754a7d15c48">TechnoTypeExt::ExtMap</a>.<a class="code" href="class_container.html#90ddec0f8fb14f5a9894e128c2f938fc">Find</a>(Type);
 
225
<a name="l00024"></a>00024         <a class="code" href="class_techno_ext_1_1_ext_data.html">TechnoExt::ExtData</a> *pSelfData = <a class="code" href="class_techno_ext.html#3cdb7f8ccc49548f0b621ff80df0e8fb">TechnoExt::ExtMap</a>.<a class="code" href="class_container.html#90ddec0f8fb14f5a9894e128c2f938fc">Find</a>(pThis);
 
226
<a name="l00025"></a>00025 <span class="comment">//      RETZ_UNLESS(pData-&gt;Survivors_PilotChance || pData-&gt;Survivors_PassengerChance);</span>
 
227
<a name="l00026"></a>00026         RETZ_UNLESS(!pSelfData-&gt;<a class="code" href="class_techno_ext_1_1_ext_data.html#d219476e964aa845eb07457f2cbb7901">Survivors_Done</a>);
 
228
<a name="l00027"></a>00027 
 
229
<a name="l00028"></a>00028         CoordStruct loc = pThis-&gt;Location;
 
230
<a name="l00029"></a>00029 
 
231
<a name="l00030"></a>00030         <span class="keywordtype">int</span> chance = pData-&gt;<a class="code" href="class_techno_type_ext_1_1_ext_data.html#602692ec44303698d83964130e820a26">Survivors_PilotChance</a>.<a class="code" href="class_promotable.html#04226bc856e3fb2a904bc70962b0b27e">BindTo</a>(pThis)-&gt;<a class="code" href="class_promotable.html#797ea74a82ee24db3c3892dcce5e1949">Get</a>();
 
232
<a name="l00031"></a>00031         <span class="comment">// remove check for Crewed if it is accounted for outside of this function</span>
 
233
<a name="l00032"></a>00032         <span class="comment">// checks if Crewed=yes is set and there is a chance pilots survive, and, if yes...</span>
 
234
<a name="l00033"></a>00033         <span class="comment">// ...attempts to spawn one Survivors_PilotCount times</span>
 
235
<a name="l00034"></a>00034         <span class="keywordflow">if</span>(Type-&gt;Crewed &amp;&amp; chance) {
 
236
<a name="l00035"></a>00035                 <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = 0; i &lt; pData-&gt;<a class="code" href="class_techno_type_ext_1_1_ext_data.html#78f692482ea81301d28708837b978147" title="Defines the number of pilots inside this vehicle if Crewed=yes; maximum number of...">Survivors_PilotCount</a>; ++i) {
 
237
<a name="l00036"></a>00036                         <span class="keywordflow">if</span>(ScenarioClass::Instance-&gt;Random.RandomRanged(1, 100) &lt;= chance) {
 
238
<a name="l00037"></a>00037                                 <span class="keywordflow">if</span>(InfantryTypeClass *PilotType = pData-&gt;<a class="code" href="class_techno_type_ext_1_1_ext_data.html#75adaef47a3cda263cf520cf4f43d605">Survivors_Pilots</a>[pOwner-&gt;SideIndex]) {
 
239
<a name="l00038"></a>00038                                         InfantryClass *Pilot = <span class="keyword">reinterpret_cast&lt;</span>InfantryClass *<span class="keyword">&gt;</span>(PilotType-&gt;CreateObject(pOwner));
 
240
<a name="l00039"></a>00039 
 
241
<a name="l00040"></a>00040                                         Pilot-&gt;Health = (PilotType-&gt;Strength / 2);
 
242
<a name="l00041"></a>00041                                         Pilot-&gt;Veterancy.Veterancy = pThis-&gt;Veterancy.Veterancy;
 
243
<a name="l00042"></a>00042                                         CoordStruct destLoc, tmpLoc = loc;
 
244
<a name="l00043"></a>00043                                         CellStruct tmpCoords = CellSpread::GetCell(ScenarioClass::Instance-&gt;Random.RandomRanged(0, 7));
 
245
<a name="l00044"></a>00044 
 
246
<a name="l00045"></a>00045                                         tmpLoc.X += tmpCoords.X * 144;
 
247
<a name="l00046"></a>00046                                         tmpLoc.Y += tmpCoords.Y * 144;
 
248
<a name="l00047"></a>00047 
 
249
<a name="l00048"></a>00048                                         CellClass * tmpCell = MapClass::Instance-&gt;GetCellAt(&amp;tmpLoc);
 
250
<a name="l00049"></a>00049 
 
251
<a name="l00050"></a>00050                                         tmpCell-&gt;FindInfantrySubposition(&amp;destLoc, &amp;tmpLoc, 0, 0, 0);
 
252
<a name="l00051"></a>00051 
 
253
<a name="l00052"></a>00052                                         destLoc.Z = loc.Z;
 
254
<a name="l00053"></a>00053 
 
255
<a name="l00054"></a>00054                                         <span class="keywordflow">if</span>(!<a class="code" href="class_techno_ext.html#7d4485d7aae9182a5461af705278eadc">TechnoExt::ParadropSurvivor</a>(Pilot, &amp;destLoc, Select)) {
 
256
<a name="l00055"></a>00055                                                 Pilot-&gt;RegisterDestruction(pKiller); <span class="comment">//(TechnoClass *)R-&gt;get_StackVar32(0x54));</span>
 
257
<a name="l00056"></a>00056                                                 GAME_DEALLOC(Pilot);
 
258
<a name="l00057"></a>00057                                         }
 
259
<a name="l00058"></a>00058                                 }
 
260
<a name="l00059"></a>00059                         }
 
261
<a name="l00060"></a>00060                 }
 
262
<a name="l00061"></a>00061         }
 
263
<a name="l00062"></a>00062 
 
264
<a name="l00063"></a>00063         chance = pData-&gt;<a class="code" href="class_techno_type_ext_1_1_ext_data.html#ad0fcc85d2b4dfce250f7eee7f602892">Survivors_PassengerChance</a>.<a class="code" href="class_promotable.html#04226bc856e3fb2a904bc70962b0b27e">BindTo</a>(pThis)-&gt;<a class="code" href="class_promotable.html#797ea74a82ee24db3c3892dcce5e1949">Get</a>();
 
265
<a name="l00064"></a>00064 
 
266
<a name="l00065"></a>00065         <span class="keywordflow">while</span>(pThis-&gt;Passengers.FirstPassenger) {
 
267
<a name="l00066"></a>00066                 <span class="keywordtype">bool</span> toDelete = 1;
 
268
<a name="l00067"></a>00067                 FootClass *passenger = pThis-&gt;Passengers.RemoveFirstPassenger();
 
269
<a name="l00068"></a>00068                 <span class="keywordtype">bool</span> toSpawn = <span class="keyword">false</span>;
 
270
<a name="l00069"></a>00069                 <span class="keywordflow">if</span>(chance &gt; 0) {
 
271
<a name="l00070"></a>00070                         toSpawn = ScenarioClass::Instance-&gt;Random.RandomRanged(1, 100) &lt;= chance;
 
272
<a name="l00071"></a>00071                 } <span class="keywordflow">else</span> <span class="keywordflow">if</span>(chance == -1 &amp;&amp; pThis-&gt;WhatAmI() == abs_Unit) {
 
273
<a name="l00072"></a>00072                         <span class="keywordtype">int</span> occupation = passenger-&gt;IsCellOccupied(pThis-&gt;GetCell(), -1, -1, 0, 1);
 
274
<a name="l00073"></a>00073                         toSpawn = (occupation == 0 || occupation == 2);
 
275
<a name="l00074"></a>00074                 }
 
276
<a name="l00075"></a>00075                 <span class="keywordflow">if</span>(toSpawn) {
 
277
<a name="l00076"></a>00076                         CoordStruct destLoc, tmpLoc = loc;
 
278
<a name="l00077"></a>00077                         CellStruct tmpCoords = CellSpread::GetCell(ScenarioClass::Instance-&gt;Random.RandomRanged(0, 7));
 
279
<a name="l00078"></a>00078 
 
280
<a name="l00079"></a>00079                         tmpLoc.X += tmpCoords.X * 128;
 
281
<a name="l00080"></a>00080                         tmpLoc.Y += tmpCoords.Y * 128;
 
282
<a name="l00081"></a>00081 
 
283
<a name="l00082"></a>00082                         CellClass * tmpCell = MapClass::Instance-&gt;GetCellAt(&amp;tmpLoc);
 
284
<a name="l00083"></a>00083 
 
285
<a name="l00084"></a>00084                         tmpCell-&gt;FindInfantrySubposition(&amp;destLoc, &amp;tmpLoc, 0, 0, 0);
 
286
<a name="l00085"></a>00085 
 
287
<a name="l00086"></a>00086                         destLoc.Z = loc.Z;
 
288
<a name="l00087"></a>00087 
 
289
<a name="l00088"></a>00088                         toDelete = !<a class="code" href="class_techno_ext.html#7d4485d7aae9182a5461af705278eadc">TechnoExt::ParadropSurvivor</a>(passenger, &amp;destLoc, Select);
 
290
<a name="l00089"></a>00089                 }
 
291
<a name="l00090"></a>00090                 <span class="keywordflow">if</span>(toDelete) {
 
292
<a name="l00091"></a>00091                         passenger-&gt;RegisterDestruction(pKiller); <span class="comment">//(TechnoClass *)R-&gt;get_StackVar32(0x54));</span>
 
293
<a name="l00092"></a>00092                         passenger-&gt;UnInit();
 
294
<a name="l00093"></a>00093                 }
 
295
<a name="l00094"></a>00094         }
 
296
<a name="l00095"></a>00095 
 
297
<a name="l00096"></a>00096         pSelfData-&gt;<a class="code" href="class_techno_ext_1_1_ext_data.html#d219476e964aa845eb07457f2cbb7901">Survivors_Done</a> = 1;
 
298
<a name="l00097"></a>00097 }
 
299
</pre></div>
 
300
<p>
 
301
 
 
302
</div>
 
303
</div><p>
 
304
<a class="anchor" name="ae9631478226ada4d987ce91607d1481"></a><!-- doxytag: member="TechnoExt::StopDraining" ref="ae9631478226ada4d987ce91607d1481" args="(TechnoClass *Drainer, TechnoClass *Drainee)" -->
 
305
<div class="memitem">
 
306
<div class="memproto">
 
307
      <table class="memname">
 
308
        <tr>
 
309
          <td class="memname">void TechnoExt::StopDraining           </td>
 
310
          <td>(</td>
 
311
          <td class="paramtype">TechnoClass *&nbsp;</td>
 
312
          <td class="paramname"> <em>Drainer</em>, </td>
 
313
        </tr>
 
314
        <tr>
 
315
          <td class="paramkey"></td>
 
316
          <td></td>
 
317
          <td class="paramtype">TechnoClass *&nbsp;</td>
 
318
          <td class="paramname"> <em>Drainee</em></td><td>&nbsp;</td>
 
319
        </tr>
 
320
        <tr>
 
321
          <td></td>
 
322
          <td>)</td>
 
323
          <td></td><td></td><td><code> [static]</code></td>
 
324
        </tr>
 
325
      </table>
 
326
</div>
 
327
<div class="memdoc">
 
328
 
 
329
<p>
 
330
Breaks the link between DrainTarget and DrainingMe. 
 
331
<p>
 
332
The links between the drainer and its victim are removed and the draining animation is no longer played.<p>
 
333
<dl compact><dt><b>Parameters:</b></dt><dd>
 
334
  <table border="0" cellspacing="2" cellpadding="0">
 
335
    <tr><td valign="top"></td><td valign="top"><em>Drainer</em>&nbsp;</td><td>The Techno that drains power or credits. </td></tr>
 
336
    <tr><td valign="top"></td><td valign="top"><em>Drainee</em>&nbsp;</td><td>The Techno that power or credits get gets drained from.</td></tr>
 
337
  </table>
 
338
</dl>
 
339
<dl class="author" compact><dt><b>Author:</b></dt><dd>AlexB </dd></dl>
 
340
<dl class="date" compact><dt><b>Date:</b></dt><dd>2010-04-27 </dd></dl>
 
341
<div class="fragment"><pre class="fragment"><a name="l00131"></a>00131                                                                        {
 
342
<a name="l00132"></a>00132         <span class="comment">// fill the gaps</span>
 
343
<a name="l00133"></a>00133         <span class="keywordflow">if</span>(Drainer &amp;&amp; !Drainee)
 
344
<a name="l00134"></a>00134                 Drainee = Drainer-&gt;DrainTarget;
 
345
<a name="l00135"></a>00135 
 
346
<a name="l00136"></a>00136         <span class="keywordflow">if</span>(!Drainer &amp;&amp; Drainee)
 
347
<a name="l00137"></a>00137                 Drainer = Drainee-&gt;DrainingMe;
 
348
<a name="l00138"></a>00138 
 
349
<a name="l00139"></a>00139         <span class="comment">// sanity check, then end draining.</span>
 
350
<a name="l00140"></a>00140         <span class="keywordflow">if</span>(Drainer &amp;&amp; Drainee) {
 
351
<a name="l00141"></a>00141                 <span class="comment">// stop the animation.</span>
 
352
<a name="l00142"></a>00142                 <span class="keywordflow">if</span> (Drainer-&gt;DrainAnim) {
 
353
<a name="l00143"></a>00143                         Drainer-&gt;DrainAnim-&gt;UnInit();
 
354
<a name="l00144"></a>00144                         Drainer-&gt;DrainAnim = NULL;
 
355
<a name="l00145"></a>00145                 }
 
356
<a name="l00146"></a>00146 
 
357
<a name="l00147"></a>00147                 <span class="comment">// remove links.</span>
 
358
<a name="l00148"></a>00148                 Drainee-&gt;DrainingMe = NULL;
 
359
<a name="l00149"></a>00149                 Drainer-&gt;DrainTarget = NULL;
 
360
<a name="l00150"></a>00150 
 
361
<a name="l00151"></a>00151                 <span class="comment">// tell the game to recheck the drained</span>
 
362
<a name="l00152"></a>00152                 <span class="comment">// player's tech level.</span>
 
363
<a name="l00153"></a>00153                 <span class="keywordflow">if</span> (Drainee-&gt;Owner) {
 
364
<a name="l00154"></a>00154                         Drainee-&gt;Owner-&gt;ShouldRecheckTechTree = <span class="keyword">true</span>;
 
365
<a name="l00155"></a>00155                 }
 
366
<a name="l00156"></a>00156         }
 
367
<a name="l00157"></a>00157 }
 
368
</pre></div>
 
369
<p>
 
370
 
 
371
</div>
 
372
</div><p>
 
373
<hr><h2>Member Data Documentation</h2>
 
374
<a class="anchor" name="f257e89b8b2cb018402f9a6b1c25956f"></a><!-- doxytag: member="TechnoExt::ActiveBuildingLight" ref="f257e89b8b2cb018402f9a6b1c25956f" args="" -->
 
375
<div class="memitem">
 
376
<div class="memproto">
 
377
      <table class="memname">
 
378
        <tr>
 
379
          <td class="memname">BuildingLightClass * <a class="el" href="class_techno_ext.html#f257e89b8b2cb018402f9a6b1c25956f">TechnoExt::ActiveBuildingLight</a> = NULL<code> [static]</code>          </td>
 
380
        </tr>
 
381
      </table>
 
382
</div>
 
383
<div class="memdoc">
 
384
 
 
385
<p>
 
386
 
 
387
</div>
 
388
</div><p>
 
389
<a class="anchor" name="8d9a814ce49630832f7b03b0047dc147"></a><!-- doxytag: member="TechnoExt::AlphaExt" ref="8d9a814ce49630832f7b03b0047dc147" args="" -->
 
390
<div class="memitem">
 
391
<div class="memproto">
 
392
      <table class="memname">
 
393
        <tr>
 
394
          <td class="memname"><a class="el" href="classhash__map.html">hash_AlphaExt</a> <a class="el" href="class_techno_ext.html#8d9a814ce49630832f7b03b0047dc147">TechnoExt::AlphaExt</a><code> [static]</code>          </td>
 
395
        </tr>
 
396
      </table>
 
397
</div>
 
398
<div class="memdoc">
 
399
 
 
400
<p>
 
401
 
 
402
</div>
 
403
</div><p>
 
404
<a class="anchor" name="3cdb7f8ccc49548f0b621ff80df0e8fb"></a><!-- doxytag: member="TechnoExt::ExtMap" ref="3cdb7f8ccc49548f0b621ff80df0e8fb" args="" -->
 
405
<div class="memitem">
 
406
<div class="memproto">
 
407
      <table class="memname">
 
408
        <tr>
 
409
          <td class="memname"><a class="el" href="class_container.html">Container</a>&lt; <a class="el" href="class_techno_ext.html">TechnoExt</a> &gt; <a class="el" href="class_techno_ext.html#3cdb7f8ccc49548f0b621ff80df0e8fb">TechnoExt::ExtMap</a><code> [static]</code>          </td>
 
410
        </tr>
 
411
      </table>
 
412
</div>
 
413
<div class="memdoc">
 
414
 
 
415
<p>
 
416
 
 
417
</div>
 
418
</div><p>
 
419
<a class="anchor" name="3af090234190adb36352d45da32c38d1"></a><!-- doxytag: member="TechnoExt::FiringStateCache" ref="3af090234190adb36352d45da32c38d1" args="" -->
 
420
<div class="memitem">
 
421
<div class="memproto">
 
422
      <table class="memname">
 
423
        <tr>
 
424
          <td class="memname">FireError <a class="el" href="class_techno_ext.html#3af090234190adb36352d45da32c38d1">TechnoExt::FiringStateCache</a> = -1<code> [static]</code>          </td>
 
425
        </tr>
 
426
      </table>
 
427
</div>
 
428
<div class="memdoc">
 
429
 
 
430
<p>
 
431
 
 
432
</div>
 
433
</div><p>
 
434
<a class="anchor" name="3ff06595758c870b0d7775f41a3226ef"></a><!-- doxytag: member="TechnoExt::NeedsRegap" ref="3ff06595758c870b0d7775f41a3226ef" args="" -->
 
435
<div class="memitem">
 
436
<div class="memproto">
 
437
      <table class="memname">
 
438
        <tr>
 
439
          <td class="memname">bool <a class="el" href="class_techno_ext.html#3ff06595758c870b0d7775f41a3226ef">TechnoExt::NeedsRegap</a> = false<code> [static]</code>          </td>
 
440
        </tr>
 
441
      </table>
 
442
</div>
 
443
<div class="memdoc">
 
444
 
 
445
<p>
 
446
 
 
447
</div>
 
448
</div><p>
 
449
<a class="anchor" name="bf2c9a99af7a9fe3034bf6bec585f4f9"></a><!-- doxytag: member="TechnoExt::SpotlightExt" ref="bf2c9a99af7a9fe3034bf6bec585f4f9" args="" -->
 
450
<div class="memitem">
 
451
<div class="memproto">
 
452
      <table class="memname">
 
453
        <tr>
 
454
          <td class="memname"><a class="el" href="classhash__map.html">hash_SpotlightExt</a> <a class="el" href="class_techno_ext.html#bf2c9a99af7a9fe3034bf6bec585f4f9">TechnoExt::SpotlightExt</a><code> [static]</code>          </td>
 
455
        </tr>
 
456
      </table>
 
457
</div>
 
458
<div class="memdoc">
 
459
 
 
460
<p>
 
461
 
 
462
</div>
 
463
</div><p>
 
464
<hr>The documentation for this class was generated from the following files:<ul>
 
465
<li>Ext/Techno/<a class="el" href="_techno_2_body_8h.html">Body.h</a><li>Ext/Techno/<a class="el" href="_techno_2_body_8cpp.html">Body.cpp</a><li>Ext/Techno/<a class="el" href="_hooks_8_alpha_8cpp.html">Hooks.Alpha.cpp</a><li>Ext/Techno/<a class="el" href="_hooks_8_spotlights_8cpp.html">Hooks.Spotlights.cpp</a></ul>
 
466
</div>
 
467
<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 18 03:51:10 2010 for Ares by&nbsp;
 
468
<a href="http://www.doxygen.org/index.html">
 
469
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
 
470
</body>
 
471
</html>