[Top][All Lists]
[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);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Stratagus-CVS] stratagus src/unit/ccl_unit.c doc/ccl/ccl-index...,
address@hidden <=