summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Longbons <b.r.longbons@gmail.com>2011-06-29 14:10:22 -0700
committerBen Longbons <b.r.longbons@gmail.com>2011-06-29 14:10:22 -0700
commite6d0dd75ced8c8687cd1c9749f8c2019d4a9840c (patch)
tree4c013058cab3af3ff9cddfa4c6fbe8aa187f3ee9
parent2c07f14a13d1e1f88275bd12beded43706c53bae (diff)
downloadserverdata-e6d0dd75ced8c8687cd1c9749f8c2019d4a9840c.tar.gz
serverdata-e6d0dd75ced8c8687cd1c9749f8c2019d4a9840c.tar.bz2
serverdata-e6d0dd75ced8c8687cd1c9749f8c2019d4a9840c.tar.xz
serverdata-e6d0dd75ced8c8687cd1c9749f8c2019d4a9840c.zip
Add tool to calculate JOB XP.
-rw-r--r--Makefile3
-rwxr-xr-xtools/mobxp30
2 files changed, 33 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index 5b593c8f..66ef000b 100644
--- a/Makefile
+++ b/Makefile
@@ -10,3 +10,6 @@ login/conf/login_local.conf login/conf/ladmin_local.conf login/save/gm_account.t
world/map/conf/map_local.conf world/map/conf/battle_local.conf world/map/conf/motd.txt world/map/conf/help.txt world/map/conf/atcommand_local.conf \
world/conf/char_local.conf
+mobxp:
+ tools/mobxp < world/map/db/mob_db.txt | tools/aligncsv.py /dev/stdin world/map/db/mob_db.txt
+ sed 's/[[:space:]]*$$//' -i world/map/db/mob_db.txt
diff --git a/tools/mobxp b/tools/mobxp
new file mode 100755
index 00000000..49c74f27
--- /dev/null
+++ b/tools/mobxp
@@ -0,0 +1,30 @@
+#!/bin/bash
+
+IFS=$' \t\n,'
+while read
+do
+ if [ -z "$REPLY" ] || [ "${REPLY:0:1}" = '#' ] || [ "${REPLY:0:2}" = '//' ]
+ then
+ echo "$REPLY"
+ continue
+ fi
+
+ read ID Name Jname LV HP SP EXP JEXP Range1 ATK1 ATK2 DEF MDEF STR AGI VIT INT DEX LUK Range2 Range3 Scale Race Element Mode Speed Adelay Amotion Dmotion Drop1id Drop1per Drop2id Drop2per Drop3id Drop3per Drop4id Drop4per Drop5id Drop5per Drop6id Drop6per Drop7id Drop7per Drop8id Drop8per Item1 Item2 MEXP ExpPer MVP1id MVP1per MVP2id MVP2per MVP3id MVP3per mutationcount mutationstrength <<< "$REPLY"
+ if [ -z "$mutationstrength" ]
+ then
+ echo "$REPLY"
+ fi
+ BOSS=$(((Mode&32)>0))
+ ASSIST=$(((Mode&8)>0))
+ AGGRO=$(((Mode&4)>0))
+
+ MODE_BONUS=$((3*BOSS+1*ASSIST+1*AGGRO+2))
+ NEWJEXP=$(bc <<< "
+ 1 + $MODE_BONUS * $HP * (100 - $DEF) * sqrt(2500 * ($ATK1 + $ATK2) / $Adelay) / sqrt(sqrt($Speed)) / 15000
+ ") || {
+ echo "$REPLY"
+ continue
+ }
+ # echo $ID$'\t'$Name$'\t'Old:$'\t'$JEXP$'\t'New:$'\t'$NEWJEXP$'\t( '$BOSS $AGGRO $ASSIST')'
+ echo $ID, $Name, $Jname, $LV, $HP, $SP, $EXP, $NEWJEXP, $Range1, $ATK1, $ATK2, $DEF, $MDEF, $STR, $AGI, $VIT, $INT, $DEX, $LUK, $Range2, $Range3, $Scale, $Race, $Element, $Mode, $Speed, $Adelay, $Amotion, $Dmotion, $Drop1id, $Drop1per, $Drop2id, $Drop2per, $Drop3id, $Drop3per, $Drop4id, $Drop4per, $Drop5id, $Drop5per, $Drop6id, $Drop6per, $Drop7id, $Drop7per, $Drop8id, $Drop8per, $Item1, $Item2, $MEXP, $ExpPer, $MVP1id, $MVP1per, $MVP2id, $MVP2per, $MVP3id, $MVP3per, $mutationcount, $mutationstrength
+done