Skip to content

Commit

Permalink
== 2013 Ragexe update ==
Browse files Browse the repository at this point in the history
=General
*Merged missing changes from 3ceam rev. 214 - 215

*Added full support for official banking system (Thanks to rAthena!)
-Added some other packets for 2013 Ragexes. (Please note: the packet versions have changed!)
-A client 2013-07-24aRagexe or later is required
-All banking systems now use the #BANKVAULT variable. So they're compatible to each other.

=Database
*ItemDB Updated
-Rosa Shield now got 14 Def (130 = renewal)
-Added full support for Rune Knight Rune Ores

=Scripts
*Marked isday() script command as deprecated
-Please consider using !isnight() instead

*Added full support for makerune script command

=Skills
*GC_RESEARCHNEWPOISON; GC_CREATENEWPOISON; GC_POISONINGWEAPON
-Added full support for these skills.

*Some other internal coding for 3rd job skills
  • Loading branch information
15peaces committed Jun 8, 2015
1 parent 4c206c1 commit 7e7af28
Show file tree
Hide file tree
Showing 35 changed files with 1,242 additions and 352 deletions.
17 changes: 17 additions & 0 deletions Changelog-15-3athena.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,23 @@
// * Modifications.
// - Details.
//========================================
06/08/2015
r58 [15peaces]
*Merged missing changes from 3ceam rev. 214 - 215
*ItemDB Updated
-Rosa Shield now got 14 Def (130 = renewal)
-Added full support for Rune Knight Rune Ores
*Marked isday() script command as deprecated
-Please consider using !isnight() instead
*Some other internal coding for 3rd job skills
*Added full support for makerune script command
*GC_RESEARCHNEWPOISON; GC_CREATENEWPOISON; GC_POISONINGWEAPON
-Added full support for these skills.
*Added full support for official banking system (Thanks to rAthena!)
-Added some other packets for 2013 Ragexes. (Please note: the packet versions have changed!)
-A client 2013-07-24aRagexe or later is required
-All banking systems now use the #BANKVAULT variable. So they're compatible to each other.

05/31/2015
r57 [15peaces]
*Merged missing changes from 3ceam rev. 212 - 213
Expand Down
4 changes: 4 additions & 0 deletions conf/battle/feature.conf
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,10 @@ feature.buying_store: on
// Requires: 2010-08-03aRagexeRE or later
feature.search_stores: on

// Banking (Note 1)
// Requires: 2013-07-24aRagexe or later
feature.banking: on

// Set this variable to kRO Episode you want the Server to run on. [15peaces]
// This feature is experimental right now. I'll extend its functionality from time to time.
// List of unsupported episodes:
Expand Down
35 changes: 18 additions & 17 deletions conf/log_athena.conf
Original file line number Diff line number Diff line change
Expand Up @@ -22,23 +22,24 @@
//--------------------------------------------------------------

// Enable Logs? (Note 3)
// 0x0000 - Don't log at all
// 0x0001 - (T) Log trades
// 0x0002 - (V) Log vending transactions
// 0x0004 - (P) Log items drop/picked by players
// 0x0008 - (L) Log items drop/looted by monsters
// 0x0010 - (S) Log NPC transactions (buy/sell)
// 0x0020 - (N) Log Script transactions (items deleted/acquired through quests)
// 0x0040 - (D) Log items stolen from mobs (Steal/Gank)
// 0x0080 - (C) Log player-used items
// 0x0100 - (O) Log produced/ingredient items
// 0x0200 - (U) Log MVP prize items
// 0x0400 - (A) Log player created/deleted items (through @/# commands)
// 0x0800 - (R) Log items placed/retrieved from storage.
// 0x1000 - (G) Log items placed/retrieved from guild storage.
// 0x2000 - (E) Log mail system transactions.
// 0x4000 - (I) Log auction system transactions.
// 0x8000 - (B) Log buying store transactions
// 0x00000 - Don't log at all
// 0x00001 - (T) Log trades
// 0x00002 - (V) Log vending transactions
// 0x00004 - (P) Log items drop/picked by players
// 0x00008 - (L) Log items drop/looted by monsters
// 0x00010 - (S) Log NPC transactions (buy/sell)
// 0x00020 - (N) Log Script transactions (items deleted/acquired through quests)
// 0x00040 - (D) Log items stolen from mobs (Steal/Gank)
// 0x00080 - (C) Log player-used items
// 0x00100 - (O) Log produced/ingredient items
// 0x00200 - (U) Log MVP prize items
// 0x00400 - (A) Log player created/deleted items (through @/# commands)
// 0x00800 - (R) Log items placed/retrieved from storage.
// 0x01000 - (G) Log items placed/retrieved from guild storage.
// 0x02000 - (E) Log mail system transactions.
// 0x04000 - (I) Log auction system transactions.
// 0x08000 - (B) Log buying store transactions
// 0x10000 - (K) Log account bank transactions
// Example: Log trades+vending+script items+created items: 1+2+32+1024 = 1059
enable_logs: 0xFFFF

Expand Down
3 changes: 2 additions & 1 deletion conf/map_athena.conf
Original file line number Diff line number Diff line change
Expand Up @@ -110,11 +110,12 @@ minsave_time: 100
// 16: After successfully sending a mail with attachment
// 32: After successfully submitting an item for auction
// 64: After successfully get/delete/complete a quest
// 128: After every bank transaction (deposit/withdraw)
// NOTE: These settings decrease the chance of dupes/lost items when there's a
// server crash at the expense of increasing the map/char server lag. If your
// server rarely crashes, but experiences interserver lag, you may want to set
// these off.
save_settings: 127
save_settings: 255

// Message of the day file, when a character logs on, this message is displayed.
motd_txt: conf/motd.txt
Expand Down
3 changes: 3 additions & 0 deletions conf/msg_athena.conf
Original file line number Diff line number Diff line change
Expand Up @@ -605,6 +605,9 @@
719: Guild invitation is disabled.
720: Cannot expel guild member in current state.
721: You have been joined to guild [%s].
//Banking
722: You can't withdraw that much money
723: Banking is disabled

// Cell PVP [Napster]
800: Walking failed. [%s] is cooling down. Wait %.1f minutes.
Expand Down
2 changes: 1 addition & 1 deletion db/item_db.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1144,7 +1144,7 @@
2145,Time_Keepr_Shield,Time Keeper Shield,5,30000,,0,,20,,0,0xFFFFFFFF,7,2,32,,1,1,3,{ bonus bMdef,1; },{},{}
2146,Siver_Guard,silver Guard,5,12500,,300,,60,,1,0xFFFFFFFF,7,2,32,,22,1,1,{},{},{}
2147,Round_Buckler,Round Buckleer,5,24000,,600,,90,,1,0xFFFFFFFE,2,2,32,,22,1,2,{},{},{}
2148,Rotha_Shield,Rosa Shield,5,56000,,1300,,3,,1,0xFFFFFFFF,7,2,32,,100,1,3,{},{},{}
2148,Rotha_Shield,Rosa Shield,5,56000,,1300,,140,,1,0xFFFFFFFF,7,2,32,,100,1,3,{},{},{}
2149,Upg_Guard,Upg Guard,5,20,,150,,25,,1,0xFFFFFFFF,7,2,32,,1,1,1,{},{},{}
2150,Upg_Buckler,Upg Buckler,5,20,,300,,45,,1,0x000ED5F2,7,2,32,,1,1,2,{},{},{}
2151,Upg_Shield,Upg Shield,5,20,,650,,65,,1,0x00004082,7,2,32,,1,1,3,{},{},{}
Expand Down
10 changes: 5 additions & 5 deletions db/item_db2.txt
Original file line number Diff line number Diff line change
Expand Up @@ -110,11 +110,11 @@
12733,Runstone_Hagalas,Hagalaz Rune,11,2,,100,,,,,0xFFFFFFFF,7,2,,,,,,{ itemskill "RK_STONEHARDSKIN",1; },{},{}

// Rune Knight Rune Ores
//12734,Runstone_Quality,Quality Rune,2,2,,100,,,,,0xFFFFFFFF,7,2,,,,,,{ makerune 5; },{},{}
//12735,Runstone_Ancient,Ancient Rune,2,2,,100,,,,,0xFFFFFFFF,7,2,,,,,,{ makerune 11; },{},{}
//12736,Runstone_Mystic,Mystic Rune,2,2,,100,,,,,0xFFFFFFFF,7,2,,,,,,{ makerune 14; },{},{}
//12737,Runstone_Ordinary,Ordinary Rune,2,2,,100,,,,,0xFFFFFFFF,7,2,,,,,,{ makerune 2; },{},{}
//12738,Runstone_Rare,Rare Rune,2,2,,100,,,,,0xFFFFFFFF,7,2,,,,,,{ makerune 8; },{},{}
12734,Runstone_Quality,Luxurious Rune,0,100,,100,,,,,0xFFFFFFFF,24,2,,,,,,{ makerune 1; },{},{}
12735,Runstone_Ancient,Ancient Rune,0,100,,100,,,,,0xFFFFFFFF,24,2,,,,,,{ makerune 2; },{},{}
12736,Runstone_Mystic,Mystic Rune,0,100,,100,,,,,0xFFFFFFFF,24,2,,,,,,{ makerune 3; },{},{}
12737,Runstone_Ordinary,General Rune,0,100,,100,,,,,0xFFFFFFFF,24,2,,,,,,{ makerune 4; },{},{}
12738,Runstone_Rare,Rare Rune,0,100,,100,,,,,0xFFFFFFFF,24,2,,,,,,{ makerune 5; },{},{}

// Rune Knight's 10th Rune
22540,Runstone_Luxanima,Lux Anima Rune,11,2,,100,,,,,0xFFFFFFFF,7,2,,,,,,{ itemskill "RK_LUXANIMA",1; },{},{}
Expand Down
108 changes: 77 additions & 31 deletions db/packet_db.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1763,41 +1763,87 @@ packet_ver: 30
0x0846,4,CashShopReqTab,2
0x08c9,2,CashShopSchedule,0
0x0848,-1,CashShopBuy,2

//2013-07-17 Ragexe
packet_ver: 31
0x0918,7,actionrequest,2:6
0x091E,10,useskilltoid,2:4:6
0x083C,5,walktoxy,2
0x02C4,6,ticksend,2
0x088C,5,changedir,2:4
0x08A9,6,takeitem,2
0x0917,6,dropitem,2:4
0x089B,8,movetokafra,2:4
0x0956,8,movefromkafra,2:4
0x0882,10,useskilltopos,2:4:6:8
0x0952,90,useskilltoposinfo,2:4:6:8:10
0x0958,6,getcharnamerequest,2
0x0967,6,solvecharname,2
0x0960,12,searchstoreinfolistitemclick,2:6:10
0x0819,2,searchstoreinfonextpage,0
0x086B,-1,searchstoreinfo,2:4:5:9:13:14:15
0x093B,-1,reqtradebuyingstore,2:4:8:12
0x0898,6,reqclickbuyingstore,2
0x096A,2,reqclosebuyingstore,0
0x08AA,-1,reqopenbuyingstore,2:4:8:9:89
0x0862,18,bookingregreq,2:4:6
// 0x08A6,8 CZ_JOIN_BATTLE_FIELD
0x0897,-1,itemlistwindowselected,2:4:8:12
0x091D,19,wanttoconnection,2:6:10:14:18
0x092F,26,partyinvite2,2
// 0x086C,4 CZ_GANGSI_RANK
0x0863,26,friendslistadd,2
0x088A,5,hommenu,2:4
0x095B,36,storagepassword,2:4:20
0x09A6,12,ZC_BANKING_CHECK,2:10
0x09A7,10,bankdeposit,2:6
0x09A8,16,ZC_ACK_BANKING_DEPOSIT,2:4:12
0x09A9,10,bankwithdrawal,2:6
0x09AA,16,ZC_ACK_BANKING_WITHDRAW,2:4:12
0x09AB,6,bankcheck,2
0x09B6,6,bankopen,2
0x09B7,4,ZC_ACK_OPEN_BANKING,2
0x09B8,6,bankclose,2
0x09B9,4,ZC_ACK_CLOSE_BANKING,2

//2013-07-31cRagexe
packet_ver: 31
0x0878,7,actionrequest,2:6
0x0865,10,useskilltoid,2:4:6
0x09ca,23 //ZC_SKILL_ENTRY5

//2013-08-07Ragexe
packet_ver: 32
0x0369,7,actionrequest,2:6
0x083C,10,useskilltoid,2:4:6
0x0437,5,walktoxy,2
0x095f,6,ticksend,2
0x0438,5,changedir,2:4
0x0935,6,takeitem,2
0x0962,6,dropitem,2:4
0x0941,8,movetokafra,2:4
0x094c,8,movefromkafra,2:4
0x0925,10,useskilltopos,2:4:6:8
0x095b,90,useskilltoposmoreinfo,2:4:6:8:10
0x088b,6,getcharnamerequest,2
0x0957,6,solvecharname,2
0x095d,12,searchstoreinfolistitemclick,2:6:10
0x0366,2,searchstoreinfonextpage,0
0x0894,-1,searchstoreinfo,2:4:5:9:13:14:15
0x0819,-1,reqtradebuyingstore,2:4:8:12
0x0863,6,reqclickbuyingstore,2
0x087e,2,reqclosebuyingstore,0
0x0897,-1,reqopenbuyingstore,2:4:8:9:89
0x0923,41,partybookingregisterreq,2:4
// 0x0895,8 // Unknown
0x0958,-1,itemlistwindowselected,2:4:8
0x092b,19,wanttoconnection,2:6:10:14:18
0x0956,26,partyinvite2,2
// 0x0889,4 // Unknown
0x022d,26,friendslistadd,2
0x092d,5,hommenu,2:4
0x0884,36,storagepassword,0
0x035F,6,ticksend,2
0x0202,5,changedir,2:4
0x07E4,6,takeitem,2
0x0362,6,dropitem,2:4
0x07EC,8,movetokafra,2:4
0x0364,8,movefromkafra,2:4
0x0438,10,useskilltopos,2:4:6:8
0x0366,90,useskilltoposinfo,2:4:6:8:10
0x096A,6,getcharnamerequest,2
0x0368,6,solvecharname,2
0x0838,12,searchstoreinfolistitemclick,2:6:10
0x0835,2,searchstoreinfonextpage,0
0x0819,-1,searchstoreinfo,2:4:5:9:13:14:15
0x0811,-1,reqtradebuyingstore,2:4:8:12
0x0360,6,reqclickbuyingstore,2
0x0817,2,reqclosebuyingstore,0
0x0815,-1,reqopenbuyingstore,2:4:8:9:89
0x0365,18,bookingregreq,2:4:6
//0x363,8 // CZ_JOIN_BATTLE_FIELD
0x0281,-1,itemlistwindowselected,2:4:8:12
0x022D,19,wanttoconnection,2:6:10:14:18
0x0802,26,partyinvite2,2
//0x436,4 // CZ_GANGSI_RANK
0x023B,26,friendslistadd,2
0x0361,5,hommenu,2:4
0x0887,36,storagepassword,2:4:20
0x09C1,10,ZC_C_MARKERINFO,2:6:8

//2013-12-23cRagexe~2014-04-16aRagexe
packet_ver: 32
packet_ver: 33
0x022d,19,wanttoconnection,2:6:10:14:18
0x0202,5,changedir,2:4
0x035f,6,ticksend,2
Expand Down Expand Up @@ -1827,4 +1873,4 @@ packet_ver: 32
0x097e,12//ZC_UPDATE_RANKING_POINT

//Add new packets here
//packet_ver: 33
//packet_ver: 34
20 changes: 12 additions & 8 deletions doc/script_commands.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3740,16 +3740,20 @@ Emperium is on and 0 if it isn't.
---------------------------------------

*isnight()
*isday()

These functions will return 1 or 0 depending on whether the server is in night
mode or day mode. 'isnight' returns 1 if it's night and 0 if it isn't, 'isday'
the other way around. They can be used interchangeably, pick the one you like
more:
This functions will return true or false depending on whether the server is in
night mode or day mode:

if (!isnight()) mes "I only prowl in the night.";

*isday()
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ /!\ This command is deprecated @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

// These two are equivalent:
if (isday()) mes "I only prowl in the night.";
if (isnight()!=1) mes "I only prowl in the night.";
This command is deprecated and it should not be used in new scripts, as it
is likely to be removed at a later time. Please consider using !isnight()
instead.

---------------------------------------
\\
Expand Down
8 changes: 4 additions & 4 deletions npc/cities/lighthalzen.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3222,7 +3222,7 @@ function script F_Lighthalzen_Bank {
mes "What can I do for you?";
mes "----------------------------";
mes "You got "+Zeny+"z with you";
mes "Stored: "+#bankstorage+"z";
mes "Stored: "+#BANKVAULT+"z";
next;
switch(select("I'd like to make a deposit.:I'd like to make a withdrawal.:Cancel")){
case 1:
Expand All @@ -3237,7 +3237,7 @@ function script F_Lighthalzen_Bank {
close;
}
set Zeny,Zeny - @deposit;
set #bankstorage,#bankstorage + @deposit;
set #BANKVAULT,#BANKVAULT + @deposit;
mes "Thank you very much... Your zeny is in good hands.";
close;
case 2:
Expand All @@ -3247,12 +3247,12 @@ function script F_Lighthalzen_Bank {
if (@withdrawl < 1){
mes "Don't play jokes with me please. Next time ask for a real amount.";
close;
}else if (@withdrawl > #bankstorage){
}else if (@withdrawl > #BANKVAULT){
mes "You don't have enough Zeny in your account.";
close;
}
set Zeny,Zeny + @withdrawl;
set #bankstorage,#bankstorage - @withdrawl;
set #BANKVAULT,#BANKVAULT - @withdrawl;
mes "There's your Zeny. Have a good day.";
close;
default:
Expand Down
10 changes: 5 additions & 5 deletions npc/custom/banks/bank.txt
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ Ldepocont:
if (@deposit > (Zeny - @cost)) goto Lneedzeny2;
set Zeny,Zeny - @deposit;
set Zeny,Zeny - @cost;
set #bankstorage,#bankstorage + @deposit;
set #BANKVAULT,#BANKVAULT + @deposit;
mes "[Banker]";
mes "Thank you very much... Your zeny is in good hands.";
close;
Expand All @@ -61,7 +61,7 @@ Lwithdrawl:
Lwithcont:
input @withdrawl;
if (@withdrawl < 1) goto Lrealamount;
if (@withdrawl > #bankstorage) goto Lneedzeny3;
if (@withdrawl > #BANKVAULT) goto Lneedzeny3;
if ((@cost > Zeny) && ((Zeny + @withdrawl) > @cost)) goto Lcostask;
if (@cost > Zeny) goto Lneedzeny2;
goto Lwithcont2;
Expand All @@ -76,15 +76,15 @@ Lwithcont:
mes "[Banker]";
mes "Ok then.";
set @withdrawl,@withdrawl - @cost;
set #bankstorage,#bankstorage - @cost;
set #BANKVAULT,#BANKVAULT - @cost;
set @cost,0;
next;
goto Lwithcont2;

Lwithcont2:
set Zeny,Zeny - @cost;
set Zeny,Zeny + @withdrawl;
set #bankstorage,#bankstorage - @withdrawl;
set #BANKVAULT,#BANKVAULT - @withdrawl;
mes "[Banker]";
mes "There's your Zeny. Have a good day.";
close;
Expand All @@ -96,7 +96,7 @@ Lbalance:
mes "*Rustle, Rustle*";
next;
mes "[Banker]";
mes "You currently have " + #bankstorage + " Zeny in your account.";
mes "You currently have " + #BANKVAULT + " Zeny in your account.";
close;

Lrealamount:
Expand Down
2 changes: 0 additions & 2 deletions src/char_sql/char.c
Original file line number Diff line number Diff line change
Expand Up @@ -1899,7 +1899,6 @@ static void char_auth_ok(int fd, struct char_session_data *sd)
int send_accounts_tologin(int tid, unsigned int tick, int id, intptr_t data);
void mapif_server_reset(int id);


/// Resets all the data.
void loginif_reset(void)
{
Expand Down Expand Up @@ -1976,7 +1975,6 @@ int parse_fromlogin(int fd)

switch( command )
{

// acknowledgement of connect-to-loginserver request
case 0x2711:
if (RFIFOREST(fd) < 3)
Expand Down
1 change: 1 addition & 0 deletions src/common/mmo.h
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,7 @@
//Max amount of a single stacked item
#define MAX_AMOUNT 30000
#define MAX_ZENY 1000000000
#define MAX_BANK_ZENY SINT32_MAX
#define MAX_FAME 1000000000
#define MAX_CART 100
#define MAX_SKILL 5016
Expand Down
2 changes: 1 addition & 1 deletion src/login/account_sql.c
Original file line number Diff line number Diff line change
Expand Up @@ -599,7 +599,7 @@ static bool mmo_auth_tosql(AccountDB_SQL* db, const struct mmo_account* acc, boo
if( is_new )
{// insert into account table
if( SQL_SUCCESS != SqlStmt_Prepare(stmt,
"INSERT INTO `%s` (`account_id`, `userid`, `user_pass`, `sex`, `email`, `level`, `state`, `unban_time`, `expiration_time`, `logincount`, `lastlogin`, `last_ip`, `birthdate`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",
"INSERT INTO `%s` (`account_id`, `userid`, `user_pass`, `sex`, `email`, `level`, `state`, `unban_time`, `expiration_time`, `logincount`, `lastlogin`, `last_ip`, `birthdate`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",
db->account_db)
|| SQL_SUCCESS != SqlStmt_BindParam(stmt, 0, SQLDT_INT, &acc->account_id, sizeof(acc->account_id))
|| SQL_SUCCESS != SqlStmt_BindParam(stmt, 1, SQLDT_STRING, acc->userid, strlen(acc->userid))
Expand Down
1 change: 0 additions & 1 deletion src/login/login.c
Original file line number Diff line number Diff line change
Expand Up @@ -554,7 +554,6 @@ int parse_fromchar(int fd)
char email[40] = "";
int gmlevel = 0;
char birthdate[10+1] = "";

int account_id = RFIFOL(fd,2);
RFIFOSKIP(fd,6);

Expand Down
Loading

0 comments on commit 7e7af28

Please sign in to comment.