stratagus-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Stratagus-CVS] stratagus src/unit/ccl_unit.c doc/ccl/ccl-index...


From: address@hidden
Subject: [Stratagus-CVS] stratagus src/unit/ccl_unit.c doc/ccl/ccl-index...
Date: 15 Dec 2003 08:35:52 +1100

CVSROOT:        /home/strat
Module name:    stratagus
Changes by:      <address@hidden>       03/12/15 08:35:52

Modified files:
        src/unit       : ccl_unit.c 
        doc/ccl        : ccl-index.html game.html 

Log message:
        Added GetUnits, Get/SetUnitMana

Patches:
Index: stratagus/doc/ccl/ccl-index.html
diff -u stratagus/doc/ccl/ccl-index.html:1.57 
stratagus/doc/ccl/ccl-index.html:1.58
--- stratagus/doc/ccl/ccl-index.html:1.57       Sun Nov 30 15:56:21 2003
+++ stratagus/doc/ccl/ccl-index.html    Mon Dec 15 08:35:51 2003
@@ -286,6 +286,8 @@
 <dd></dd>
 <dt><a href="game.html#get-this-player">get-this-player</a></dt>
 <dd></dd>
+<dt><a href="game.html#get-unit-mana">get-unit-mana</a></dt>
+<dd></dd>
 <dt><a href="unittype.html#get-unit-type-ident">get-unit-type-ident</a></dt>
 <dd></dd>
 <dt><a href="unittype.html#get-unit-type-name">get-unit-type-name</a></dt>
@@ -512,6 +514,8 @@
 <dd></dd>
 <dt><a href="triggers.html#set-trigger-number!">set-trigger-number!</a></dt>
 <dd></dd>
+<dt><a href="game.html#set-unit-mana!">set-unit-mana!</a></dt>
+<dd></dd>
 <dt><a href="unittype.html#set-unit-type-name!">set-unit-type-name!</a></dt>
 <dd></dd>
 <dt><a href="game.html#set-unit-unholy-armor!">set-unit-unholy-armor!</a></dt>
@@ -575,7 +579,7 @@
 <!-- SCRIPT END -->
 </dl>
 
-Last changed: $Id: ccl-index.html,v 1.57 2003/11/30 04:56:21 jsalmon3 Exp $<br>
+Last changed: $Id: ccl-index.html,v 1.58 2003/12/14 21:35:51 jsalmon3 Exp $<br>
 All trademarks and copyrights on this page are owned by their respective 
owners.
 <address>(c) 2002-2003 by <a href="http://stratagus.org";>
 The Stratagus Project</a></address></body></html>
Index: stratagus/doc/ccl/game.html
diff -u stratagus/doc/ccl/game.html:1.34 stratagus/doc/ccl/game.html:1.35
--- stratagus/doc/ccl/game.html:1.34    Thu Nov 20 13:28:34 2003
+++ stratagus/doc/ccl/game.html Mon Dec 15 08:35:51 2003
@@ -70,6 +70,7 @@
 <a href="#get-stratagus-library-path">get-stratagus-library-path</a>
 <a href="#get-player-resource">get-player-resource</a>
 <a href="#get-this-player">get-this-player</a>
+<a href="#get-unit-mana">get-unit-mana</a>
 <a href="#get-unit-unholy-armor">get-unit-unholy-armor</a>
 <a href="#group">group</a>
 <a href="#kill-unit">kill-unit</a>
@@ -97,6 +98,7 @@
 <a href="#set-player-resource!">set-player-resource!</a>
 <a href="#set-shared-vision!">set-shared-vision!</a>
 <a href="#set-this-player!">set-this-player!</a>
+<a href="#set-unit-mana!">set-unit-mana!</a>
 <a href="#set-unit-unholy-armor!">set-unit-unholy-armor!</a>
 <a href="#show-map-location">show-map-location</a>
 <a href="#shared-vision">shared-vision</a>
@@ -715,6 +717,25 @@
 
 <a href="../../data/ccl/wc2.ccl"> $LIBARYPATH/ccl/wc2.ccl </a>
 
+<a name="get-unit-mana"></a>
+<h3>(get-unit-mana unit)</h3>
+
+Get a unit's mana.
+
+
+<dl>
+<dt>unit</dt>
+<dd>Unit to get mana for.
+</dd>
+</dl>
+
+<h4>Example</h4>
+
+<pre>
+    (get-unit-mana unit)
+</pre>
+<h4>Not Used</h4>
+
 <a name="get-unit-unholy-armor"></a>
 <h3>(get-unit-unholy-armor)</h3>
 
@@ -1341,6 +1362,28 @@
 
 <a href="../../data/ccl/wc2.ccl"> $LIBARYPATH/ccl/wc2.ccl </a>
 
+<a name="set-unit-mana!"></a>
+<h3>(set-unit-mana! unit amount)</h3>
+
+Set the amount of mana for a unit.
+
+
+<dl>
+<dt>unit</dt>
+<dd>Unit to set the mana for.
+</dd>
+<dt>amount</dt>
+<dd>New amount of mana for the unit.
+</dd>
+</dl>
+
+<h4>Example</h4>
+
+<pre>
+    (set-unit-mana! unit 255)
+</pre>
+<h4>Not Used</h4>
+
 <a name="set-unit-unholy-armor!"></a>
 <h3>(set-unit-unholy-armor!)</h3>
 
@@ -1481,7 +1524,7 @@
 <a href="../../data/ccl/wc2.ccl"> $LIBARYPATH/ccl/wc2.ccl </a>
 
 <hr>
-Last changed: $Id: game.html,v 1.34 2003/11/20 02:28:34 jsalmon3 Exp $<br>
+Last changed: $Id: game.html,v 1.35 2003/12/14 21:35:51 jsalmon3 Exp $<br>
 All trademarks and copyrights on this page are owned by their respective 
owners.
 <address>(c) 2002-2003 by <a href="http://stratagus.org";>
 The Stratagus Project</a></address></body></html>
Index: stratagus/src/unit/ccl_unit.c
diff -u stratagus/src/unit/ccl_unit.c:1.84 stratagus/src/unit/ccl_unit.c:1.85
--- stratagus/src/unit/ccl_unit.c:1.84  Wed Dec 10 19:22:07 2003
+++ stratagus/src/unit/ccl_unit.c       Mon Dec 15 08:35:50 2003
@@ -26,7 +26,7 @@
 //      Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 //      02111-1307, USA.
 //
-//     $Id: ccl_unit.c,v 1.84 2003/12/10 08:22:07 wizzard Exp $
+//     $Id: ccl_unit.c,v 1.85 2003/12/14 21:35:50 jsalmon3 Exp $
 
 //@{
 
@@ -2246,6 +2246,128 @@
 #endif
 
 /**
+**     Get a player's units
+**
+**     @param player   Player number.
+**
+**     @return         Array of units.
+*/
+#if defined(USE_GUILE) || defined(USE_SIOD)
+#elif defined(USE_LUA)
+local int CclGetUnits(lua_State* l)
+{
+    int plynr;
+    int i;
+
+    if (lua_gettop(l) != 1) {
+       lua_pushstring(l, "incorrect argument");
+       lua_error(l);
+    }
+
+    plynr = TriggerGetPlayer(l);
+
+    lua_newtable(l);
+    if (plynr == -1) {
+       for (i = 0; i < NumUnits; ++i) {
+           lua_pushnumber(l, Units[i]->Slot);
+           lua_rawseti(l, -2, i + 1);
+       }
+    } else {
+       for (i = 0; i < Players[plynr].TotalNumUnits; ++i) {
+           lua_pushnumber(l, Players[plynr].Units[i]->Slot);
+           lua_rawseti(l, -2, i + 1);
+       }
+    }
+    return 1;
+}
+#endif
+
+/**
+**     Get the mana of the unit structure.
+**
+**     @param ptr      Unit object.
+**
+**     @return         The mana of the unit.
+*/
+#if defined(USE_GUILE) || defined(USE_SIOD)
+local SCM CclGetUnitMana(SCM ptr)
+{
+    const Unit* unit;
+
+    unit = CclGetUnit(ptr);
+    return gh_int2scm(unit->Mana);
+}
+#elif defined(USE_LUA)
+local int CclGetUnitMana(lua_State* l)
+{
+    const Unit* unit;
+
+    if (lua_gettop(l) != 1) {
+       lua_pushstring(l, "incorrect argument");
+       lua_error(l);
+    }
+
+    unit = CclGetUnit(l);
+    lua_pushnumber(l, unit->Mana);
+    return 1;
+}
+#endif
+
+/**
+**     Set the mana of the unit structure.
+**
+**     @param ptr      Unit object.
+**     @param value    The value to set.
+**
+**     @return         The new mana of the unit.
+*/
+#if defined(USE_GUILE) || defined(USE_SIOD)
+local SCM CclSetUnitMana(SCM ptr, SCM value)
+{
+    Unit* unit;
+    int mana;
+
+    unit = CclGetUnit(ptr);
+    mana = gh_scm2int(value);
+    if (unit->Type->CanCastSpell && unit->Type->_MaxMana) {
+       if (mana > unit->Type->_MaxMana) {
+           unit->Mana = unit->Type->_MaxMana;
+       } else {
+           unit->Mana = mana;
+       }
+    }
+
+    return gh_int2scm(mana);
+}
+#elif defined(USE_LUA)
+local int CclSetUnitMana(lua_State* l)
+{
+    Unit* unit;
+    int mana;
+
+    if (lua_gettop(l) != 2) {
+       lua_pushstring(l, "incorrect argument");
+       lua_error(l);
+    }
+
+    lua_pushvalue(l, 1);
+    unit = CclGetUnit(l);
+    lua_pop(l, 1);
+    mana = LuaToNumber(l, 2);
+    if (unit->Type->CanCastSpell && unit->Type->_MaxMana) {
+       if (mana > unit->Type->_MaxMana) {
+           unit->Mana = unit->Type->_MaxMana;
+       } else {
+           unit->Mana = mana;
+       }
+    }
+
+    lua_pushnumber(l, mana);
+    return 1;
+}
+#endif
+
+/**
 **     Get the unholy-armor of the unit structure.
 **
 **     @param ptr      Unit object.
@@ -2437,6 +2559,8 @@
     gh_new_procedure4_0("kill-unit-at", CclKillUnitAt);
 
     // unit member access functions
+    gh_new_procedure1_0("get-unit-mana", CclGetUnitMana);
+    gh_new_procedure2_0("set-unit-mana!", CclSetUnitMana);
     gh_new_procedure1_0("get-unit-unholy-armor", CclGetUnitUnholyArmor);
     gh_new_procedure2_0("set-unit-unholy-armor!", CclSetUnitUnholyArmor);
 
@@ -2456,7 +2580,11 @@
     lua_register(Lua, "KillUnit", CclKillUnit);
     lua_register(Lua, "KillUnitAt", CclKillUnitAt);
 
+    lua_register(Lua, "GetUnits", CclGetUnits);
+
     // unit member access functions
+    lua_register(Lua, "GetUnitMana", CclGetUnitMana);
+    lua_register(Lua, "SetUnitMana", CclSetUnitMana);
     lua_register(Lua, "GetUnitUnholyArmor", CclGetUnitUnholyArmor);
     lua_register(Lua, "SetUnitUnholyArmor", CclSetUnitUnholyArmor);
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]