diff options
author | Jesusaves <cpntb1@ymail.com> | 2020-05-22 15:24:58 -0300 |
---|---|---|
committer | Jesusaves <cpntb1@ymail.com> | 2020-05-22 15:24:58 -0300 |
commit | 5498c1442a31d4b7102991dd4e38a979eb61f169 (patch) | |
tree | 18201a5a7048282858f916037283c75ef751be77 /npc/functions | |
parent | 60b83a9e162a51f51152f2618ee1b7e7e2c29229 (diff) | |
download | serverdata-5498c1442a31d4b7102991dd4e38a979eb61f169.tar.gz serverdata-5498c1442a31d4b7102991dd4e38a979eb61f169.tar.bz2 serverdata-5498c1442a31d4b7102991dd4e38a979eb61f169.tar.xz serverdata-5498c1442a31d4b7102991dd4e38a979eb61f169.zip |
I'm disatisfied with this draft
Diffstat (limited to 'npc/functions')
-rw-r--r-- | npc/functions/aurora.txt | 124 |
1 files changed, 117 insertions, 7 deletions
diff --git a/npc/functions/aurora.txt b/npc/functions/aurora.txt index 47df65945..88027889d 100644 --- a/npc/functions/aurora.txt +++ b/npc/functions/aurora.txt @@ -133,6 +133,99 @@ function script FYNewEvent { +// Returns an item: (type, lv) +// types: misc, bp, warp, pot, heal, ore, magic, gift +// maxlv: 3 5 2 3 - 6 - 5 +function script FYT { + .@t=getarg(0); + .@l=getarg(1, 0); + switch (.@t) { + case FY_MISC: + switch (.@l) { + case 1: + return any(SmokeGrenade, ScentedGrenade, Grenade, Lockpicks); + case 2: + return any(MysteriousBottle, TreasureMap); + case 3: + return any(ArcmageBoxset, MercBoxA); + } + break; + case FY_BP: + switch (.@l) { + case 1: + return any(EquipmentBlueprintA, AlchemyBlueprintA); + case 2: + return any(EquipmentBlueprintB, AlchemyBlueprintB); + case 3: + return any(EquipmentBlueprintC, AlchemyBlueprintC); + case 4: + return any(EquipmentBlueprintD, AlchemyBlueprintD); + case 5: + return any(EquipmentBlueprintE, AlchemyBlueprintE); + } + break; + case FY_WARP: + switch (.@l) { + case 1: + return any(TulimWarpCrystal, CandorWarpCrystal, HurnsWarpCrystal, LoFWarpCrystal); + case 2: + return any(HalinWarpCrystal, NivalWarpCrystal, FrostiaWarpCrystal); + } + break; + case FY_POT: + switch (.@l) { + case 1: + return any(LukPotionA, DexPotionA, IntPotionA, VitPotionA, AgiPotionA, HastePotion, StrengthPotion); + case 2: + return any(LukPotionB, DexPotionB, IntPotionB, VitPotionB, AgiPotionB, MoveSpeedPotion, PrecisionPotion, DodgePotion); + case 3: + return any(SacredImmortalityPotion, SacredLifePotion, SacredManaPotion); + } + break; + case FY_ORE: + switch (.@l) { + case 1: + return any(CopperIngot, IronIngot); + case 2: + return any(SilverIngot, GoldIngot); + case 3: + return any(TinIngot, LeadIngot); + case 4: + return any(TitaniumIngot, TerraniteIngot); + case 5: + return any(IridiumIngot, PlatinumIngot); + case 6: + return any(Diamond, Ruby, Emerald, Sapphire, Topaz, Amethyst); + } + break; + case FY_GIFT: + switch (.@l) { + case 1: + return BronzeGift; + case 2: + return SilverGift; + case 3: + return GoldenGift; + case 4: + return PrismGift; + case 5: + return SupremeGift; + } + break; + // Single cases doesn't needs break + case FY_HEAL: + return any(SpearmintTea, Coffee, ClothoLiquor); + case FY_MAGIC: + return any(FluoPowder, Quill, ScholarshipBadge);; + } + + return Exception("Invalid cast to FYEIT: "+.@t+" (Lv "+.@l+")", RB_IRCBROADCAST|RB_DEBUGMES|RB_GLOBALANNOUNCE, Bread); +} + + + + + // Modify Kamelot function script FYE_Kamelot { .@g=getcharid(2); @@ -201,9 +294,25 @@ function script FYEConf_Regnum { // Configure World Expo function script FYEConf_Expo { $WORLDEXPO_ENEMY$=any("Xakabael the Dark", "Isbamuth", "Saulc", "SUSAN", "Terogan"); - setarray $FYREWARD_PT, 100, 200; - setarray $FYREWARD_ID, Bread, Bread; - setarray $FYREWARD_AM, 1, 2; + setarray $FYREWARD_PT, 100, 220, 440, 880, 1760, + 3520, 7040, 10560, 14080, 21120, + 28160, 42240, 56320, 84480, 112640, + 168960, 225280; + + // FYEIT: misc, bp, warp, pot, heal, ore, magic, gift + // maxlv: 3 5 2 3 - 6 - 5 + .@b=FY_BP; .@g=FY_GIFT; .@h=FY_HEAL; .@m=FY_MISC; .@mg=FY_MAGIC; + .@o=FY_ORE; .@p=FY_POT; .@w=FY_WARP; + + // Misc: AncientBlueprint, StrangeCoin + setarray $FYREWARD_ID, FYT(.@g, 1), StrangeCoin, FYT(.@m, 1), FYT(.@b, 1), FYT(.@p, 1), + FYT(.@h, 1), FYT(.@o, 1), FYT(.@g, 2), FYT(.@w, 1), FYT(.@b, 2), + FYT(.@m, 2), FYT(.@p, 2), FYT(.@o, 2), FYT(.@b, 3), FYT(.@mg, 1), + FYT(.@o, 3), FYT(.@o, 4); + setarray $FYREWARD_AM, 1, 20, 1, 1, any(1,2), + rand2(1,3), 1, 1, 1, 1, + 1, any(1,2), 1, 1, 1, + 1, 1; $FYLOGIN_PTS=rand2(18,22); return; } @@ -212,9 +321,10 @@ function script FYEConf_Expo { // Modify Treasure Chests function script FYE_Expo { // TODO: Merit-based random formula - getitem EventTreasure1, rand2(6); - getitem EventTreasure2, rand2(4); - getitem EventTreasure3, rand2(2); + getitem EventTreasure1, 1+rand2(15); // 15 + getitem EventTreasure2, rand2(6); // 15 + getitem EventTreasure3, rand2(4); // 15 + // Total: (15+15+15)=1~45 points [AVG: 22 pts] return; } @@ -236,7 +346,7 @@ function script FYEConf_Fishing { // Modify Fishing function script FYE_Fishing { // TODO: Merit-based random formula - getitem EventFish, 1; + getitem EventFish, rand2(1, 6); return; } |