summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changelog-Trunk.txt3
-rw-r--r--conf-tmpl/charhelp.txt3
-rw-r--r--db/homunculus_db.txt8
-rw-r--r--db/item_db.txt2
-rw-r--r--db/pet_db.txt2
-rw-r--r--db/skill_unit_db.txt8
-rw-r--r--doc/item_bonus.txt1
-rw-r--r--doc/item_db.txt51
-rw-r--r--doc/script_commands.txt2
-rw-r--r--src/map/script.c47
-rw-r--r--src/map/status.c2
11 files changed, 72 insertions, 57 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt
index fb75eaa8f..0d0778ffc 100644
--- a/Changelog-Trunk.txt
+++ b/Changelog-Trunk.txt
@@ -3,6 +3,9 @@ Date Added
AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK.
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
+2007/02/26
+ * Corrected some typos and small details
+ (forgotten bInfiniteEndure [r6487], mysterious '1' in help file, etc)
2007/02/25
* Added Krade's makefile fix for 64bit compilers [ultramage]
- ref: http://www.eathena.ws/board/index.php?showtopic=136622
diff --git a/conf-tmpl/charhelp.txt b/conf-tmpl/charhelp.txt
index 92d6c5910..6ce1871f4 100644
--- a/conf-tmpl/charhelp.txt
+++ b/conf-tmpl/charhelp.txt
@@ -23,5 +23,4 @@
60:#disguise <monster_name_or_monster_ID> <char name> - Changes disguise of a player
60:#undisguise <char name> - Cancels disguise of a player
60:#changesex <name> - Changes sex of a player (all characters of the account)
- 60:#warp/#rura+ <mapname> <x> <y> <char name> - Warps character to location of choice
-1 \ No newline at end of file
+ 60:#warp/#rura+ <mapname> <x> <y> <char name> - Warps character to location of choice \ No newline at end of file
diff --git a/db/homunculus_db.txt b/db/homunculus_db.txt
index 2b52693cd..04baf4c01 100644
--- a/db/homunculus_db.txt
+++ b/db/homunculus_db.txt
@@ -11,7 +11,7 @@
6010,Amistr_H,320,10,20,17,35,11,24,12,21,32,60000,912,80,130,1,4,8,20,4,20,4,20,1,10,3,19,3,19,0,700,1,0,0,0
6011,Filir_H,90,25,29,35,9,8,30,9,21,32,60000,910,45,75,3,6,4,20,8,20,1,10,3,19,4,20,3,19,0,700,1,0,0,0
6012,Vanilmirth_H,80,11,11,11,11,11,11,11,21,32,60000,911,30,150,0,7,1,30,1,30,1,30,1,30,1,30,1,30,0,700,1,0,0,0
-6013,Lif2_H,150,40,17,20,15,35,24,12,21,32,60000,537,60,100,4,9,5,19,5,19,5,19,4,20,6,20,6,20,0,700,1,0,0,0
-6014,Amistr2_H,320,10,20,17,35,11,24,12,21,32,60000,912,80,130,1,4,8,20,4,20,4,20,1,10,3,19,3,19,0,700,1,0,0,0
-6015,Filir2_H,90,25,29,35,9,8,30,9,21,32,60000,910,45,75,3,6,4,20,8,20,1,10,3,19,4,20,3,19,0,700,1,0,0,0
-6016,Vanilmirth2_H,80,11,11,11,11,11,11,11,21,32,60000,911,30,150,0,7,1,30,1,30,1,30,1,30,1,30,1,30,0,700,1,0,0,0
+6013,Lif_H,150,40,17,20,15,35,24,12,21,32,60000,537,60,100,4,9,5,19,5,19,5,19,4,20,6,20,6,20,0,700,1,0,0,0
+6014,Amistr_H,320,10,20,17,35,11,24,12,21,32,60000,912,80,130,1,4,8,20,4,20,4,20,1,10,3,19,3,19,0,700,1,0,0,0
+6015,Filir_H,90,25,29,35,9,8,30,9,21,32,60000,910,45,75,3,6,4,20,8,20,1,10,3,19,4,20,3,19,0,700,1,0,0,0
+6016,Vanilmirth_H,80,11,11,11,11,11,11,11,21,32,60000,911,30,150,0,7,1,30,1,30,1,30,1,30,1,30,1,30,0,700,1,0,0,0
diff --git a/db/item_db.txt b/db/item_db.txt
index dba225ca1..b00fa9ec4 100644
--- a/db/item_db.txt
+++ b/db/item_db.txt
@@ -1,7 +1,7 @@
// Items Database
//
// Structure of Database:
-// ID,AegisName,Name,Type,Price,Sell,Weight,ATK,DEF,Range,Slot,Job,Upper,Gender,Loc,wLV,eLV,Refineable,View,{ Script },{ OnEquip_Script },{ OnUnequip_Script }
+// ID,AegisName,Name,Type,Buy,Sell,Weight,ATK,DEF,Range,Slots,Job,Upper,Gender,Loc,wLV,eLV,Refineable,View,{ Script },{ OnEquip_Script },{ OnUnequip_Script }
//
// Healing Items
//=============================================================
diff --git a/db/pet_db.txt b/db/pet_db.txt
index 5ade34608..6c88443f0 100644
--- a/db/pet_db.txt
+++ b/db/pet_db.txt
@@ -53,7 +53,7 @@
1110,DOKEBI,Dokebi,637,9019,10005,537,80,15,20,100,250,20,500,250,0,0,300,300,800,{ petskillattack 110,1,0,10; }
1113,DROPS,Drops,620,9002,10013,508,80,15,40,100,250,20,1500,400,1,0,300,400,500,{ petloot 10; }
1155,PETIT,Petit,640,9022,10011,537,80,15,20,100,250,20,500,200,0,0,800,400,100,{ petskillattack2 91,500,1,0,10; }
-1167,SAVAGE_BABE,Savage Bebe,627,9009,10015,537,80,9,40,100,250,20,1500,400,0,0,500,500,200,{ petskillbonus bVit,4,10,50; }
+1167,SAVAGE_BABE,Savage Babe,627,9009,10015,537,80,9,40,100,250,20,1500,400,0,0,500,500,200,{ petskillbonus bVit,4,10,50; }
1170,SOHEE,Sohee,638,9020,10016,537,80,20,10,100,250,20,500,300,0,0,100,1000,200,{ petheal 400,60,33,100; }
1188,BON_GUN,Bon Gun,659,9025,10020,537,80,20,10,100,250,20,500,200,1,0,600,200,400,{ petskillattack2 190,555,1,1,1; }
1200,ZHERLTHSH,Zherlthsh,660,9026,0,929,80,20,10,100,250,20,50,200,0,0,1000,100,500,{ petskillattack 136,1,0,3; }
diff --git a/db/skill_unit_db.txt b/db/skill_unit_db.txt
index 35b3ad979..7c0c65b19 100644
--- a/db/skill_unit_db.txt
+++ b/db/skill_unit_db.txt
@@ -18,7 +18,7 @@
//
// Notes:
// ------
-// 0x89,0x8a,0x8b 表示無し
+// 0x89,0x8a,0x8b without indication
//
// u1 u2 lay r intr target flag
//
@@ -33,7 +33,7 @@
79,0x84, , -1, 1,3000,enemy, 0x008 //PR_MAGNUS
80,0x87,0x88, 0, 1,2000,enemy, 0x002 //WZ_FIREPILLAR
83,0x86, , 0, 3,1000,enemy, 0x000 //WZ_METEOR
- 85,0x86,,0,6:6:6:6:6:6:6:6:6:6:8,1250,enemy,0x008 //WZ_VERMILION
+ 85,0x86, , 0, 6:6:6:6:6:6:6:6:6:6:8,1250,enemy,0x008 //WZ_VERMILION
87,0x8d, , -1, 0, -1,all, 0x000 //WZ_ICEWALL
89,0x86, , 0, 5, 450,enemy, 0x008 //WZ_STORMGUST
91,0x86, , 0, 2,1000,enemy, 0x000 //WZ_HEAVENDRIVE
@@ -55,7 +55,7 @@
285,0x9a, , 3, 0, -1,all, 0x000 //SA_VOLCANO
286,0x9b, , 3, 0, -1,all, 0x000 //SA_DELUGE
287,0x9c, , 3, 0, -1,all, 0x000 //SA_VIOLENTGALE
-288,0x9d,,3:3:4:4:5,0, -1,all, 0x000 //SA_LANDPROTECTOR
+288,0x9d, , 3:3:4:4:5,0, -1,all, 0x000 //SA_LANDPROTECTOR
306,0x9e, , 4, 0,6000,all, 0x200 //BD_LULLABY
307,0x9f, , 4, 0, -1,enemy, 0x210 //BD_RICHMANKIM
308,0xa0, , 4, 0, -1,enemy, 0x200 //BD_ETERNALCHAOS
@@ -92,4 +92,4 @@
521,0xbe, , 0, 1,1000,enemy, 0x000 //GS_GROUNDDRIFT
527,0xbc, , -1, 0,2000,enemy, 0x000 //NJ_TATAMIGAESHI
535,0xbd, , -1, 0, 200,enemy, 0x008 //NJ_KAENSIN
-538,0xbb,,1:1:1:2:2:2:3:3:3:4,0,-1,all,0x000 //NJ_SUITON
+538,0xbb, , 1:1:1:2:2:2:3:3:3:4,0,-1,all,0x000 //NJ_SUITON
diff --git a/doc/item_bonus.txt b/doc/item_bonus.txt
index 87af2f39c..bf92b4487 100644
--- a/doc/item_bonus.txt
+++ b/doc/item_bonus.txt
@@ -77,7 +77,6 @@ bonus bDefEle,n; Gives the player's defense element n
bonus bSplashRange n; Splash attack radius + n (e.g. n=1 makes a 3*3 cells area, n=2 a 5*5 area, etc | only the highest among all is applied)
bonus bSplashAddRange n; Splash attack radius + n (e.g. n=1 makes a 3*3 cells area, n=2 a 5*5 area, etc)
-bonus bInfiniteEndure,n; Unlimited Endure effect, n is meaningless
bonus bRestartFullRecover,n; When reviving, HP and SP are fully filled (n is meaningless)
bonus bNoCastCancel,n; Prevents casting from being interrupted when hit (does not work in GvG | n is meaningless)
bonus bNoCastCancel2,n; Prevents casting from being interrupted when hit (works even in GvG | n is meaningless)
diff --git a/doc/item_db.txt b/doc/item_db.txt
index dec53ffa9..72a14b915 100644
--- a/doc/item_db.txt
+++ b/doc/item_db.txt
@@ -3,33 +3,38 @@
- Explanation of the item_db.txt file and structure.
ID: Item id
-JName: Server name to reference the item in scripts and lookups, should use no
-spaces.
+
+AegisName: Server name to reference the item in scripts and lookups,
+ should use no spaces.
Name: Name in english for displaying as output for @ and script commands.
Type:
- 0 Healing item.
- 2 Usable item.
- 3 Etc item
- 4 Weapon
- 5 Armor/Garment/Boots/Headgear
- 6 Card
- 7 Pet egg
- 8 Pet equipment
- 10 Ammo (Arrows/Bullets/etc)
- 11 Usable with delayed consumption (item is lost from inventory after
- selecting a target, for use with skills and pet lures)
-
-Price: Default buying price. When not specified, becomes double the sell price.
-Sell: Default buying price. When not specified, becomes half the buy price.
+ 0 Healing item.
+ 2 Usable item.
+ 3 Etc item
+ 4 Weapon
+ 5 Armor/Garment/Boots/Headgear
+ 6 Card
+ 7 Pet egg
+ 8 Pet equipment
+ 10 Ammo (Arrows/Bullets/etc)
+ 11 Usable with delayed consumption (item is lost from inventory
+ after selecting a target, for use with skills and pet lures)
+
+Buy: Default buying price. When not specified, becomes double the sell price.
+
+Sell: Default selling price. When not specified, becomes half the buy price.
Weight: Item's weight. Each 10 is 1 weight.
ATK: Weapon's attack
+
DEF: Armor's defense
+
Range: Weapon's attack range
-Slot: Amount of slots item possesses.
+
+Slots: Amount of slots the item possesses.
Job: Equippable jobs. Uses the following bitmask table:
@@ -81,12 +86,14 @@ Loc: Equipment's placement. Values are:
2^7 128 = Accessory 2
wLV: Weapon level.
+
eLV: Base level required to be able to equip.
+
Refineable: 1 if the item can be refined, 0 otherwise.
View: For normal items, defines a replacement view-sprite for the item (eg:
- Making apples look like apple juice). The special case are weapons and ammo
- where this value indicates the weapon-class of the item.
+ Making apples look like apple juice). The special case are weapons
+ and ammo where this value indicates the weapon-class of the item.
For weapons, the types are:
0: bare fist
@@ -123,3 +130,9 @@ View: For normal items, defines a replacement view-sprite for the item (eg:
7: Kunais
Script: Script to execute when the item is used/equipped.
+
+OnEquip_Script: Script to execute when the item is equipped.
+ Warning, not all item bonuses will work here as expected.
+
+OnUnequip_Script: Script to execute when the item is unequipped.
+ Warning, not all item bonuses will work here as expected.
diff --git a/doc/script_commands.txt b/doc/script_commands.txt
index df602367d..c512e2b8e 100644
--- a/doc/script_commands.txt
+++ b/doc/script_commands.txt
@@ -2001,7 +2001,7 @@ Possible types are:
current level if leader leveled up recently).
If retrieval fails (leader not found or party does not exist), this function
-returns "null" instead of the character name, and -1 is for the other types.
+returns "null" instead of the character name, and -1 for the other types.
---------------------------------------
diff --git a/src/map/script.c b/src/map/script.c
index bc2b175f8..3edea1b80 100644
--- a/src/map/script.c
+++ b/src/map/script.c
@@ -5075,41 +5075,42 @@ BUILDIN_FUNC(copyarray)
}
return 0;
}
+
/*==========================================
- * 配列変数のサイズ所得
- *------------------------------------------
- */
-static int getarraysize(struct script_state *st,int num,int postfix,struct linkdb_node** ref)
+ * Returns the size of the specified array
+ *------------------------------------------*/
+static int getarraysize(struct script_state* st, int num, int postfix, struct linkdb_node** ref)
{
- int i=(num>>24),c=(i==0? -1:i); // Moded to -1 because even if the first element is 0, it will still report as 1 [Lance]
- if(postfix == '$'){
- for(;i<128;i++){
- void *v=get_val2(st,(num & 0x00FFFFFF)+(i<<24),ref);
- if(*((char*)v)) c=i;
+ //TODO: unreadable; remove +-1 trick, remove weird for loop, remove typecast
+ int i = (num>>24), c = (i==0?-1:i); // Moded to -1 because even if the first element is 0, it will still report as 1 [Lance]
+
+ if(postfix == '$') {
+ for(; i < 128; i++) {
+ void* v = get_val2(st, (num & 0x00FFFFFF) + (i<<24), ref);
+ if(*((char*)v)) c = i;
}
- }else{
- for(;i<128;i++){
- void *v=get_val2(st,(num & 0x00FFFFFF)+(i<<24),ref);
- if((int)v) c=i;
+ } else {
+ for(; i < 128; i++) {
+ void* v = get_val2(st, (num & 0x00FFFFFF) + (i<<24), ref);
+ if((int)v) c = i;
}
}
- return c+1;
+ return c + 1;
}
BUILDIN_FUNC(getarraysize)
{
- int num=st->stack->stack_data[st->start+2].u.num;
- char *name=str_buf+str_data[num&0x00ffffff].str;
- char prefix=*name;
- char postfix=name[strlen(name)-1];
+ int num = st->stack->stack_data[st->start+2].u.num;
+ char* name = str_buf + str_data[num&0x00ffffff].str;
+ char prefix = name[0], postfix = name[strlen(name)-1];
- if( prefix!='$' && prefix!='@' && prefix!='.' ){
- ShowWarning("buildin_copyarray: illegal scope !\n");
- push_val(st->stack,C_INT,0);
+ if( prefix != '$' && prefix != '@' && prefix != '.' ) {
+ ShowWarning("buildin_getarraysize: illegal scope !\n");
+ push_val(st->stack, C_INT, 0);
return 1;
}
- push_val(st->stack,C_INT,getarraysize(st,num,postfix,st->stack->stack_data[st->start+2].ref));
+ push_val(st->stack, C_INT, getarraysize(st, num, postfix, st->stack->stack_data[st->start+2].ref));
return 0;
}
/*==========================================
@@ -6146,7 +6147,7 @@ BUILDIN_FUNC(strcharinfo)
num=conv_num(st,& (st->stack->stack_data[st->start+2]));
switch(num){
case 0:
- push_str(st->stack,C_CONSTSTR,sd->status.name);
+ push_str(st->stack,C_STR,aStrdup(sd->status.name));
break;
case 1:
buf=buildin_getpartyname_sub(sd->status.party_id);
diff --git a/src/map/status.c b/src/map/status.c
index 48afad54a..28cabc71c 100644
--- a/src/map/status.c
+++ b/src/map/status.c
@@ -3656,7 +3656,7 @@ static unsigned short status_calc_speed(struct block_list *bl, struct status_cha
speed += 300;
if(sc->data[SC_GATLINGFEVER].timer==-1)
- { //% increases (they don't stack, with a few exception)
+ { //% increases (they don't stack, with a few exceptions)
if(sc->data[SC_SPEEDUP1].timer!=-1)
speed -= speed * 50/100;
else if(sc->data[SC_AVOID].timer!=-1)