summaryrefslogtreecommitdiff
path: root/world/map/npc/functions/rares.txt
diff options
context:
space:
mode:
Diffstat (limited to 'world/map/npc/functions/rares.txt')
-rw-r--r--world/map/npc/functions/rares.txt115
1 files changed, 115 insertions, 0 deletions
diff --git a/world/map/npc/functions/rares.txt b/world/map/npc/functions/rares.txt
new file mode 100644
index 00000000..559c4259
--- /dev/null
+++ b/world/map/npc/functions/rares.txt
@@ -0,0 +1,115 @@
+function|script|MaybeRare
+{
+ set .@chance, max(0, rand(0, 10000 + max(1, $RAREBOOST[2])) - (getarg(0) * max(1, $RAREBOOST[0])) - $RAREBOOST[1]);
+ if (.@chance > 0) goto L_Return;
+
+ setarray .@rare_items$[0],
+ rand(5000, 5109), // sorcerer robe
+ "ToySabre",
+ "LongSword",
+ "AssassinBoots",
+ "AssassinGloves",
+ "AssassinShirt",
+ "AssassinPants",
+ "Halberd",
+ "Axe",
+ "BastardSword",
+ "Sword",
+ "Spear",
+ "RockKnife",
+ "IceGladius",
+ "WoodenStaff",
+ "CrimsonBra",
+ "TurquoiseBra",
+ "OrchidBra",
+ "GoldenWarlordPlate",
+ "WarlordPlate",
+ "ValentineDress",
+ "ApprenticeRobe",
+ "BromenalChest",
+ "TerraniteChestArmor",
+ "BlackWizardRobe",
+ "GoldenPlatemail",
+ "ScarabArmlet",
+ "TamOShanter",
+ rand(2200, 2209), // wizard hat
+ "Sunglasses",
+ "HighPriestCrown",
+ "TerraniteHead",
+ "HeartGlasses",
+ "PilotHat",
+ "GuyFawkesMask",
+ "TopHat",
+ "GroovyHat",
+ "DesertHelmet",
+ "BromenalHelmet",
+ "SkullMask",
+ rand(2230, 2239), // bowler hat brown
+ "Earmuffs",
+ "SmokingPipe",
+ "JesterMask",
+ "SnowGoggles",
+ "JazzyHat",
+ "ElfNightcap",
+ "EskimoHat",
+ "Eyepatch",
+ "FaceMask",
+ "FunkyHat",
+ "GoblinMask",
+ "Goggles",
+ "PanHat",
+ "PaladinsHelmet",
+ "OverlordsHelmet",
+ "PaperBag",
+ rand(2190, 2199), // rabbit ears
+ "WitchDoctorsMask",
+ "WitchHat",
+ "MoubooHead",
+ "Crown",
+ "ChristmasTreeHat",
+ "ChristmasElfHat",
+ "NutcrackerHat",
+ "OperaMask",
+ rand(2270, 2274), // blinking evil
+ "PointyWitchHat",
+ "PinkieHelmet",
+ "Monocle",
+ "MonsterSkullHelmet",
+ "MoonshroomHat",
+ "CarbonGasMask",
+ "Rednose",
+ "ChicSantaHat",
+ "ChefHat",
+ "Cap",
+ "SantaBeardHat",
+ "ScentedCandleHelmet",
+ "LeatherGoggles",
+ "BunnyEars",
+ "BunchOfParsley",
+ "TerraniteLegs",
+ "BromenalLegs",
+ rand(4008, 4013), // rings
+ "Grimoire";
+
+ set .@get$, .@rare_items$[rand(getarraysize(.@rare_items$))];
+ set .@get, 0 + .@get$; // implicit conversion
+
+ if (.@get > 0)
+ getitem .@get, 1;
+ elif (.@get$ != "")
+ getitem .@get$, 1;
+ else
+ goto L_Return;
+
+ // unfortunately getitemlink doesn't support IDs
+ if (.@get > 0)
+ set .@link$, "@@" + .@get + "|@@";
+ else
+ set .@link$, getitemlink(.@get$);
+
+ announce strcharinfo(0) + " obtained a rare drop: " +.@link$, 0;
+ goto L_Return;
+
+L_Return:
+ return;
+}