diff options
Diffstat (limited to 'world/map/npc/functions/rares.txt')
-rw-r--r-- | world/map/npc/functions/rares.txt | 115 |
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; +} |