Merge branch 'rathena/master'
This commit is contained in:
commit
701a0580d2
1
.gitignore
vendored
1
.gitignore
vendored
@ -5,6 +5,7 @@
|
||||
.DS_Store
|
||||
|
||||
# /
|
||||
/*_fifo
|
||||
/*.exe
|
||||
/*.ilk
|
||||
/*.log
|
||||
|
93
athena-start
93
athena-start
@ -5,6 +5,7 @@
|
||||
inst_launch_workaround
|
||||
|
||||
PATH=./:$PATH
|
||||
LOG_DIR="./log"
|
||||
|
||||
print_start() {
|
||||
# more << EOF
|
||||
@ -29,8 +30,8 @@ get_status(){
|
||||
start_serv(){
|
||||
get_status $1
|
||||
if [ $2 ]; then #is logging on ?
|
||||
LOGFILE="log/$1.launch.log"
|
||||
LOGRUN="log/$1.log"
|
||||
LOGFILE="$LOG_DIR/$1.launch.log"
|
||||
LOGRUN="$LOG_DIR/$1.log"
|
||||
FIFO="$1_fifo"
|
||||
echo "stat_serv, log is enabled"
|
||||
echo "My logfile=${LOGFILE}"
|
||||
@ -54,30 +55,40 @@ start_serv(){
|
||||
fi
|
||||
}
|
||||
|
||||
#experimental
|
||||
watch_serv(){
|
||||
LOGFILE="log/$1.launch.log"
|
||||
LOGRUN="log/$1.log"
|
||||
FIFO="$1_fifo"
|
||||
ulimit -Sc unlimited
|
||||
|
||||
#now checking status and looping
|
||||
count=0;
|
||||
while true; do
|
||||
get_status $1
|
||||
if [ -z ${PSRUN} ]; then
|
||||
$count=$count+1
|
||||
echo "server '$1' is down" | tee ${LOGFILE}
|
||||
echo "restarting server at time at `date +"%m-%d-%H:%M-%S"`" | tee ${LOGFILE}
|
||||
if [ -e ./${FIFO} ]; then rm "$FIFO"; fi
|
||||
mkfifo "$FIFO"; tee "$LOGRUN" < "$FIFO" & "./$1" > "$FIFO" 2>&1 & PID=$!
|
||||
echo "$PID" > .$1.pid
|
||||
if [ $3 ] && [ $3 -lt $count ]; then break; fi
|
||||
else sleep $2
|
||||
fi
|
||||
for i in ${L_SRV} ${C_SRV} ${M_SRV}
|
||||
do
|
||||
LOGFILE="$LOG_DIR/$i.launch.log"
|
||||
LOGRUN="$LOG_DIR/$i.log"
|
||||
FIFO=$i"_fifo"
|
||||
|
||||
get_status $i
|
||||
#echo "Echo id of $i is ${PSRUN}"
|
||||
if [ -z ${PSRUN} ]; then
|
||||
count=$((count+1))
|
||||
#echo "fifo=$FIFO"
|
||||
echo "server '$i' is down"
|
||||
echo "server '$i' is down" >> ${LOGFILE}
|
||||
echo "restarting server at time at `date +"%m-%d-%H:%M-%S"`"
|
||||
echo "restarting server at time at `date +"%m-%d-%H:%M-%S"`" >> ${LOGFILE}
|
||||
if [ -e $FIFO ]; then rm $FIFO; fi
|
||||
mkfifo "$FIFO"; tee "$LOGRUN" < "$FIFO" & "./$i" > "$FIFO" 2>&1 & PID=$!
|
||||
echo "$PID" > .$i.pid
|
||||
if [ $2 ] && [ $2 -lt $count ]; then break; fi
|
||||
fi
|
||||
done
|
||||
sleep $1
|
||||
done
|
||||
}
|
||||
|
||||
restart(){
|
||||
$0 stop
|
||||
if [ $1 ]; then sleep $1; fi
|
||||
for i in ${L_SRV} ${C_SRV} ${M_SRV}
|
||||
do
|
||||
FIFO="$1_fifo"
|
||||
@ -101,7 +112,8 @@ case $1 in
|
||||
echo "Looks good, a nice Athena!"
|
||||
if [ "$2" = "--enlog" ]; then
|
||||
ENLOG=1
|
||||
echo "Logging is enable"
|
||||
if [ ! -d "$LOG_DIR" ]; then mkdir -p $LOG_DIR; fi
|
||||
echo "Logging is enable in $LOG_DIR"
|
||||
else
|
||||
echo "Logging is disable"
|
||||
fi
|
||||
@ -112,10 +124,15 @@ case $1 in
|
||||
echo "Now Started Athena."
|
||||
;;
|
||||
'watch')
|
||||
if [ ! -d "$LOG_DIR" ]; then mkdir -p $LOG_DIR; fi
|
||||
if [ -z $2 ]; then Restart_count=10; else Restart_count=$2; fi
|
||||
if [ -z $3 ]; then Restart_sleep=3; else Restart_sleep=$3; fi
|
||||
echo " Gonna watch rA for Restart_count = $Restart_count, Restart_sleep= $Restart_sleep"
|
||||
for i in ${L_SRV} ${C_SRV} ${M_SRV}
|
||||
do
|
||||
watch_serv $i 10 3
|
||||
do
|
||||
start_serv $i 1
|
||||
done
|
||||
watch_serv $Restart_count $Restart_sleep
|
||||
echo "Now watching Athena."
|
||||
;;
|
||||
'stop')
|
||||
@ -138,9 +155,41 @@ case $1 in
|
||||
if [ ${PSRUN} ]; then echo "'${i}' is running p${PSRUN}"; else echo "'${i}' seem down"; fi
|
||||
done
|
||||
;;
|
||||
'help')
|
||||
case $2 in
|
||||
'start')
|
||||
echo "syntaxe: 'start {--enlog}'"
|
||||
echo "This option will starts the servs"
|
||||
echo "--enlog will tee all terminal output into a log/$servname.log file"
|
||||
;;
|
||||
'stop')
|
||||
echo "This option will shutdowns the servs'"
|
||||
;;
|
||||
'restart')
|
||||
echo "syntaxe: 'restart {<delay>}'"
|
||||
echo "This option will wait delay then will attempt to restart the servs"
|
||||
echo "NB, even if delay is over it will wait the pid is finished before atetmpting to restart servs"
|
||||
;;
|
||||
'status')
|
||||
echo "This option let you know if the server are running or not"
|
||||
echo "NB this option is based on PID and supposed you have launch the serv by this script"
|
||||
echo " If it wasn't the case please use something like 'ps ax | grep server' to know their status"
|
||||
;;
|
||||
'watch')
|
||||
echo "syntaxe: 'watch {<restart_intervall> <restart_count>}'"
|
||||
echo "The watch option allow you to auto restart the server when this one was stopped"
|
||||
echo "<restart_intervall> delay in second before recheking if server are down (default 10) "
|
||||
echo "<restart_count> how many time should we restart servs (default 3), (-1=undefinitly)"
|
||||
;;
|
||||
*)
|
||||
echo "Please specify a command you'll like more info { start | stop | restart | status | watch }"
|
||||
read -p "Enter a valid command: " readEnterKey
|
||||
$0 "help" $readEnterKey
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
*)
|
||||
echo "Usage: athena-start { start | stop | restart | status | watch }"
|
||||
echo "option --enlog will tee output into a logfile"
|
||||
echo "Usage: athena-start { start | stop | restart | status | watch | help }"
|
||||
read -p "Enter a valid option: " readEnterKey
|
||||
$0 $readEnterKey
|
||||
;;
|
||||
|
@ -380,6 +380,7 @@ mf_nolockon 58
|
||||
mf_notomb 59
|
||||
mf_skill_damage 60
|
||||
|
||||
//'setcell' types
|
||||
cell_walkable 0
|
||||
cell_shootable 1
|
||||
cell_water 2
|
||||
@ -388,6 +389,8 @@ cell_basilica 4
|
||||
cell_landprotector 5
|
||||
cell_novending 6
|
||||
cell_nochat 7
|
||||
cell_malestrom 8
|
||||
cell_icewall 9
|
||||
|
||||
//cell_gettype 0
|
||||
cell_chkwall 1
|
||||
@ -403,6 +406,8 @@ cell_chkbasilica 10
|
||||
cell_chklandprotector 11
|
||||
cell_chknovending 12
|
||||
cell_chknochat 13
|
||||
cell_chkmaelstrom 14
|
||||
cell_chkicewall 15
|
||||
|
||||
StatusPoint 9 1
|
||||
BaseLevel 11 1
|
||||
|
@ -3586,7 +3586,7 @@
|
||||
5793,Ribbon_Of_Life,Ribbon Of Life,5,20,,0,,2,,0,0xFFFFFFFF,63,2,512,,1,0,575,{ bonus bInt,1; bonus bMdef,2; },{},{}
|
||||
5794,3D_Glasses_,3D Glasses,5,20,,0,,1,,0,0xFFFFFFFF,63,2,512,,1,0,661,{},{},{}
|
||||
5795,Red_Dress_Hat,Red Dress Hat,5,20,,0,,0,,0,0xFFFFFFFF,63,2,256,,1,1,670,{ bonus bMdef,7; },{},{}
|
||||
5796,Cheer_Scarf,Cheer Scarf,5,0,,0,,0,,0,0xFFFFFFFF,63,2,1,,1,0,369,{ bonus2 bExpAddRace,RC_Boss,10; bonus2 bExpAddRace,RC_NonBoss,10; },{},{}
|
||||
5796,Cheer_Scarf,Cheer Scarf,5,0,,0,,0,,0,0xFFFFFFFF,63,2,1,,1,0,369,{ bonus2 bExpAddRace,RC_Boss,10; bonus2 bExpAddRace,RC_NonBoss,10; bonus bMaxHP,200; bonus bMaxSP,50;},{},{}
|
||||
5797,Cheer_Scarf2,Cheer Scarf2,5,0,,0,,0,,0,0xFFFFFFFF,63,2,1,,1,0,369,{ bonus2 bExpAddRace,RC_Boss,20; bonus2 bExpAddRace,RC_NonBoss,20; },{},{}
|
||||
5798,Cheer_Scarf3,Cheer Scarf3,5,0,,0,,0,,0,0xFFFFFFFF,63,2,1,,1,0,369,{ bonus2 bExpAddRace,RC_Boss,30; bonus2 bExpAddRace,RC_NonBoss,30; },{},{}
|
||||
5799,Cheer_Scarf4,Cheer Scarf4,5,0,,0,,0,,0,0xFFFFFFFF,63,2,1,,1,0,369,{ bonus2 bExpAddRace,RC_Boss,40; bonus2 bExpAddRace,RC_NonBoss,40; },{},{}
|
||||
@ -3644,6 +3644,7 @@
|
||||
5851,Summer_Knight,Summer Knight,5,20,,0,,1,,0,0xFFFFFFFF,63,2,768,,60,0,138,{},{},{}
|
||||
5852,Easter_Egg_Shell,Easter Egg Shell,5,20,,500,,0,,0,0xFFFFFFFF,63,2,256,,40,1,537,{ bonus bDef,-7; bonus bMdef,-7; bonus2 bHPRegenRate,(MaxHp/100),10000; if (getrefine()>=7) bonus bFlee,2; if (getrefine() >= 9) bonus2 bSPRegenRate,(MaxSp/100),10000; },{},{}
|
||||
//
|
||||
5855,Fishing_Rod,Fishing Rod,5,10,,0,,0,,,0xFFFFFFFF,63,2,136,,,,,{},{},{}
|
||||
5856,Passion_FB_Hat,Passion FB Hat,5,20,,600,,2,,1,0xFFFFFFFF,63,2,256,,1,1,671,{ bonus bStr,2; bonus bDex,2; autobonus "{ bonus bFlee,-15; bonus2 bAddRace,RC_Boss,5; bonus2 bAddRace,RC_NonBoss,5; }",30,10000,0,"{ specialeffect2 EF_ENHANCE; }"; },{},{}
|
||||
5857,Cool_FB_Hat,Cool FB Hat,5,20,,600,,2,,1,0xFFFFFFFF,63,2,256,,1,1,672,{ bonus bInt,2; bonus bVit,2; autobonus3 "{ bonus bHealPower,20; }",150,5000,"AL_HEAL","{ specialeffect2 EF_HEAL3; }"; },{},{}
|
||||
5858,Victory_FB_Hat,Victory FB Hat,5,20,,600,,2,,1,0xFFFFFFFF,63,2,256,,1,1,673,{ bonus bInt,2; bonus bDex,2; autobonus "{ bonus bMatkRate,5; bonus bDef,-30; }",3,10000,BF_MAGIC,"{ specialeffect2 EF_SUFFRAGIUM; }"; },{},{}
|
||||
@ -4242,9 +4243,33 @@
|
||||
6747,Steel_Workpiece,Steel Workpiece,3,10,,0,,,,,,,,,,,,,{},{},{}
|
||||
//
|
||||
6755,Contaminated_Magic,Contaminated Magic,3,20,,10,,,,,,,,,,,,,{},{},{}
|
||||
6766,Tickets_Ice_Kingdom,Tickets Ice Kingdom,3,10,,0,,,,,,,,,,,,,{},{},{}
|
||||
6767,Summer_Festival_Coins,Summer Festival Coins,3,10,,0,,,,,,,,,,,,,{},{},{}
|
||||
6768,Shaved_Ice_For_Red_Beans,Shaved Ice For Red Beans,3,10,,0,,,,,,,,,,,,,{},{},{}
|
||||
6769,Sweet_Bread,Sweet Bread,3,10,,0,,,,,,,,,,,,,{},{},{}
|
||||
6770,Shark,Shark,3,10,,10,,,,,,,,,,,,,{},{},{}
|
||||
6771,Bonito,Bonito,3,10,,10,,,,,,,,,,,,,{},{},{}
|
||||
6772,Octopus,Octopus,3,10,,10,,,,,,,,,,,,,{},{},{}
|
||||
6773,Sea_Bream,Sea Bream,3,10,,10,,,,,,,,,,,,,{},{},{}
|
||||
6774,Piranha,Piranha,3,10,,10,,,,,,,,,,,,,{},{},{}
|
||||
6775,Salmon,Salmon,3,10,,10,,,,,,,,,,,,,{},{},{}
|
||||
6776,Eel,Eel,3,10,,10,,,,,,,,,,,,,{},{},{}
|
||||
6777,Carp,Carp,3,10,,10,,,,,,,,,,,,,{},{},{}
|
||||
6778,Squid,Squid,3,10,,10,,,,,,,,,,,,,{},{},{}
|
||||
6779,Mackerel,Mackerel,3,10,,10,,,,,,,,,,,,,{},{},{}
|
||||
6780,Crucian_Carp,Crucian Carp,3,10,,10,,,,,,,,,,,,,{},{},{}
|
||||
6781,Earthworms_Alive,Earthworms Alive,3,10,,10,,,,,,,,,,,,,{},{},{}
|
||||
6782,Fresh_Shrimp,Fresh Shrimp,3,10,,10,,,,,,,,,,,,,{},{},{}
|
||||
6784,Squid_Skewer,Squid Skewer,3,10,,0,,,,,,,,,,,,,{},{},{}
|
||||
6785,Source_Of_Fantasy,Source Of Fantasy,3,10,,0,,,,,,,,,,,,,{},{},{}
|
||||
6786,Squid_Barbecue,Squid Barbecue,3,10,,0,,,,,,,,,,,,,{},{},{}
|
||||
6787,Long_Firewood,Long Firewood,3,10,,0,,,,,,,,,,,,,{},{},{}
|
||||
6788,Rose_Knife,Rose Knife,3,10,,0,,,,,,,,,,,,,{},{},{}
|
||||
6789,Customized_Plates,Customized Plates,3,10,,0,,,,,,,,,,,,,{},{},{}
|
||||
//6790,Large_Stone,Large Stone,5,20,,100,,0,,0,0xFFFFFFFF,63,2,1024,,1,1,0,{ bonus2 bAddSize,2,1; },{},{}
|
||||
//6791,Medium_Stone,Medium Stone,5,20,,100,,0,,0,0xFFFFFFFF,63,2,1024,,1,1,0,{ bonus2 bAddSize,1,1; },{},{}
|
||||
//6792,Small_Stone,Small Stone,5,20,,100,,0,,0,0xFFFFFFFF,63,2,1024,,1,1,0,{ bonus2 bAddSize,0,1; },{},{}
|
||||
6797,11th_Anniversary_Coin,11th Anniversary Coin,3,10,,0,,,,,,,,,,,,,{},{},{}
|
||||
//
|
||||
7001,Mould_Powder,Mould Powder,3,466,,10,,,,,,,,,,,,,{},{},{}
|
||||
7002,Ogre_Tooth,Ogre Tooth,3,658,,10,,,,,,,,,,,,,{},{},{}
|
||||
@ -4282,7 +4307,7 @@
|
||||
7034,Red_Socks_With_Holes,Red Stocking,3,100,,10,,,,,,,,,,,,,{},{},{}
|
||||
7035,Matchstick,Matchstick,3,100,,10,,,,,,,,,,,,,{},{},{}
|
||||
7036,Fang_Of_Garm,Fang of Hatii,3,100,,10,,,,,,,,,,,,,{},{},{}
|
||||
7037,Trade_Coupon,Coupon,3,100,,10,,,,,,,,,,,,,{},{},{}
|
||||
7037,Trade_Coupon,Coupon,3,100,,0,,,,,,,,,,,,,{},{},{}
|
||||
7038,Yarn,Yarn,3,100,,10,,,,,,,,,,,,,{},{},{}
|
||||
7039,Novice_Nametag,Newbie Tag,3,0,,10,,,,,,,,,,,,,{},{},{}
|
||||
7040,Megaphone,Megaphone,3,1,,10,,,,,,,,,,,,,{},{},{}
|
||||
@ -5422,6 +5447,8 @@
|
||||
11552,Apple_Carrot_Salad,Apple Carrot Salad,0,0,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ percentheal rand(20,30),0; sc_start SC_AGIFOOD,180000,1; },{},{}
|
||||
11553,Casual_Stew,Casual Stew,0,0,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ percentheal rand(20,30),0; sc_start SC_VITFOOD,180000,1; },{},{}
|
||||
11554,Golden_Roasted_Apple,Golden Roasted Apple,0,0,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ percentheal rand(20,30),0; sc_start SC_DEXFOOD,180000,1; },{},{}
|
||||
11589,Cold_Snow_Cone,Cold Snow Cone,2,10,,50,,,,,0xFFFFFFFF,63,2,,,,,,{ percentheal 5,5; },{},{}
|
||||
11590,Skewer_No.5,Skewer No.5,3,10,,300,,,,,0xFFFFFFFF,63,2,,,,,,{},{},{}
|
||||
//
|
||||
11701,Girl_Bunch_Of_Flower,Girl's Bouquet,0,20,,50,,,,,0xFFFFFFFF,63,2,,,,,,{ itemheal rand(105,145),0; },{},{}
|
||||
11702,Moon_Cookie,Moon Cookie,0,0,,300,,,,,0xFFFFFFFF,63,2,,,,,,{ },{},{}
|
||||
@ -6283,6 +6310,7 @@
|
||||
12852,Wisdom_Scroll,Wisdom Scroll,2,20,,10,,,,,0xFFFFFFFF,63,2,,,,,,{},{},{}
|
||||
12853,Patron_Scroll,Patron Scroll,2,20,,10,,,,,0xFFFFFFFF,63,2,,,,,,{},{},{}
|
||||
12860,Mommy_Day_Cake,Mommy Day Cake,2,0,,200,,,,,0xFFFFFFFF,63,2,,,,,,{ percentheal 50,50; skilleffect "HP_ASSUMPTIO",0; sc_start SC_ASSUMPTIO,100000,5; },{},{}
|
||||
12863,Treasure_Chest_Summoned_II,Treasure Chest Summoned II,3,10,,0,,,,,0xFFFFFFFF,63,2,,,,,,{},{},{}
|
||||
12887,C_Wing_Of_Fly,C Wing Of Fly,11,0,,0,,,,,0xFFFFFFFF,63,2,,,,,,{ itemskill "AL_TELEPORT",1; },{},{}
|
||||
//
|
||||
12900,Battle_Manual_Box,Battle Manual Box,18,20,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ getitem 12208,10; },{},{}
|
||||
@ -7715,6 +7743,9 @@
|
||||
15101,Hardened_Breastplate,Hardened Breastplate,5,20,,1500,,20,,1,0xFFFFFFFF,63,2,16,,130,1,0,{},{},{}
|
||||
//
|
||||
15105,Kaftan,Kaftan,5,20,,400,,13,,1,0xFFFFFFFF,63,2,16,,0,1,0,{ bonus bMdef,3; bonus2 bSubRace,RC_Demon,5; bonus2 bSubRace,RC_Undead,5; },{},{}
|
||||
15110,Strength_Supplement_Equipment,Strength Supplement Equipment,5,10,,2000,,80,,,0x00000400,56,2,16,,100,1,,{ bonus bAtkRate,5+(getrefine()/4); },{},{}
|
||||
15111,Reinforced_Parts_Gloves,Reinforced Parts - Gloves,5,10,,3000,,110,,,0x00000400,56,2,16,,100,1,,{ bonus bUnbreakableArmor,1; bonus2 bSubSize,0,10; bonus2 bSubSize,1,10; if(getrefine()>=7){ bonus2 bSubSize,2,10; }; if(getrefine()>=9){ bonus2 bSubSize,0,5; bonus2 bSubSize,1,5; } },{},{}
|
||||
|
||||
// More Maces
|
||||
16000,Erde,Erde,4,20,,500,130,,1,2,0x0004C5B2,18,2,2,4,50,1,8,{ bonus2 bSkillAtk,"AM_ACIDTERROR",20; bonus2 bSkillAtk,"AM_DEMONSTRATION",20; bonus bMaxSP,50; bonus bHealPower,10; },{},{}
|
||||
16001,Red_Square_Bag,Red Square Bag,4,20,,500,130,,1,2,0x0004C5B2,18,2,2,3,50,1,8,{ bonus bMaxHP,200; bonus2 bSkillAtk,"AM_ACIDTERROR",20; bonus2 bSkillAtk,"AM_DEMONSTRATION",20; bonus2 bAddMonsterDropItem,501,50; bonus2 bAddMonsterDropItem,502,20; bonus2 bAddMonsterDropItem,503,20; bonus2 bAddMonsterDropItem,504,20; bonus2 bAddMonsterDropItem,505,10; if(readparam(bStr)>=95) bonus2 bAddEff,Eff_Stun,500; },{},{}
|
||||
@ -7741,6 +7772,11 @@
|
||||
16022,Nemesis_,Nemesis ,4,20,,900,120,,1,2,0x00008110,63,2,2,4,60,1,8,{ bonus bUnbreakableWeapon,0; bonus bAtkEle,Ele_Holy; },{},{}
|
||||
16023,Metal_Mace,Metal Mace,4,20,,0,80,,1,1,0x0004C5B3,63,2,2,3,1,1,8,{ bonus bUnbreakableWeapon,0; bonus bBaseAtk,(getrefine()*5); set .@i,((BaseLevel/10)>12)?12:(BaseLevel/10); if(.@i>2) bonus bBaseAtk,((.@i-2)*5); },{},{}
|
||||
16026,RWC_Memory_Mace,RWC Memory Mace,4,20,,800,100,,1,1,0x0004C5B2,63,2,2,3,1,1,8,{ bonus bUnbreakableWeapon,0; bonus bBaseAtk,(getrefine()/30)*30; if(getrefine()>=9){ set .@i,1; bonus3 bAutoSpellWhenHit,"BS_WEAPONPERFECT",1,10; } if(getrefine()>=6){ set .@rate,5*(.@i+1); bonus2 bAddRace,RC_Boss,5; bonus2 bAddRace,RC_NonBoss,5; } },{},{}
|
||||
16030,Pile_Bunker_S,Pile Bunker S,4,20,,3000,400,,1,,0x00000400,56,2,2,4,130,1,8,{ bonus bAspdRate,getrefine()/2; },{},{}
|
||||
16031,Pile_Bunker_P,Pile Bunker P,4,20,,4000,450,,1,,0x00000400,56,2,2,4,130,1,8,{ bonus bAtk,getrefine()*5; },{},{}
|
||||
16032,Pile_Bunker_T,Pile Bunker T,4,20,,3500,400,,1,,0x00000400,56,2,2,4,130,1,8,{ bonus bUseSPrate,getrefine()*-1; },{},{}
|
||||
16033,Robots_Mechanical_Arm,Robot's Mechanical Arm,4,20,,3000,195,,1,,0x00000400,56,2,2,4,130,1,8,{ bonus bUnbreakableWeapon,1; bonus bCritical,20; },{},{}
|
||||
|
||||
// More Rental Boxes
|
||||
16131,Lady_Tanee_Doll_Box,Lady Tanee Doll Box,18,20,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ getitem 5526,1; },{},{}
|
||||
16132,Lunatic_Hat_Box,Lunatic Hat Box,18,20,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ getitem 5527,1; },{},{}
|
||||
@ -8535,7 +8571,7 @@
|
||||
18879,Angry_Scorpion_Hat,Angry Scorpion Hat,5,10,,100,,5,,1,0xFFFFFFFF,63,2,256,,0,1,995,{ bonus bMdef,5; },{},{}
|
||||
18885,Jejecap,Jejecap,5,0,,100,,8,,0,0xFFFFFFFF,63,2,256,,70,1,1011,{ bonus bStr,2; bonus bInt,3; },{},{}
|
||||
18887,Aqua_Bunny_Band,Aqua Bunny Band,5,0,,100,,2,,1,0xFFFFFFFF,63,2,256,,0,1,1012,{ bonus bVit,3; bonus bMdef,5; },{},{}
|
||||
//18936,Golden_Fish_In_Mouth,Golden Fish In Mouth,5,10,,10,,1,,0,0xFFFFFFFF,63,2,1,,1,0,1081,{ /*bonus bAllStats,2; bonus bAtk,10; bonus bMatk,10; bonus2 bExpAddRace,RC_Fish,2; bonus2 bSubRace,RC_Fish,2;*/ },{},{}
|
||||
18936,Golden_Fish_In_Mouth,Golden Fish In Mouth,5,10,,10,,1,,0,0xFFFFFFFF,63,2,1,,1,0,1081,{ bonus bAllStats,2; bonus bAtk,10; bonus bMatk,10; bonus2 bExpAddRace,RC_Fish,2; bonus2 bSubRace,RC_Fish,2; },{},{}
|
||||
// Costume System
|
||||
19500,T_Mr_Smile,T Mr Smile,5,0,,0,,0,,0,0xFFFFFFFF,63,2,6144,,0,0,65,{ bonus bStr,2; },{},{}
|
||||
19501,T_Spinx_Helm,T Spinx Helm,5,0,,0,,0,,1,0xFFFFFFFF,63,2,5120,,0,0,137,{},{},{}
|
||||
@ -8612,7 +8648,8 @@
|
||||
19730,C_Snake_Hat,C Snake Hat,5,20,,10,,0,,0,0xFFFFFFFF,63,2,1024,,0,0,986,{},{},{}
|
||||
19746,C_Executioner_Hood,Executioner Hood,5,20,,0,,0,,0,0xFFFFFFFF,63,2,2048,,0,0,0,{},{},{}
|
||||
19829,C_Straw_Hat,C Straw Hat,5,20,,0,,0,,0,0xFFFFFFFF,63,2,1024,,0,0,146,{},{},{}
|
||||
//19856,Costume_Snow_Cone_Hat,Costume Snow Cone Hat,5,10,,0,,0,,0,0xFFFFFFFF,63,2,1024,,1,0,0,{ /*bonus2 bAddEle,Ele_Fire,5; bonus2 bMagicAddEle,Ele_Fire,5;*/ },{},{}
|
||||
19856,Costume_Snow_Cone_Hat,Costume Snow Cone Hat,5,10,,0,,0,,0,0xFFFFFFFF,63,2,1024,,1,0,0,{ bonus2 bAddEle,Ele_Fire,5; bonus2 bMagicAddEle,Ele_Fire,5; bonus2 bAddMonsterDropItem,11589,5; },{},{}
|
||||
19857,Costume_Crayfish_Hat,Costume Crayfish Hat,5,10,,10,,0,,,0xFFFFFFFF,63,2,1024,,1,,,{},{},{}
|
||||
19859,C_Flying_Angel,Flying Angel,5,20,,0,,0,,0,0xFFFFFFFF,63,2,1024,,0,0,264,{},{},{}
|
||||
19860,C_School_Criatura_Hat,School Criatura Hat,5,20,,0,,0,,0,0xFFFFFFFF,63,2,1024,,0,0,0,{},{},{}
|
||||
19861,C_Heart_Hairpin,Heart Hairpin,5,20,,0,,0,,0,0xFFFFFFFF,63,2,1024,,0,0,126,{},{},{}
|
||||
@ -8633,6 +8670,8 @@
|
||||
20707,Kirin_Wing,Kirin Wing,5,20,,0,,18,,0,0xFFFFFFFF,63,2,4,,0,1,6,{ bonus bAllStats,1; },{},{}
|
||||
20711,Manteau_Of_Diego,Manteau Of Diego,5,20,,600,,15,,1,0xFFFFFFFF,63,2,4,,0,1,0,{ bonus bInt,1; bonus bDex,1; bonus bMdef,3; },{},{}
|
||||
20724,Love_Dad_Wings_2012,Love Dad Wings 2012,5,0,,100,,15,,1,0xFFFFFFFF,63,2,4,,1,1,5,{},{},{}
|
||||
20733,Reinforced_Parts_Engine,Reinforced Parts - Engine,5,10,,1500,,25,,,0x00000400,56,2,4,,100,1,,{ bonus bDelayrate,-10; if(getrefine()>=7) {bonus2 bSubEle,0,10;}; if(getrefine()>=9) {bonus bDelayrate,-10;} },{},{}
|
||||
|
||||
// More 2-Handed Swords
|
||||
21000,Upg_Twohand_Sword,Upg Two-Handed Sword,4,20,,1500,100,,1,1,0x00004082,63,2,34,3,1,1,3,{ bonus bBaseAtk,(getrefine()*12); bonus bMatk,(getrefine()*5); if(BaseLevel>70) bonus bBaseAtk,(((BaseLevel-70)/10)*10); },{},{}
|
||||
21001,Velum_Claymore,Vellum Claymore,4,20,,3500,260,,1,0,0x00004082,63,2,34,4,95,1,3,{ bonus2 bAddRace,RC_DemiHuman,80; bonus2 bIgnoreDefRate,RC_DemiHuman,30; if(getrefine()>=6) { bonus2 bAddRace,RC_DemiHuman,40; } if(getrefine()>=9) { autobonus2 "{ bonus bShortWeaponDamageReturn,20; bonus bMagicDamageReturn,20; }",200,1000,BF_WEAPON,"{ specialeffect2 EF_REFLECTSHIELD; }"; } },{},{}
|
||||
@ -8640,8 +8679,9 @@
|
||||
21003,Muramasa_,Muramasa,4,20,,1000,155,,1,2,0x00004082,63,2,34,4,48,1,3,{},{},{}
|
||||
21004,Alca_Bringer_,Alca Bringer,4,20,,3400,280,,2,2,0x00004082,63,2,34,3,100,1,3,{},{},{}
|
||||
21005,Metal_Two_Hand_Sword,Metal Two Hand Sword,4,20,,0,95,,1,1,0x00004082,63,2,34,3,1,1,3,{ bonus bBaseAtk,(getrefine()*6); bonus bMatk,(getrefine()*2); set .@i,((BaseLevel/10)>12)?12:(BaseLevel/10); if(.@i>2) bonus bBaseAtk,((.@i-2)*5); },{},{}
|
||||
21011,Gigantic_Blade,Gigantic Blade,3,10,,5000,300,,,,0xFFFFFFFF,56,2,2,4,130,1,3,{ bonus bUnbreakableWeapon,1; bonus bAspdRate,-5; if(readparam(bStr)<=110){ bonus bAtk,-250; } },{},{}
|
||||
// New Items
|
||||
22045,Summer_Sandals,Summer Sandals,5,10,,200,,5,,0,0xFFFFFFFF,63,2,64,,0,1,0,{ /*bonus bFlee,5; bonus3 bAutoSpellWhenHit,"AL_INCAGI",10,50;*/},{},{}
|
||||
22045,Summer_Sandals,Summer Sandals,5,10,,200,,5,,0,0xFFFFFFFF,63,2,64,,0,1,0,{ bonus bFlee,5; bonus3 bAutoSpellWhenHit,"AL_INCAGI",10,50; },{},{}
|
||||
22514,Candy_Holder,Candy Holder,11,20,,10,,,,,0xFFFFFFFF,63,2,,,,,,{},{},{}
|
||||
22540,Runstone_Luxanima,Lux Anima Runestone,11,2,,100,,,,,0xFFFFFFFF,56,2,,,,,,{ itemskill "RK_LUXANIMA",1; },{},{}
|
||||
22558,Lucky_Bag,Lucky Bag,11,20,,10,,,,,0xFFFFFFFF,63,2,,,,,,{},{},{}
|
||||
@ -8651,8 +8691,13 @@
|
||||
22568,Nidhoggur_Summon_Scroll,Nidhoggur Summon Scroll,0,20,,100,,,,,0xFFFFFFFF,,,,,,,,{},{},{}
|
||||
22571,Easter_Egg,Easter Egg,11,10,,10,,,,,0xFFFFFFFF,63,2,,,,,,{},{},{}
|
||||
//22611,Packed_Envelope,Packed Envelope,11,10,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ /* TODO */ },{},{}
|
||||
//22612,Corrupt_Reagents,Corrupt Reagents,11,10,,50,,,,,0xFFFFFFFF,63,2,,,,,,{ /* TODO */ },{},{}
|
||||
//22613,Contaminated_Reagents,Contaminated Reagents,11,10,,50,,,,,0xFFFFFFFF,63,2,,,,,,{ /* TODO */ },{},{}
|
||||
22612,Corrupt_Reagents,Corrupt Reagents,11,10,,50,,,,,0xFFFFFFFF,63,2,,,,,,{ /* TODO */ },{},{}
|
||||
22613,Contaminated_Reagents,Contaminated Reagents,11,10,,50,,,,,0xFFFFFFFF,63,2,,,,,,{ /* TODO */ },{},{}
|
||||
22619,Ghost_Scroll,Ghost Scroll,3,10,,0,,,,,,,,,,,,,{},{},{}
|
||||
22620,Box_Of_Memories,Box Of Memories,3,10,,0,,,,,,,,,,,,,{},{},{}
|
||||
22621,Barbecued_Squid,Barbecued Squid,3,10,,250,,,,,,,,,,,,,{},{},{}
|
||||
22648,Angel_Ring_Package,Angel Ring Package,3,10,,10,,,,,,,,,,,,,{},{},{}
|
||||
22649,Devil_Ring_Package,Devil Ring Package,3,10,,10,,,,,,,,,,,,,{},{},{}
|
||||
22652,Briliant_Hat_Box,Brilliant Hat Box,2,10,,200,,,,,0xFFFFFFFF,63,2,,,,,,{ /* TODO */ },{},{}
|
||||
22675,Mysterious_Scroll,Mysterious Scroll,2,20,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ sc_start SC_INTFOOD,3600000,30; },{},{}
|
||||
22676,Hangul_Day_Event_Box,Hangul Day Event Box,2,20,,0,,,,,0xFFFFFFFF,63,2,,,0,,,{ getitem 22675,10; getitem 607,9; },{},{}
|
||||
|
@ -1236,7 +1236,7 @@
|
||||
//-- WL_READING_SB
|
||||
2231,5000,500,0,0,0,0,1000
|
||||
//-- WL_TELEKINESIS_INTENSE
|
||||
5012,1000,0,0,60000,0,300000,-1
|
||||
5012,1000,0,0,180000,0,300000,-1
|
||||
//==========================================
|
||||
|
||||
//===== Ranger =============================
|
||||
|
@ -28,7 +28,7 @@ Type:
|
||||
2 Usable item.
|
||||
3 Etc item
|
||||
4 Weapon
|
||||
5 Armor/Garment/Boots/Headgear
|
||||
5 Armor/Garment/Boots/Headgear/Accessory
|
||||
6 Card
|
||||
7 Pet egg
|
||||
8 Pet equipment
|
||||
@ -122,26 +122,26 @@ Gender: Gender restriction. 0 is female, 1 is male, 2 for both.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
Loc: Equipment's placement. Values are (hexadecimal):
|
||||
2^8 256 = Upper Headgear
|
||||
2^9 512 = Middle Headgear
|
||||
2^0 001 = Lower Headgear
|
||||
2^4 016 = Armor
|
||||
2^1 002 = Weapon
|
||||
2^5 032 = Shield
|
||||
2^2 004 = Garment
|
||||
2^6 064 = Footgear
|
||||
2^3 008 = Accessory 1
|
||||
2^7 128 = Accessory 2
|
||||
2^10 1024 = Costume Top Headgear
|
||||
2^11 2048 = Costume Mid Headgear
|
||||
2^12 4096 = Costume Low Headgear
|
||||
2^13 8192 = Costume Garment/Robe
|
||||
2^15 32768 = Ammo
|
||||
2^16 65536 = Shadow Armor
|
||||
2^17 131072 = Shadow Weapon
|
||||
2^18 262144 = Shadow Shield
|
||||
2^18 524288 = Shadow Shoes
|
||||
Loc: Equipment's placement. Values are:
|
||||
2^8 256 = Upper Headgear
|
||||
2^9 512 = Middle Headgear
|
||||
2^0 001 = Lower Headgear
|
||||
2^4 016 = Armor
|
||||
2^1 002 = Weapon
|
||||
2^5 032 = Shield
|
||||
2^2 004 = Garment
|
||||
2^6 064 = Footgear
|
||||
2^3 008 = Accessory 1
|
||||
2^7 128 = Accessory 2
|
||||
2^10 1024 = Costume Top Headgear
|
||||
2^11 2048 = Costume Mid Headgear
|
||||
2^12 4096 = Costume Low Headgear
|
||||
2^13 8192 = Costume Garment/Robe
|
||||
2^15 32768 = Ammo
|
||||
2^16 65536 = Shadow Armor
|
||||
2^17 131072 = Shadow Weapon
|
||||
2^18 262144 = Shadow Shield
|
||||
2^18 524288 = Shadow Shoes
|
||||
2^20 1048576 = Shadow Accessory 2
|
||||
2^21 2097152 = Shadow Accessory 1
|
||||
|
||||
|
@ -7248,8 +7248,7 @@ Each of these can be 'on' or 'off'. Together they define a cell's behavior.
|
||||
|
||||
This command lets you alter these flags for all map cells in the specified
|
||||
(x1,y1)-(x2,y2) rectangle. The 'flag' can be 0 or 1 (0:clear flag, 1:set flag).
|
||||
The 'type' defines which flag to modify. Possible options include cell_walkable,
|
||||
cell_shootable, cell_basilica. For a full list, see const.txt.
|
||||
The 'type' defines which flag to modify. Possible options see const.txt.
|
||||
|
||||
Example:
|
||||
|
||||
|
@ -3617,7 +3617,7 @@ REPLACE INTO `item_db_re` VALUES (5792,'Fish_Pin','Fish Pin',5,20,NULL,100,NULL,
|
||||
REPLACE INTO `item_db_re` VALUES (5793,'Ribbon_Of_Life','Ribbon Of Life',5,20,NULL,0,NULL,2,NULL,0,0xFFFFFFFF,63,2,512,NULL,'1',0,575,'bonus bInt,1; bonus bMdef,2;',NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (5794,'3D_Glasses_','3D Glasses',5,20,NULL,0,NULL,1,NULL,0,0xFFFFFFFF,63,2,512,NULL,'1',0,661,NULL,NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (5795,'Red_Dress_Hat','Red Dress Hat',5,20,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,256,NULL,'1',1,670,'bonus bMdef,7;',NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (5796,'Cheer_Scarf','Cheer Scarf',5,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,1,NULL,'1',0,369,'bonus2 bExpAddRace,RC_Boss,10; bonus2 bExpAddRace,RC_NonBoss,10;',NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (5796,'Cheer_Scarf','Cheer Scarf',5,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,1,NULL,'1',0,369,'bonus2 bExpAddRace,RC_Boss,10; bonus2 bExpAddRace,RC_NonBoss,10; bonus bMaxHP,200; bonus bMaxSP,50;',NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (5797,'Cheer_Scarf2','Cheer Scarf2',5,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,1,NULL,'1',0,369,'bonus2 bExpAddRace,RC_Boss,20; bonus2 bExpAddRace,RC_NonBoss,20;',NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (5798,'Cheer_Scarf3','Cheer Scarf3',5,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,1,NULL,'1',0,369,'bonus2 bExpAddRace,RC_Boss,30; bonus2 bExpAddRace,RC_NonBoss,30;',NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (5799,'Cheer_Scarf4','Cheer Scarf4',5,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,1,NULL,'1',0,369,'bonus2 bExpAddRace,RC_Boss,40; bonus2 bExpAddRace,RC_NonBoss,40;',NULL,NULL);
|
||||
@ -3675,6 +3675,7 @@ REPLACE INTO `item_db_re` VALUES (5850,'Golden_Savage_Hat','Golden Savage Hat',5
|
||||
REPLACE INTO `item_db_re` VALUES (5851,'Summer_Knight','Summer Knight',5,20,NULL,0,NULL,1,NULL,0,0xFFFFFFFF,63,2,768,NULL,'60',0,138,NULL,NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (5852,'Easter_Egg_Shell','Easter Egg Shell',5,20,NULL,500,NULL,0,NULL,0,0xFFFFFFFF,63,2,256,NULL,'40',1,537,'bonus bDef,-7; bonus bMdef,-7; bonus2 bHPRegenRate,(MaxHp/100),10000; if (getrefine()>=7) bonus bFlee,2; if (getrefine() >= 9) bonus2 bSPRegenRate,(MaxSp/100),10000;',NULL,NULL);
|
||||
#
|
||||
REPLACE INTO `item_db_re` VALUES (5855,'Fishing_Rod','Fishing Rod',5,10,NULL,0,NULL,0,NULL,NULL,0xFFFFFFFF,63,2,136,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (5856,'Passion_FB_Hat','Passion FB Hat',5,20,NULL,600,NULL,2,NULL,1,0xFFFFFFFF,63,2,256,NULL,'1',1,671,'bonus bStr,2; bonus bDex,2; autobonus "{ bonus bFlee,-15; bonus2 bAddRace,RC_Boss,5; bonus2 bAddRace,RC_NonBoss,5; }",30,10000,0,"{ specialeffect2 EF_ENHANCE; }";',NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (5857,'Cool_FB_Hat','Cool FB Hat',5,20,NULL,600,NULL,2,NULL,1,0xFFFFFFFF,63,2,256,NULL,'1',1,672,'bonus bInt,2; bonus bVit,2; autobonus3 "{ bonus bHealPower,20; }",150,5000,"AL_HEAL","{ specialeffect2 EF_HEAL3; }";',NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (5858,'Victory_FB_Hat','Victory FB Hat',5,20,NULL,600,NULL,2,NULL,1,0xFFFFFFFF,63,2,256,NULL,'1',1,673,'bonus bInt,2; bonus bDex,2; autobonus "{ bonus bMatkRate,5; bonus bDef,-30; }",3,10000,BF_MAGIC,"{ specialeffect2 EF_SUFFRAGIUM; }";',NULL,NULL);
|
||||
@ -4273,9 +4274,33 @@ REPLACE INTO `item_db_re` VALUES (6746,'Iron_Artifacts','Iron Artifacts',3,10,NU
|
||||
REPLACE INTO `item_db_re` VALUES (6747,'Steel_Workpiece','Steel Workpiece',3,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||
#
|
||||
REPLACE INTO `item_db_re` VALUES (6755,'Contaminated_Magic','Contaminated Magic',3,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (6766,'Tickets_Ice_Kingdom','Tickets Ice Kingdom',3,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (6767,'Summer_Festival_Coins','Summer Festival Coins',3,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (6768,'Shaved_Ice_For_Red_Beans','Shaved Ice For Red Beans',3,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (6769,'Sweet_Bread','Sweet Bread',3,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (6770,'Shark','Shark',3,10,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (6771,'Bonito','Bonito',3,10,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (6772,'Octopus','Octopus',3,10,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (6773,'Sea_Bream','Sea Bream',3,10,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (6774,'Piranha','Piranha',3,10,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (6775,'Salmon','Salmon',3,10,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (6776,'Eel','Eel',3,10,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (6777,'Carp','Carp',3,10,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (6778,'Squid','Squid',3,10,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (6779,'Mackerel','Mackerel',3,10,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (6780,'Crucian_Carp','Crucian Carp',3,10,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (6781,'Earthworms_Alive','Earthworms Alive',3,10,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (6782,'Fresh_Shrimp','Fresh Shrimp',3,10,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (6784,'Squid_Skewer','Squid Skewer',3,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (6785,'Source_Of_Fantasy','Source Of Fantasy',3,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (6786,'Squid_Barbecue','Squid Barbecue',3,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (6787,'Long_Firewood','Long Firewood',3,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (6788,'Rose_Knife','Rose Knife',3,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (6789,'Customized_Plates','Customized Plates',3,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||
#REPLACE INTO `item_db_re` VALUES (6790,'Large_Stone','Large Stone',5,20,NULL,100,NULL,0,NULL,0,0xFFFFFFFF,63,2,1024,NULL,'1',1,0,'bonus2 bAddSize,2,1;',NULL,NULL);
|
||||
#REPLACE INTO `item_db_re` VALUES (6791,'Medium_Stone','Medium Stone',5,20,NULL,100,NULL,0,NULL,0,0xFFFFFFFF,63,2,1024,NULL,'1',1,0,'bonus2 bAddSize,1,1;',NULL,NULL);
|
||||
#REPLACE INTO `item_db_re` VALUES (6792,'Small_Stone','Small Stone',5,20,NULL,100,NULL,0,NULL,0,0xFFFFFFFF,63,2,1024,NULL,'1',1,0,'bonus2 bAddSize,0,1;',NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (6797,'11th_Anniversary_Coin','11th Anniversary Coin',3,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||
#
|
||||
REPLACE INTO `item_db_re` VALUES (7001,'Mould_Powder','Mould Powder',3,466,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (7002,'Ogre_Tooth','Ogre Tooth',3,658,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||
@ -4313,7 +4338,7 @@ REPLACE INTO `item_db_re` VALUES (7033,'Poison_Spore','Poison Spore',3,114,NULL,
|
||||
REPLACE INTO `item_db_re` VALUES (7034,'Red_Socks_With_Holes','Red Stocking',3,100,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (7035,'Matchstick','Matchstick',3,100,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (7036,'Fang_Of_Garm','Fang of Hatii',3,100,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (7037,'Trade_Coupon','Coupon',3,100,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (7037,'Trade_Coupon','Coupon',3,100,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (7038,'Yarn','Yarn',3,100,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (7039,'Novice_Nametag','Newbie Tag',3,0,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (7040,'Megaphone','Megaphone',3,1,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||
@ -5453,6 +5478,8 @@ REPLACE INTO `item_db_re` VALUES (11551,'Savory_Herb_Salad','Savory Herb Salad',
|
||||
REPLACE INTO `item_db_re` VALUES (11552,'Apple_Carrot_Salad','Apple Carrot Salad',0,0,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'percentheal rand(20,30),0; sc_start SC_AGIFOOD,180000,1;',NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (11553,'Casual_Stew','Casual Stew',0,0,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'percentheal rand(20,30),0; sc_start SC_VITFOOD,180000,1;',NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (11554,'Golden_Roasted_Apple','Golden Roasted Apple',0,0,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'percentheal rand(20,30),0; sc_start SC_DEXFOOD,180000,1;',NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (11589,'Cold_Snow_Cone','Cold Snow Cone',2,10,NULL,50,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'percentheal 5,5;',NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (11590,'Skewer_No.5','Skewer No.5',3,10,NULL,300,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||
#
|
||||
REPLACE INTO `item_db_re` VALUES (11701,'Girl_Bunch_Of_Flower','Girl\'s Bouquet',0,20,NULL,50,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'itemheal rand(105,145),0;',NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (11702,'Moon_Cookie','Moon Cookie',0,0,NULL,300,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'',NULL,NULL);
|
||||
@ -6314,6 +6341,7 @@ REPLACE INTO `item_db_re` VALUES (12851,'Vocation_Scroll','Vocation Scroll',2,20
|
||||
REPLACE INTO `item_db_re` VALUES (12852,'Wisdom_Scroll','Wisdom Scroll',2,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (12853,'Patron_Scroll','Patron Scroll',2,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (12860,'Mommy_Day_Cake','Mommy Day Cake',2,0,NULL,200,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'percentheal 50,50; skilleffect "HP_ASSUMPTIO",0; sc_start SC_ASSUMPTIO,100000,5;',NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (12863,'Treasure_Chest_Summoned_II','Treasure Chest Summoned II',3,10,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (12887,'C_Wing_Of_Fly','C Wing Of Fly',11,0,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'itemskill "AL_TELEPORT",1;',NULL,NULL);
|
||||
#
|
||||
REPLACE INTO `item_db_re` VALUES (12900,'Battle_Manual_Box','Battle Manual Box',18,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'getitem 12208,10;',NULL,NULL);
|
||||
@ -6558,9 +6586,9 @@ REPLACE INTO `item_db_re` VALUES (13180,'Novice_Rifle','Novice Rifle',4,0,NULL,5
|
||||
REPLACE INTO `item_db_re` VALUES (13181,'Novice_Shotgun','Novice Shotgun',4,0,NULL,1000,'80',NULL,9,0,0x41000000,1,2,34,4,'1',0,20,NULL,NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (13182,'Novice_Gatling','Novice Gatling',4,0,NULL,1500,'40',NULL,9,0,0x41000000,1,2,34,4,'1',0,19,NULL,NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (13183,'Novice_Grenade_Launcher','Novice Grenade Launcher',4,0,NULL,1500,'40',NULL,9,0,0x41000000,1,2,34,4,'1',0,21,NULL,NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (13194,'Peace_Breaker','Peace Breaker,',4,1,NULL,1400,'250',NULL,NULL,NULL,0x41000000,63,2,2,3,'120',0,20,'bonus bHit,-25; bonus bAspdRate,25;',NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (13196,'Peace_Breaker','Peace Breaker,',4,1,NULL,1400,'250',NULL,NULL,NULL,0x41000000,63,2,2,3,'120',0,20,'bonus bHit,-25; bonus bAspdRate,25;',NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (13197,'Mini_Mei','Mini Mei,',4,1,NULL,2500,'220',NULL,NULL,NULL,0x41000000,63,2,2,2,'106',0,19,NULL,NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (13194,'Peace_Breaker','Peace Breaker',4,1,NULL,1400,'250',NULL,NULL,NULL,0x41000000,63,2,2,3,'120',NULL,20,'bonus bHit,-25; bonus bAspdRate,25;',NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (13196,'Peace_Breaker','Peace Breaker',4,1,NULL,1400,'250',NULL,NULL,NULL,0x41000000,63,2,2,3,'120',NULL,20,'bonus bHit,-25; bonus bAspdRate,25;',NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (13197,'Mini_Mei','Mini Mei',4,1,NULL,2500,'220',NULL,NULL,NULL,0x41000000,63,2,2,2,'106',NULL,19,NULL,NULL,NULL);
|
||||
# Bullets
|
||||
REPLACE INTO `item_db_re` VALUES (13200,'Bullet','Bullet',10,1,NULL,2,'10',NULL,NULL,NULL,0x41000000,63,2,32768,NULL,'1',NULL,3,NULL,NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (13201,'Silver_Bullet','Silver Bullet',10,15,NULL,2,'15',NULL,NULL,NULL,0x41000000,63,2,32768,NULL,'1',NULL,3,'bonus bAtkEle,Ele_Holy;',NULL,NULL);
|
||||
@ -7746,6 +7774,9 @@ REPLACE INTO `item_db_re` VALUES (15100,'Frozen_Breastplate','Frozen Breastplate
|
||||
REPLACE INTO `item_db_re` VALUES (15101,'Hardened_Breastplate','Hardened Breastplate',5,20,NULL,1500,NULL,20,NULL,1,0xFFFFFFFF,63,2,16,NULL,'130',1,0,NULL,NULL,NULL);
|
||||
#
|
||||
REPLACE INTO `item_db_re` VALUES (15105,'Kaftan','Kaftan',5,20,NULL,400,NULL,13,NULL,1,0xFFFFFFFF,63,2,16,NULL,'0',1,0,'bonus bMdef,3; bonus2 bSubRace,RC_Demon,5; bonus2 bSubRace,RC_Undead,5;',NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (15110,'Strength_Supplement_Equipment','Strength Supplement Equipment',5,10,NULL,2000,NULL,80,NULL,NULL,0x00000400,56,2,16,NULL,'100',1,NULL,'bonus bAtkRate,5+(getrefine()/4);',NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (15111,'Reinforced_Parts_Gloves','Reinforced Parts - Gloves',5,10,NULL,3000,NULL,110,NULL,NULL,0x00000400,56,2,16,NULL,'100',1,NULL,'bonus bUnbreakableArmor,1; bonus2 bSubSize,0,10; bonus2 bSubSize,1,10; if(getrefine()>=7){ bonus2 bSubSize,2,10; }; if(getrefine()>=9){ bonus2 bSubSize,0,5; bonus2 bSubSize,1,5; }',NULL,NULL);
|
||||
|
||||
# More Maces
|
||||
REPLACE INTO `item_db_re` VALUES (16000,'Erde','Erde',4,20,NULL,500,'130',NULL,1,2,0x0004C5B2,18,2,2,4,'50',1,8,'bonus2 bSkillAtk,"AM_ACIDTERROR",20; bonus2 bSkillAtk,"AM_DEMONSTRATION",20; bonus bMaxSP,50; bonus bHealPower,10;',NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (16001,'Red_Square_Bag','Red Square Bag',4,20,NULL,500,'130',NULL,1,2,0x0004C5B2,18,2,2,3,'50',1,8,'bonus bMaxHP,200; bonus2 bSkillAtk,"AM_ACIDTERROR",20; bonus2 bSkillAtk,"AM_DEMONSTRATION",20; bonus2 bAddMonsterDropItem,501,50; bonus2 bAddMonsterDropItem,502,20; bonus2 bAddMonsterDropItem,503,20; bonus2 bAddMonsterDropItem,504,20; bonus2 bAddMonsterDropItem,505,10; if(readparam(bStr)>=95) bonus2 bAddEff,Eff_Stun,500;',NULL,NULL);
|
||||
@ -7772,6 +7803,11 @@ REPLACE INTO `item_db_re` VALUES (16021,'Velum_Flail','Vellum Flail',4,20,NULL,1
|
||||
REPLACE INTO `item_db_re` VALUES (16022,'Nemesis_','Nemesis',4,20,NULL,900,'120',NULL,1,2,0x00008110,63,2,2,4,'60',1,8,'bonus bUnbreakableWeapon,0; bonus bAtkEle,Ele_Holy;',NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (16023,'Metal_Mace','Metal Mace',4,20,NULL,0,'80',NULL,1,1,0x0004C5B3,63,2,2,3,'1',1,8,'bonus bUnbreakableWeapon,0; bonus bBaseAtk,(getrefine()*5); set .@i,((BaseLevel/10)>12)?12:(BaseLevel/10); if(.@i>2) bonus bBaseAtk,((.@i-2)*5);',NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (16026,'RWC_Memory_Mace','RWC Memory Mace',4,20,NULL,800,'100',NULL,1,1,0x0004C5B2,63,2,2,3,'1',1,8,'bonus bUnbreakableWeapon,0; bonus bBaseAtk,(getrefine()/30)*30; if(getrefine()>=9){ set .@i,1; bonus3 bAutoSpellWhenHit,"BS_WEAPONPERFECT",1,10; } if(getrefine()>=6){ set .@rate,5*(.@i+1); bonus2 bAddRace,RC_Boss,5; bonus2 bAddRace,RC_NonBoss,5; }',NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (16030,'Pile_Bunker_S','Pile Bunker S',4,20,NULL,3000,'400',NULL,1,NULL,0x00000400,56,2,2,4,'130',1,8,'bonus bAspdRate,getrefine()/2;',NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (16031,'Pile_Bunker_P','Pile Bunker P',4,20,NULL,4000,'450',NULL,1,NULL,0x00000400,56,2,2,4,'130',1,8,'bonus bAtk,getrefine()*5;',NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (16032,'Pile_Bunker_T','Pile Bunker T',4,20,NULL,3500,'400',NULL,1,NULL,0x00000400,56,2,2,4,'130',1,8,'bonus bUseSPrate,getrefine()*-1;',NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (16033,'Robots_Mechanical_Arm','Robot\'s Mechanical Arm',4,20,NULL,3000,'195',NULL,1,NULL,0x00000400,56,2,2,4,'130',1,8,'bonus bUnbreakableWeapon,1; bonus bCritical,20;',NULL,NULL);
|
||||
|
||||
# More Rental Boxes
|
||||
REPLACE INTO `item_db_re` VALUES (16131,'Lady_Tanee_Doll_Box','Lady Tanee Doll Box',18,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'getitem 5526,1;',NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (16132,'Lunatic_Hat_Box','Lunatic Hat Box',18,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'getitem 5527,1;',NULL,NULL);
|
||||
@ -8566,7 +8602,7 @@ REPLACE INTO `item_db_re` VALUES (18873,'Sweet_Valentine_Out','Sweet Valentine O
|
||||
REPLACE INTO `item_db_re` VALUES (18879,'Angry_Scorpion_Hat','Angry Scorpion Hat',5,10,NULL,100,NULL,5,NULL,1,0xFFFFFFFF,63,2,256,NULL,'0',1,995,'bonus bMdef,5;',NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (18885,'Jejecap','Jejecap',5,0,NULL,100,NULL,8,NULL,0,0xFFFFFFFF,63,2,256,NULL,'70',1,1011,'bonus bStr,2; bonus bInt,3;',NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (18887,'Aqua_Bunny_Band','Aqua Bunny Band',5,0,NULL,100,NULL,2,NULL,1,0xFFFFFFFF,63,2,256,NULL,'0',1,1012,'bonus bVit,3; bonus bMdef,5;',NULL,NULL);
|
||||
#REPLACE INTO `item_db_re` VALUES (18936,'Golden_Fish_In_Mouth','Golden Fish In Mouth',5,10,NULL,10,NULL,1,NULL,0,0xFFFFFFFF,63,2,1,NULL,'1',0,1081,'/*bonus bAllStats,2; bonus bAtk,10; bonus bMatk,10; bonus2 bExpAddRace,RC_Fish,2; bonus2 bSubRace,RC_Fish,2;*/',NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (18936,'Golden_Fish_In_Mouth','Golden Fish In Mouth',5,10,NULL,10,NULL,1,NULL,0,0xFFFFFFFF,63,2,1,NULL,'1',0,1081,'bonus bAllStats,2; bonus bAtk,10; bonus bMatk,10; bonus2 bExpAddRace,RC_Fish,2; bonus2 bSubRace,RC_Fish,2;',NULL,NULL);
|
||||
# Costume System
|
||||
REPLACE INTO `item_db_re` VALUES (19500,'T_Mr_Smile','T Mr Smile',5,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,6144,NULL,'0',0,65,'bonus bStr,2;',NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (19501,'T_Spinx_Helm','T Spinx Helm',5,0,NULL,0,NULL,0,NULL,1,0xFFFFFFFF,63,2,5120,NULL,'0',0,137,NULL,NULL,NULL);
|
||||
@ -8643,7 +8679,8 @@ REPLACE INTO `item_db_re` VALUES (19707,'C_Polar_Bear_Cap','Costume Polar Bear C
|
||||
REPLACE INTO `item_db_re` VALUES (19730,'C_Snake_Hat','C Snake Hat',5,20,NULL,10,NULL,0,NULL,0,0xFFFFFFFF,63,2,1024,NULL,'0',0,986,NULL,NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (19746,'C_Executioner_Hood','Executioner Hood',5,20,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,2048,NULL,'0',0,0,NULL,NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (19829,'C_Straw_Hat','C Straw Hat',5,20,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,1024,NULL,'0',0,146,NULL,NULL,NULL);
|
||||
#REPLACE INTO `item_db_re` VALUES (19856,'Costume_Snow_Cone_Hat','Costume Snow Cone Hat',5,10,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,1024,NULL,'1',0,0,'/*bonus2 bAddEle,Ele_Fire,5; bonus2 bMagicAddEle,Ele_Fire,5;*/',NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (19856,'Costume_Snow_Cone_Hat','Costume Snow Cone Hat',5,10,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,1024,NULL,'1',0,0,'bonus2 bAddEle,Ele_Fire,5; bonus2 bMagicAddEle,Ele_Fire,5; bonus2 bAddMonsterDropItem,11589,5;',NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (19857,'Costume_Crayfish_Hat','Costume Crayfish Hat',5,10,NULL,10,NULL,0,NULL,NULL,0xFFFFFFFF,63,2,1024,NULL,'1',NULL,NULL,NULL,NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (19859,'C_Flying_Angel','Flying Angel',5,20,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,1024,NULL,'0',0,264,NULL,NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (19860,'C_School_Criatura_Hat','School Criatura Hat',5,20,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,1024,NULL,'0',0,0,NULL,NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (19861,'C_Heart_Hairpin','Heart Hairpin',5,20,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,1024,NULL,'0',0,126,NULL,NULL,NULL);
|
||||
@ -8664,6 +8701,8 @@ REPLACE INTO `item_db_re` VALUES (20700,'Egir_Manteau','Egir Manteau',5,200000,N
|
||||
REPLACE INTO `item_db_re` VALUES (20707,'Kirin_Wing','Kirin Wing',5,20,NULL,0,NULL,18,NULL,0,0xFFFFFFFF,63,2,4,NULL,'0',1,6,'bonus bAllStats,1;',NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (20711,'Manteau_Of_Diego','Manteau Of Diego',5,20,NULL,600,NULL,15,NULL,1,0xFFFFFFFF,63,2,4,NULL,'0',1,0,'bonus bInt,1; bonus bDex,1; bonus bMdef,3;',NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (20724,'Love_Dad_Wings_2012','Love Dad Wings 2012',5,0,NULL,100,NULL,15,NULL,1,0xFFFFFFFF,63,2,4,NULL,'1',1,5,NULL,NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (20733,'Reinforced_Parts_Engine','Reinforced Parts - Engine',5,10,NULL,1500,NULL,25,NULL,NULL,0x00000400,56,2,4,NULL,'100',1,NULL,'bonus bDelayrate,-10; if(getrefine()>=7) {bonus2 bSubEle,0,10;}; if(getrefine()>=9) {bonus bDelayrate,-10;}',NULL,NULL);
|
||||
|
||||
# More 2-Handed Swords
|
||||
REPLACE INTO `item_db_re` VALUES (21000,'Upg_Twohand_Sword','Upg Two-Handed Sword',4,20,NULL,1500,'100',NULL,1,1,0x00004082,63,2,34,3,'1',1,3,'bonus bBaseAtk,(getrefine()*12); bonus bMatk,(getrefine()*5); if(BaseLevel>70) bonus bBaseAtk,(((BaseLevel-70)/10)*10);',NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (21001,'Velum_Claymore','Vellum Claymore',4,20,NULL,3500,'260',NULL,1,0,0x00004082,63,2,34,4,'95',1,3,'bonus2 bAddRace,RC_DemiHuman,80; bonus2 bIgnoreDefRate,RC_DemiHuman,30; if(getrefine()>=6) { bonus2 bAddRace,RC_DemiHuman,40; } if(getrefine()>=9) { autobonus2 "{ bonus bShortWeaponDamageReturn,20; bonus bMagicDamageReturn,20; }",200,1000,BF_WEAPON,"{ specialeffect2 EF_REFLECTSHIELD; }"; }',NULL,NULL);
|
||||
@ -8671,8 +8710,9 @@ REPLACE INTO `item_db_re` VALUES (21002,'Velum_Katzbalger','Vellum Katzbalger',4
|
||||
REPLACE INTO `item_db_re` VALUES (21003,'Muramasa_','Muramasa',4,20,NULL,1000,'155',NULL,1,2,0x00004082,63,2,34,4,'48',1,3,NULL,NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (21004,'Alca_Bringer_','Alca Bringer',4,20,NULL,3400,'280',NULL,2,2,0x00004082,63,2,34,3,'100',1,3,NULL,NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (21005,'Metal_Two_Hand_Sword','Metal Two Hand Sword',4,20,NULL,0,'95',NULL,1,1,0x00004082,63,2,34,3,'1',1,3,'bonus bBaseAtk,(getrefine()*6); bonus bMatk,(getrefine()*2); set .@i,((BaseLevel/10)>12)?12:(BaseLevel/10); if(.@i>2) bonus bBaseAtk,((.@i-2)*5);',NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (21011,'Gigantic_Blade','Gigantic Blade',3,10,NULL,5000,'300',NULL,NULL,NULL,0xFFFFFFFF,56,2,2,4,'130',1,3,'bonus bUnbreakableWeapon,1; bonus bAspdRate,-5; if(readparam(bStr)<=110){ bonus bAtk,-250; }',NULL,NULL);
|
||||
# New Items
|
||||
REPLACE INTO `item_db_re` VALUES (22045,'Summer_Sandals','Summer Sandals',5,10,NULL,200,NULL,5,NULL,0,0xFFFFFFFF,63,2,64,NULL,'0',1,0,'/*bonus bFlee,5; bonus3 bAutoSpellWhenHit,"AL_INCAGI",10,50;*/',NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (22045,'Summer_Sandals','Summer Sandals',5,10,NULL,200,NULL,5,NULL,0,0xFFFFFFFF,63,2,64,NULL,'0',1,0,'bonus bFlee,5; bonus3 bAutoSpellWhenHit,"AL_INCAGI",10,50;',NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (22514,'Candy_Holder','Candy Holder',11,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (22540,'Runstone_Luxanima','Lux Anima Runestone',11,2,NULL,100,NULL,NULL,NULL,NULL,0xFFFFFFFF,56,2,NULL,NULL,NULL,NULL,NULL,'itemskill "RK_LUXANIMA",1;',NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (22558,'Lucky_Bag','Lucky Bag',11,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||
@ -8682,8 +8722,13 @@ REPLACE INTO `item_db_re` VALUES (22567,'Expedition_Award_Box','Expedition Award
|
||||
REPLACE INTO `item_db_re` VALUES (22568,'Nidhoggur_Summon_Scroll','Nidhoggur Summon Scroll',0,20,NULL,100,NULL,NULL,NULL,NULL,0xFFFFFFFF,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (22571,'Easter_Egg','Easter Egg',11,10,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||
#REPLACE INTO `item_db_re` VALUES (22611,'Packed_Envelope','Packed Envelope',11,10,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'/* TODO */',NULL,NULL);
|
||||
#REPLACE INTO `item_db_re` VALUES (22612,'Corrupt_Reagents','Corrupt Reagents',11,10,NULL,50,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'/* TODO */',NULL,NULL);
|
||||
#REPLACE INTO `item_db_re` VALUES (22613,'Contaminated_Reagents','Contaminated Reagents',11,10,NULL,50,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'/* TODO */',NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (22612,'Corrupt_Reagents','Corrupt Reagents',11,10,NULL,50,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'/* TODO */',NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (22613,'Contaminated_Reagents','Contaminated Reagents',11,10,NULL,50,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'/* TODO */',NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (22619,'Ghost_Scroll','Ghost Scroll',3,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (22620,'Box_Of_Memories','Box Of Memories',3,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (22621,'Barbecued_Squid','Barbecued Squid',3,10,NULL,250,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (22648,'Angel_Ring_Package','Angel Ring Package',3,10,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (22649,'Devil_Ring_Package','Devil Ring Package',3,10,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (22652,'Briliant_Hat_Box','Brilliant Hat Box',2,10,NULL,200,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'/* TODO */',NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (22675,'Mysterious_Scroll','Mysterious Scroll',2,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'sc_start SC_INTFOOD,3600000,30;',NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (22676,'Hangul_Day_Event_Box','Hangul Day Event Box',2,20,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,'0',NULL,NULL,'getitem 22675,10; getitem 607,9;',NULL,NULL);
|
||||
|
@ -339,7 +339,7 @@ int64 battle_attr_fix(struct block_list *src, struct block_list *target, int64 d
|
||||
if(sc->data[SC_DELUGE]) ratio += enchant_eff[sc->data[SC_DELUGE]->val1-1];
|
||||
break;
|
||||
case ELE_GHOST:
|
||||
if(sc->data[SC_TELEKINESIS_INTENSE]) ratio += (sc->data[SC_TELEKINESIS_INTENSE]->val1*40)/100;
|
||||
if(sc->data[SC_TELEKINESIS_INTENSE]) ratio += (sc->data[SC_TELEKINESIS_INTENSE]->val3);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
17
src/map/pc.c
17
src/map/pc.c
@ -5004,6 +5004,7 @@ int pc_setpos(struct map_session_data* sd, unsigned short mapindex, int x, int y
|
||||
sd->md->ud.dir = sd->ud.dir;
|
||||
}
|
||||
|
||||
pc_cell_basilica(sd);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -10477,6 +10478,22 @@ void pc_bonus_script_check(struct map_session_data *sd, enum e_bonus_script_flag
|
||||
status_calc_pc(sd,false);
|
||||
}
|
||||
|
||||
/** [Cydh]
|
||||
* Gives/removes SC_BASILICA when player steps in/out the cell with 'cell_basilica'
|
||||
* @param sd player
|
||||
*/
|
||||
void pc_cell_basilica(struct map_session_data *sd) {
|
||||
if (!sd)
|
||||
return;
|
||||
|
||||
if (!map_getcell(sd->bl.m,sd->bl.x,sd->bl.y,CELL_CHKBASILICA)) {
|
||||
if (&sd->sc && sd->sc.data[SC_BASILICA])
|
||||
status_change_end(&sd->bl,SC_BASILICA,INVALID_TIMER);
|
||||
}
|
||||
else if (!(&sd->sc) || !sd->sc.data[SC_BASILICA])
|
||||
sc_start(&sd->bl,&sd->bl,SC_BASILICA,100,0,-1);
|
||||
}
|
||||
|
||||
/*==========================================
|
||||
* pc Init/Terminate
|
||||
*------------------------------------------*/
|
||||
|
@ -1050,6 +1050,8 @@ int pc_bonus_script_timer(int tid, unsigned int tick, int id, intptr_t data);
|
||||
void pc_bonus_script_remove(struct map_session_data *sd, uint8 i);
|
||||
void pc_bonus_script_check(struct map_session_data *sd, enum e_bonus_script_flags flag);
|
||||
|
||||
void pc_cell_basilica(struct map_session_data *sd);
|
||||
|
||||
#if defined(RENEWAL_DROP) || defined(RENEWAL_EXP)
|
||||
int pc_level_penalty_mod(struct map_session_data *sd, int mob_level, uint32 mob_race, uint32 mob_mode, int type);
|
||||
#endif
|
||||
|
@ -1277,13 +1277,11 @@ int skill_additional_effect (struct block_list* src, struct block_list *bl, uint
|
||||
break;
|
||||
case WL_EARTHSTRAIN:
|
||||
{
|
||||
int rate = 0, i;
|
||||
int i;
|
||||
const int pos[5] = { EQP_WEAPON, EQP_HELM, EQP_SHIELD, EQP_ARMOR, EQP_ACC };
|
||||
rate = 6 * skill_lv + sstatus->dex / 10 + (sd? sd->status.job_level / 4 : 0) - tstatus->dex /5;// The tstatus->dex / 5 part is unofficial, but players gotta have some kind of way to have resistance. [Rytech]
|
||||
//rate -= rate * tstatus->dex / 200; // Disabled until official resistance is found.
|
||||
|
||||
for( i = 0; i < skill_lv; i++ )
|
||||
skill_strip_equip(src,bl,pos[i],rate,skill_lv,skill_get_time2(skill_id,skill_lv));
|
||||
skill_strip_equip(src,bl,pos[i],(5 + skill_lv) * skill_lv,skill_lv,skill_get_time2(skill_id,skill_lv));
|
||||
}
|
||||
break;
|
||||
case WL_JACKFROST:
|
||||
@ -1495,7 +1493,7 @@ int skill_additional_effect (struct block_list* src, struct block_list *bl, uint
|
||||
sc_start(src, bl, SC_STUN, 10 * skill_lv, skill_lv, skill_get_time(skill_id, skill_lv));
|
||||
break;
|
||||
case GC_DARKCROW:
|
||||
sc_start(src,bl,SC_DARKCROW,10 * skill_lv,skill_lv,skill_get_time(skill_id,skill_lv));
|
||||
sc_start(src,bl,SC_DARKCROW,100,skill_lv,skill_get_time(skill_id,skill_lv));
|
||||
break;
|
||||
case GN_ILLUSIONDOPING:
|
||||
if( sc_start(src,bl,SC_ILLUSIONDOPING,10 * skill_lv,skill_lv,skill_get_time(skill_id, skill_lv)) ) //Custom rate
|
||||
|
@ -9269,7 +9269,7 @@ int status_change_start(struct block_list* src, struct block_list* bl,enum sc_ty
|
||||
val4 = tick / tick_time;
|
||||
break;
|
||||
case SC_KINGS_GRACE:
|
||||
val2 = 3 + val1;
|
||||
val2 = 3 + val1; //HP Recover rate
|
||||
tick_time = 1000;
|
||||
val4 = tick / tick_time;
|
||||
break;
|
||||
|
@ -228,8 +228,8 @@ static int unit_walktoxy_timer(int tid, unsigned int tick, int id, intptr_t data
|
||||
int i;
|
||||
int x,y,dx,dy;
|
||||
uint8 dir;
|
||||
struct block_list *bl;
|
||||
struct unit_data *ud;
|
||||
struct block_list *bl;
|
||||
struct unit_data *ud;
|
||||
TBL_PC *sd;
|
||||
TBL_MOB *md;
|
||||
TBL_MER *mrd;
|
||||
@ -301,10 +301,12 @@ static int unit_walktoxy_timer(int tid, unsigned int tick, int id, intptr_t data
|
||||
} else
|
||||
sd->areanpc_id=0;
|
||||
|
||||
if( sd->md) unit_check_start_teleport_timer(&sd->md->bl);
|
||||
if( sd->ed) unit_check_start_teleport_timer(&sd->ed->bl);
|
||||
if( sd->hd) unit_check_start_teleport_timer(&sd->hd->bl);
|
||||
if( sd->pd) unit_check_start_teleport_timer(&sd->pd->bl);
|
||||
if(sd->md) unit_check_start_teleport_timer(&sd->md->bl);
|
||||
if(sd->ed) unit_check_start_teleport_timer(&sd->ed->bl);
|
||||
if(sd->hd) unit_check_start_teleport_timer(&sd->hd->bl);
|
||||
if(sd->pd) unit_check_start_teleport_timer(&sd->pd->bl);
|
||||
|
||||
pc_cell_basilica(sd);
|
||||
} else if (md) {
|
||||
if( map_getcell(bl->m,x,y,CELL_CHKNPC) ) {
|
||||
if( npc_touch_areanpc2(md) )
|
||||
@ -326,10 +328,10 @@ static int unit_walktoxy_timer(int tid, unsigned int tick, int id, intptr_t data
|
||||
clif_move(ud);
|
||||
}
|
||||
}
|
||||
else if( hd) unit_check_start_teleport_timer(&hd->bl);
|
||||
else if( ed) unit_check_start_teleport_timer(&ed->bl);
|
||||
else if( pd) unit_check_start_teleport_timer(&pd->bl);
|
||||
else if( mrd) unit_check_start_teleport_timer(&mrd->bl);
|
||||
else if (hd) unit_check_start_teleport_timer(&hd->bl);
|
||||
else if (ed) unit_check_start_teleport_timer(&ed->bl);
|
||||
else if (pd) unit_check_start_teleport_timer(&pd->bl);
|
||||
else if (mrd) unit_check_start_teleport_timer(&mrd->bl);
|
||||
|
||||
if(tid == INVALID_TIMER) // A directly invoked timer is from battle_stop_walking, therefore the rest is irrelevant.
|
||||
return 0;
|
||||
|
@ -7,23 +7,29 @@ use File::Basename;
|
||||
use Getopt::Long;
|
||||
|
||||
my $sHelp = 0;
|
||||
my $sCmd = $1;
|
||||
my $sAtcf = "../doc/atcommands.txt";
|
||||
my $sSctf = "../doc/script_commands.txt";
|
||||
my $sLeftOverChk = 0;
|
||||
my $sCmd = "chk";
|
||||
my $sValidCmd = "ls|chk";
|
||||
my $sTarget = "All";
|
||||
my $sValidTarget = "All|Script|Atc";
|
||||
my $sInc_atcf = "../doc/atcommands2.txt";
|
||||
my $sInc_scrtf = "../doc/script_commands2.txt";
|
||||
|
||||
my($filename, $dir, $suffix) = fileparse($0);
|
||||
chdir $dir; #put ourself like was called in tool folder
|
||||
GetArgs();
|
||||
Main($sTarget);
|
||||
Main($sCmd,$sTarget);
|
||||
|
||||
sub GetArgs {
|
||||
GetOptions(
|
||||
'cmd=s' => \$sCmd, # wich command to run
|
||||
'atcf=s' => \$sAtcf, #atc doc file
|
||||
'scriptf=s' => \$sSctf, #script doc file
|
||||
'target=s' => \$sTarget, #Target (wich setup to run)
|
||||
'inc_atcf=s' => \$sInc_atcf, #include script doc file (for customs doc)
|
||||
'inc_scrtf=s' => \$sInc_scrtf, #include script doc file (for customs doc)
|
||||
'target=s' => \$sTarget, #Target (wich files to run-cmd into)
|
||||
'leftover=i' => \$sLeftOverChk, #should we chk if all doc are linked to a src ?
|
||||
'help!' => \$sHelp,
|
||||
) or $sHelp=1; #display help if invalid option
|
||||
@ -31,9 +37,12 @@ sub GetArgs {
|
||||
if( $sHelp ) {
|
||||
print "Incorect option specified, available option are:\n"
|
||||
."\t --atcf filename => file (specify atcommand doc to use)\n"
|
||||
."\t --inc_atcf filename => include file (specify atcommand doc to use)\n"
|
||||
."\t --scriptf filename => file (specify script doc to use)\n"
|
||||
."\t --inc_scrtf filename => include file (specify script doc to use)\n"
|
||||
."\t --leftover=0|1 => should we run reverse chk for leftover in documentation ?\n"
|
||||
."\t --target => target (specify wich check to run [$sValidTarget])\n";
|
||||
."\t --target => target (specify wich check to run [$sValidTarget])\n"
|
||||
."\t --cmd => cmd (specify wich command to run [(default)$sValidCmd])\n";
|
||||
exit;
|
||||
}
|
||||
unless($sTarget =~ /$sValidTarget/i){
|
||||
@ -41,18 +50,31 @@ sub GetArgs {
|
||||
."\t --target => target (specify wich check to run [(default)$sValidTarget])\n";
|
||||
exit;
|
||||
}
|
||||
unless($sCmd =~ /$sValidCmd/i){
|
||||
print "Incorect command specified, available command are:\n"
|
||||
."\t --cmd => cmd (specify wich command to run [(default)$sValidCmd])\n";
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
sub Main { my ($sCmd) = @_;
|
||||
if($sCmd=~/both|all/i){ #both is keep as backard compatibility here cf check-doc.sh
|
||||
$sCmd = "script|atc";
|
||||
sub Main { my ($sCmd,$sTarget) = @_;
|
||||
if($sTarget=~/both|all/i){ #both is keep as backard compatibility here cf check-doc.sh
|
||||
$sTarget = "script|atc";
|
||||
}
|
||||
if($sCmd=~/script/i){ #find which script commands are missing from doc/script_commands.txt
|
||||
Script_Chk();
|
||||
if($sTarget=~/script/i){ #find which script commands are missing from doc/script_commands.txt
|
||||
my $raSct_cmd = Script_GetCmd();
|
||||
if($sCmd =~ /ls/i) {
|
||||
print "The list of script-command found are = \n[ @$raSct_cmd ] \n\n";
|
||||
}
|
||||
if($sCmd =~ /chk/i) { Script_Chk($raSct_cmd); }
|
||||
}
|
||||
if($sCmd=~/atc/i){ #find which atcommands are missing from doc/atcommands.txt
|
||||
Atc_Chk();
|
||||
if($sTarget=~/atc/i){ #find which atcommands are missing from doc/atcommands.txt
|
||||
my $raAct_cmd = Atc_GetCmd();
|
||||
if($sCmd =~ /ls/i) {
|
||||
print "The list of atcommand found are = \n[ @$raAct_cmd ] \n\n";
|
||||
}
|
||||
if($sCmd =~ /chk/i) { Atc_Chk($raAct_cmd); }
|
||||
}
|
||||
}
|
||||
|
||||
@ -70,13 +92,14 @@ sub Chk { my($raA,$raB) = @_;
|
||||
return \@aMissing;
|
||||
}
|
||||
|
||||
sub Script_Chk {
|
||||
sub Script_GetCmd {
|
||||
my @aSct_src = ("../src/map/script.c","../src/custom/script_def.inc");
|
||||
my @aDef_sct = ();
|
||||
my @aDoc_sct = ();
|
||||
my $raMiss_sct;
|
||||
foreach my $sSct_srcf (@aSct_src){
|
||||
open FILE_SRC, "<$sSct_srcf" || die "couldn't open file $sSct_srcf \n";
|
||||
unless(open FILE_SRC, "<$sSct_srcf") {
|
||||
print "couldn't open file $sSct_srcf \n";
|
||||
next;
|
||||
}
|
||||
while(<FILE_SRC>){
|
||||
next if($_ =~ /^#/); #ignoe include, define or macro
|
||||
if($_ =~ /BUILDIN_DEF|BUILDIN_DEF2/){
|
||||
@ -95,24 +118,38 @@ sub Script_Chk {
|
||||
}
|
||||
close FILE_SRC;
|
||||
}
|
||||
open FILE_DOC, "$sSctf" || die "couldn't open file $sSctf \n";
|
||||
while(<FILE_DOC>){
|
||||
next if($_ =~ /^\*\*|^\*\s|^\s+/); #discard **, * foo, foo
|
||||
next if(/^\s+/);
|
||||
if($_ =~ /^\*/){
|
||||
my @line = split(' ',$_);
|
||||
@line = split('\(',$line[0]);
|
||||
@line = split('\<',$line[0]);
|
||||
$line[0] =~ s/\(|\{|\*|\r|\s|\;|\)|\"|\,//g; #todo please harmonize command definition for easier parse
|
||||
|
||||
next if($line[0] eq "Name" || $line[0] eq "" || $line[0] eq "function"
|
||||
|| $line[0] eq "if" || $line[0] eq "while" || $line[0] eq "do" || $line[0] eq "for" ); #exception list
|
||||
|
||||
push(@aDoc_sct,$line[0]);
|
||||
return \@aDef_sct;
|
||||
}
|
||||
|
||||
sub Script_Chk { my ($raDef_sct) = @_;
|
||||
my @aSct_docf = ($sSctf,$sInc_scrtf);
|
||||
my @aDoc_sct = ();
|
||||
my $raMiss_sct;
|
||||
|
||||
foreach my $sSct_docf (@aSct_docf){
|
||||
unless(open FILE_DOC, "$sSct_docf"){
|
||||
print "couldn't open file $sSct_docf \n";
|
||||
next;
|
||||
}
|
||||
while(<FILE_DOC>){
|
||||
next if($_ =~ /^\*\*|^\*\s|^\s+/); #discard **, * foo, foo
|
||||
next if(/^\s+/);
|
||||
if($_ =~ /^\*/){
|
||||
my @line = split(' ',$_);
|
||||
@line = split('\(',$line[0]);
|
||||
@line = split('\<',$line[0]);
|
||||
$line[0] =~ s/\(|\{|\*|\r|\s|\;|\)|\"|\,//g; #todo please harmonize command definition for easier parse
|
||||
|
||||
next if($line[0] eq "Name" || $line[0] eq "" || $line[0] eq "function"
|
||||
|| $line[0] eq "if" || $line[0] eq "while" || $line[0] eq "do" || $line[0] eq "for" ); #exception list
|
||||
|
||||
push(@aDoc_sct,$line[0]);
|
||||
}
|
||||
}
|
||||
close FILE_DOC;
|
||||
}
|
||||
close FILE_DOC;
|
||||
$raMiss_sct = Chk(\@aDef_sct,\@aDoc_sct); #check missing documentation
|
||||
|
||||
$raMiss_sct = Chk($raDef_sct,\@aDoc_sct); #check missing documentation
|
||||
if(scalar(@$raMiss_sct)){
|
||||
print "Missing script documentation for function :{\n";
|
||||
foreach(@$raMiss_sct){
|
||||
@ -123,7 +160,7 @@ sub Script_Chk {
|
||||
else { print "All script command in Src are documented, no issues found\n"; }
|
||||
|
||||
if($sLeftOverChk){
|
||||
my $raLeftover_sct = Chk(\@aDoc_sct,\@aDef_sct); #we just inverse the chk for leftover
|
||||
my $raLeftover_sct = Chk(\@aDoc_sct,$raDef_sct); #we just inverse the chk for leftover
|
||||
if(scalar(@$raLeftover_sct)){
|
||||
print "Those script command was found in doc but no source associated, leftover ? :{\n";
|
||||
foreach(@$raLeftover_sct){
|
||||
@ -135,15 +172,16 @@ sub Script_Chk {
|
||||
}
|
||||
}
|
||||
|
||||
sub Atc_Chk {
|
||||
sub Atc_GetCmd {
|
||||
my @aAct_src = ("../src/map/atcommand.c","../src/custom/atcommand_def.inc");
|
||||
my @aDef_act = ();
|
||||
my @aDoc_act = ();
|
||||
my $raMiss_act;
|
||||
foreach my $sAct_srcf (@aAct_src){
|
||||
open FILE_SRC, "<$sAct_srcf" || die "couldn't open file $sAct_srcf \n";
|
||||
unless(open FILE_SRC, "<$sAct_srcf"){
|
||||
print "couldn't open file $sAct_srcf \n";
|
||||
next;
|
||||
}
|
||||
while(<FILE_SRC>){
|
||||
next if($_ =~ /^#/); #ignoe include, define or macro
|
||||
next if($_ =~ /^#/); #ignore include, define or macro
|
||||
if($_ =~ /ACMD_DEF|ACMD_DEF2|ACMD_DEFR|ACMD_DEF2R/){
|
||||
$_ =~ s/\s+$//; #Remove trailing spaces.
|
||||
$_ =~ s/^\s+//; #Remove leading spaces.
|
||||
@ -162,21 +200,34 @@ sub Atc_Chk {
|
||||
}
|
||||
close FILE_SRC;
|
||||
}
|
||||
open FILE_DOC, "$sAtcf" || die "couldn't open file $sAtcf \n";
|
||||
while(<FILE_DOC>){
|
||||
next if($_ =~ /^\*\*|^\*\s|^\s+/); #discard **, * foo, foo
|
||||
next if(/^\s+/);
|
||||
if($_ =~ /^\@/){
|
||||
my @line = split(' ',$_);
|
||||
@line = split('\(',$line[0]);
|
||||
@line = split('\<',$line[0]);
|
||||
$line[0] =~ s/\(|\{|\@|\r|\s|\;|\)|\"|\,//g; #todo please harmonize command definition for easier parse
|
||||
push(@aDoc_act,$line[0]);
|
||||
}
|
||||
}
|
||||
close FILE_DOC;
|
||||
return \@aDef_act;
|
||||
}
|
||||
|
||||
sub Atc_Chk { my ($raDef_act) = @_;
|
||||
my @aAct_docf = ($sAtcf,$sInc_atcf);
|
||||
my @aDoc_act = ();
|
||||
my $raMiss_act;
|
||||
|
||||
$raMiss_act = Chk(\@aDef_act,\@aDoc_act); #check missing documentation
|
||||
foreach my $sAct_docf (@aAct_docf){
|
||||
unless(open FILE_DOC, "$sAct_docf"){
|
||||
print "couldn't open file $sAct_docf \n";
|
||||
next;
|
||||
}
|
||||
while(<FILE_DOC>){
|
||||
next if($_ =~ /^\*\*|^\*\s|^\s+/); #discard **, * foo, foo
|
||||
next if(/^\s+/);
|
||||
if($_ =~ /^\@/){
|
||||
my @line = split(' ',$_);
|
||||
@line = split('\(',$line[0]);
|
||||
@line = split('\<',$line[0]);
|
||||
$line[0] =~ s/\(|\{|\@|\r|\s|\;|\)|\"|\,//g; #todo please harmonize command definition for easier parse
|
||||
push(@aDoc_act,$line[0]);
|
||||
}
|
||||
}
|
||||
close FILE_DOC;
|
||||
}
|
||||
|
||||
$raMiss_act = Chk($raDef_act,\@aDoc_act); #check missing documentation
|
||||
if(scalar(@$raMiss_act)){
|
||||
print "Missing atcommand documentation for function :{\n";
|
||||
foreach(@$raMiss_act){
|
||||
@ -187,7 +238,7 @@ sub Atc_Chk {
|
||||
else { print "All atcommand in Src are documented, no issues found\n"; }
|
||||
|
||||
if($sLeftOverChk){
|
||||
my $raLeftover_sct = Chk(\@aDoc_act,\@aDef_act); #we just inverse the chk for leftover
|
||||
my $raLeftover_sct = Chk(\@aDoc_act,$raDef_act); #we just inverse the chk for leftover
|
||||
if(scalar(@$raLeftover_sct)){
|
||||
print "Those atcommand command was found in doc but no source associated, leftover ? : {\n";
|
||||
foreach(@$raLeftover_sct){
|
||||
|
Loading…
x
Reference in New Issue
Block a user