summaryrefslogtreecommitdiff
path: root/npc/functions
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2020-05-22 15:24:58 -0300
committerJesusaves <cpntb1@ymail.com>2020-05-22 15:24:58 -0300
commit5498c1442a31d4b7102991dd4e38a979eb61f169 (patch)
tree18201a5a7048282858f916037283c75ef751be77 /npc/functions
parent60b83a9e162a51f51152f2618ee1b7e7e2c29229 (diff)
downloadserverdata-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.txt124
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;
}