summaryrefslogtreecommitdiff
path: root/world/map/npc/functions
diff options
context:
space:
mode:
authorHoraK-FDF <horak-fdf@web.de>2023-07-14 15:42:41 +0000
committerLed Mitz <smoothshifter@tuta.io>2023-07-14 15:42:41 +0000
commitb048e5c26c46f542d99b4f0660fb8bf85e7f0edf (patch)
treefaabde58de069fd2cee0e837a7ac762f3518a435 /world/map/npc/functions
parentd8eb983f077617326bf86900a9f249ab9171d4dd (diff)
downloadserverdata-b048e5c26c46f542d99b4f0660fb8bf85e7f0edf.tar.gz
serverdata-b048e5c26c46f542d99b4f0660fb8bf85e7f0edf.tar.bz2
serverdata-b048e5c26c46f542d99b4f0660fb8bf85e7f0edf.tar.xz
serverdata-b048e5c26c46f542d99b4f0660fb8bf85e7f0edf.zip
mob kill handler
Diffstat (limited to 'world/map/npc/functions')
-rw-r--r--world/map/npc/functions/global_event_handler.txt1
-rw-r--r--world/map/npc/functions/mob_points.txt285
2 files changed, 1 insertions, 285 deletions
diff --git a/world/map/npc/functions/global_event_handler.txt b/world/map/npc/functions/global_event_handler.txt
index 8c4425d8..9467d9e4 100644
--- a/world/map/npc/functions/global_event_handler.txt
+++ b/world/map/npc/functions/global_event_handler.txt
@@ -29,6 +29,7 @@ OnPCKillEvent:
OnMobKillEvent:
callfunc "MobPoints";
+ callfunc "MobKillHandler";
callfunc "SweetTooth";
end;
diff --git a/world/map/npc/functions/mob_points.txt b/world/map/npc/functions/mob_points.txt
deleted file mode 100644
index 9ac0e03e..00000000
--- a/world/map/npc/functions/mob_points.txt
+++ /dev/null
@@ -1,285 +0,0 @@
-// Mob points
-
-function|script|MobPoints
-{
- if (@mobID < 1002) goto L_Return;
-
- callsub S_Vault;
-
- setarray @points,
- 1, // 1002 Maggot
- 2, // 1003 Scorpion
- 20, // 1004 Red Scorpion
- 40, // 1005 Green Slime
- 30, // 1006 Giant Maggot
- 15, // 1007 Yellow Slime
- 25, // 1008 Red Slime
- 45, // 1009 Black Scorpion
- 50, // 1010 Snake
- 6, // 1011 Fire Goblin
- 55, // 1012 Spider
- 35, // 1013 Evil Mushroom
- 35, // 1014 Pink Flower
- 40, // 1015 Santa Slime
- 15, // 1016 Rudolph Slime
- 2, // 1017 Bat
- 16, // 1018 Pinkie
- 10, // 1019 Spiky Mushroom
- 14, // 1020 Fluffy
- 25, // 1021 Cave Snake
- 200, // 1022 Jack O
- 85, // 1023 Fire Skull
- 85, // 1024 Poison Skull
- 20, // 1025 Log Head
- 70, // 1026 Mountain Snake
- 15, // 1027 Easter Fluffy
- 40, // 1028 Mouboo
- 0, // 1029 Mauve Plant
- 0, // 1030 Cobalt Plant
- 0, // 1031 Gamboge Plant
- 0, // 1032 Alizarin Plant
- 20, // 1033 Sea Slime
- 75, // 1034 Grass Snake
- 0, // 1035 Silk Worm
- 125, // 1036 Zombie
- 0, // 1037 Clover Patch
- 5, // 1038 Squirrel
- 0, // 1039 Fire Lizard
- 80, // 1040 Wisp
- 15, // 1041 Snail
- 80, // 1042 Spectre
- 100, // 1043 Skeleton
- 100, // 1044 Lady Skeleton
- 150, // 1045 Fallen
- 0, // 1046 Snake Lord
- 80, // 1047 Poltergeist
- 0, // 1048 Duck
- 15, // 1049 Bee
- 0, // 1050 Larvespa [DOES NOT EXIST]
- 0, // 1051 Vespa [DOES NOT EXIST]
- 0, // 1052 Hivespa [DOES NOT EXIST]
- 0, // 1053 Froad [DOES NOT EXIST]
- 0, // 1054 Troll
- 15, // 1055 Butterfly
- 2, // 1056 Cave Maggot
- 10, // 1057 Angry Scorpion
- 6, // 1058 Ice Goblin
- 40, // 1059 Giant Cave Maggot
- 20, // 1060 Archant
- 35, // 1061 Moggun
- 100, // 1062 Terranite
- 10, // 1063 Pumpkin
- 10, // 1064 Bandit
- 20, // 1065 Bandit Lord
- 30, // 1066 Vampire Bat
- 150, // 1067 Reaper2
- 100, // 1068 Reaper
- 20, // 1069 Flying Scythe
- 20, // 1070 Ball Lightning
- 60, // 1071 Ice Element
- 80, // 1072 Yeti
- 100, // 1073 The Lost
- 60, // 1074 Red Bone
- 60, // 1075 Stalker
- 0, // 1076 Dreadwing [DOES NOT EXIST]
- 100, // 1077 Drunken Skeleton
- 100, // 1078 Tipsy Skeleton
- 100, // 1079 Drunken Lady Skeleton
- 60, // 1080 BlueSpark
- 60, // 1081 RedSpark
- 0, // 1082 Serqet
- 60, // 1083 HuntsmanSpider,
- 40, // 1084 CrotcherScorpion,
- 0, // 1085 IceSkull,
- 120, // 1086 FeyElement,
- 10, // 1087 Larvern,
- 60, // 1088 Hyvern,
- 20, // 1089 HungryFluffy,
- 40, // 1090 Wolvern,
- 50, // 1091 BlueSlime,
- 0, // 1092 SlimeBlast,
- 20, // 1093 WhiteSlime,
- 40, // 1094 Reinboo,
- 0, // 1095 WhiteBell,
- 60, // 1096 SoulSnake
- 100, // 1097 SoulEater
- 25, // 1098 CopperSlime
- 0, // 1099 SleepingBandit
- 20, // 1100 AzulSlime
- 80, // 1101 DemonicSpirit
- 940, // 1102 Luvia
- 150, // 1103 WitchGuard
- 50, // 1104 DemonicMouboo
- 15, // 1105 ViciousSquirrel
- 20, // 1106 WickedMushroom
- 18, // 1107 Bluepar
- 10, // 1108 AngryFireGoblin
- 35, // 1109 AngrySeaSlime
- 50, // 1110 AngryGreenSlime
- 50, // 1111 CandiedSlime
- 40, // 1112 Santaboo
- 30, // 1113 Pollett
- 100, // 1114 Nutcracker
- 40, // 1115 SeaSlimeMother
- 50, // 1116 UndeadWitch
- 60, // 1117 UndeadTroll
- 80, // 1118 GreenSlimeMother
- 100, // 1119 Thug
- 100, // 1120 Swashbuckler
- 100, // 1121 Grenadier
- 150, // 1122 DreadPirateMarley
- 10, // 1123 DreadPirateMarleyClone
- 100, // 1124 Wight
- 100, // 1125 ManaGhost
- 100, // 1126 PsiBrain
- 150 // 1127 GeneralKurkan
- // No more room! script engine is buggy, sorry.
- // -o11c
- ; // END
-
- setarray @points_extended,
- 175, // 1128 GeneralRazha
- 200, // 1129 GeneralTerogan
- 100, // 1130 Moonshroom
- 20, // 1131 ManaBug
- 80, // 1132 LavaSlime
- 80, // 1133 Anne
- 200, // 1134 SUSAN
- 80, // 1135 LovelyMaggot
- 10, // 1136 LesserGhost
- 500, // 1137 Tormenta
- 200, // 1138 ManaGuardian
- 10, // 1139 Virus
- 200, // 1140 Tengu
- 200, // 1141 Sasquatch
- 999, // 1142 ZaxDeKagen
- 200, // 1143 ManaSlayer
- 200, // 1144 GreatDragon
- -99, // 1145 KageGolem
- 200, // 1146 Flashmob
- 200, // 1147 Koyntety
- 100, // 1148 DoomGolem
- 100, // 1149 Enchanter
- 0, // 1150 ManaTyrant
- 0, // 1151 VoidFlower
- 0, // 1152 VoidArchant
- 0, // 1153 VoidSlime
- 0, // 1154 VoidSnake
- 0, // 1155 VoidBat
- 0, // 1156 VoidMaggot
- 25, // 1157 VoidSoldier
- 0, // 1158 VoidMouboo
- 0, // 1159 VoidScorpion
- 0, // 1160 VoidShroom
- -99, // 1161 Xakelbael
- 0, // 1162 Grinchboo
- 15, // 1163 Friday
- 0, // 1164 RESERVED
- 0, // 1165 RESERVED
- 0, // 1166 RESERVED
- 0, // 1167 RESERVED
- 0, // 1168 Floyd
- 0, // 1169 Crystal Spider
- 0, // 1170 Crystal Golem
- 0, // 1171 Black Crystal Golem
- 0 // 1172 Bif
- ;
-
- if ((MPQUEST == 1) && (@mobID < 1128))
- goto L_Table1;
-
- if ((MPQUEST == 1) && (@mobID > 1127))
- goto L_Table2;
-
- goto L_PostLoop;
-
-L_Table1:
- set Mobpt, Mobpt + @points[@mobID - 1002];
- goto L_PostLoop;
-
-L_Table2:
- set Mobpt, Mobpt + @points_extended[@mobID - 1128];
- goto L_PostLoop;
-
-L_PostLoop:
- callfunc "ValonCount";
- if (((QL_VALON >= 2) && (QL_VALON < 6)) && (@mobID == $@ValonMob[@valon_mob]))
- goto L_ValonMobKill;
- goto L_NatureKarma;
-
-L_ValonMobKill:
- callfunc "AddValonCntMask";
- goto L_NatureKarma;
-
-L_NatureKarma:
-// Scorpion, Red Scorpion, Black Scorpion, Angry Scorpion
-// DemonicMouboo, ViciousSquirrel, WickedMushroom, Bluepar
- if ((@mobID == 1003) || (@mobID == 1004) || (@mobID == 1009) || (@mobID == 1057)
- || (@mobID == 1104) || (@mobID == 1105) || (@mobID == 1106) || (@mobID == 1107))
- goto L_good;
-
- // Attitude adjustment for the witch (can we refactor this to another function? Not sure about max. recursion depth)
-
- set @value, 0;
-// Pinkie
- if (@mobID == 1018)
- set @value, 3;
-
-// Fluffy
- if (@mobID == 1020)
- set @value, 3;
-// Easter Fluffy
- if (@mobID == 1027)
- set @value, 3;
-// Mouboo
- if (@mobID == 1028)
- set @value, 4;
-// Squirrel
- if (@mobID == 1038)
- set @value, 2;
-// Reinboo
- if (@mobID == 1094)
- set @value, 3;
-// Santaboo
- if (@mobID == 1112)
- set @value, 3;
-// Pollett
- if (@mobID == 1113)
- set @value, 3;
-
- if (@value == 0)
- goto L_Celestia;
-
- callfunc "QuestSagathaAnnoy";
- goto L_Celestia;
-
-L_good:
- set @value, 1;
- callfunc "QuestSagathaHappy";
- goto L_Celestia;
-
-L_Celestia:
- if (QL_CELESTIA < 5 || QL_CELESTIA >= 205 || @mobID != 1072) goto L_Terranite;
- set QL_CELESTIA, QL_CELESTIA + 1;
- if (QL_CELESTIA == 205)
- message strcharinfo(0), "Yeti : ##3This should be enough yetis killed to please Celestia.";
- goto L_Terranite;
-
-L_Terranite:
- if (TERRAC < 1 || TERRAC > 1500 || @mobID != 1062) goto L_Return;
- if (TERRAC % 100 == 0)
- message strcharinfo(0), "Terranite : ##3Total Terranites Slain: "+TERRAC;
- set TERRAC, TERRAC + 1;
- goto L_Return;
-
-S_Vault:
- if (#EXP_CREDIT < 1) goto L_Return;
- set @exp_bonus, min(#EXP_CREDIT, mobinfo(@mobID, MOB_BASEEXP) * 2);
- set #EXP_CREDIT, #EXP_CREDIT - @exp_bonus;
- getexp @exp_bonus, 0;
- return;
-
-L_Return:
- set @value, 0;
- return;
-}