summaryrefslogtreecommitdiff
path: root/npc
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2019-06-15 18:45:37 -0300
committerJesusaves <cpntb1@ymail.com>2019-06-15 18:45:37 -0300
commit2f45bd7aa3109731edc73316c10338d605734995 (patch)
tree87bce97ad9a4e7b108f407618175462128c76edd /npc
parent422b7b9261527e1b288499da620a5ace6f5b2489 (diff)
downloadserverdata-2f45bd7aa3109731edc73316c10338d605734995.tar.gz
serverdata-2f45bd7aa3109731edc73316c10338d605734995.tar.bz2
serverdata-2f45bd7aa3109731edc73316c10338d605734995.tar.xz
serverdata-2f45bd7aa3109731edc73316c10338d605734995.zip
Rewrite how Mercenary Boxsets are handled (for easier maintenance)
Diffstat (limited to 'npc')
-rw-r--r--npc/items/mercenary.txt54
-rw-r--r--npc/scripts.conf1
2 files changed, 55 insertions, 0 deletions
diff --git a/npc/items/mercenary.txt b/npc/items/mercenary.txt
new file mode 100644
index 000000000..c87081760
--- /dev/null
+++ b/npc/items/mercenary.txt
@@ -0,0 +1,54 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Core functions for Mercenary boxset
+
+// Main loop
+// merc_boxset(5★, 4★, 3★, 2★, 1★)
+function script merc_boxset {
+ .@s5=getarg(0,0);
+ .@s4=getarg(1,0);
+ .@s3=getarg(2,0);
+ .@s2=getarg(3,0);
+ .@s1=getarg(4,0);
+
+ .@sumup=.@s5+.@s4+.@s3+.@s2+.@s1;
+
+ // Make the seed. More level and luck increases odds of higher rarity
+ .@seed=rand(0, .@sumup)-BaseLevel-readparam(bLuk);
+
+ // 5 ★
+ if (.@seed < .@s5) {
+ setarray .@r, MercCard_AndreiSakar, MercCard_Woody, MercCard_Lilanna, MercCard_Xanthem;
+ .@n=any_of(.@r);
+ // 4 ★
+ } else if (.@seed < .@s4) {
+ setarray .@r, MercCard_Aisen, MercCard_Msawis, MercCard_Swezanne, MercCard_DragonStar;
+ .@n=any_of(.@r);
+ // 3 ★
+ } else if (.@seed < .@s3) {
+ setarray .@r, MercCard_Saulc, MercCard_Crazyfefe, MercCard_LawnCable, MercCard_Arthur;
+ .@n=any_of(.@r);
+ // 2 ★
+ } else if (.@seed < .@s2) {
+ setarray .@r, MercCard_Pookie, MercCard_Jesusalva, MercCard_Demure, MercCard_EarthWitch;
+ .@n=any_of(.@r);
+ // 1 ★
+ } else {
+ setarray .@r, MercCard_Apane, MercCard_Soren, MercCard_GonzoDark, MercCard_Rosa;
+ .@n=any_of(.@r);
+ }
+
+ getitem .@r[.@n], 1;
+ return;
+}
+
+/*
+// Setup a merc_boxset based on level (TODO)
+function script cond_mercboxset {
+ return;
+}
+*/
+
+
diff --git a/npc/scripts.conf b/npc/scripts.conf
index cf4871aba..cda4ea36e 100644
--- a/npc/scripts.conf
+++ b/npc/scripts.conf
@@ -72,6 +72,7 @@
"npc/items/croconut.txt",
"npc/items/emptybox.txt",
"npc/items/lofteleporter.txt",
+"npc/items/mercenary.txt",
"npc/items/shovel.txt",
"npc/items/teleporter.txt",